Re: Uruchomienie z dysku NVMe - ktoś potrafi?

Jacek Osiecki josiecki w silvercube.pl
Śro, 9 Maj 2018, 13:46:51 CEST


Wiadomość napisana przez lord_Niedzwiedz <sir_Misiek w o2.pl> w dniu 09.05.2018, o godz. 13:21:
>> zaraz mnie coś trafi.
>> Kupiłem w OVH serwer z dyskami NVMe i wygląda na to, że mam spory problem :(
>> 
>> Oczywiście / na /dev/md0, bo nie po to mam dwa dyski żeby pad jednego wszystko popsuł.
>> 
>> Zawsze używałem lilo - niestety nic z tego:
[…]

>> Polecany grub2 - chyba też nie bardzo. Ogólnie go nie lubię, ale tutaj w ogóle wyczynia jakieś dzikie harce:
[…]

>> Znalazłem coś takiego: https://rlaanemets.com/post/show/computer-upgrade <https://rlaanemets.com/post/show/computer-upgrade>
>> 
>> i tam gość używa extlinux i wszystko mu elegancko działa.
>> Niestety. U mnie też nic, na OVHowym IPMI oglądam konsolę i jest tylko info że z dysku nie można się było zbootować…
>> 
>> Możecie coś zasugerować?
> Wiem, że nie wypada.
> Ale spróbuj zainstalować fetorę i zobacz jak to jest tam zrobione.

Jednak udało mi się znaleźć dobre rozwiązanie :)
Jeśli chodzi o LILO - nie ma takiej możliwości by zadziałało, bo ono nie zaakceptuje urządzenia o major = 259 (jakie ma nvme).
Z tym syslinuxem - po prostu nie działało, mimo że gość twierdził (i nie tylko on) że poszło jak ta lala.

Podejrzewałem że problem tkwi w obsłudze UEFI zamiast bootowania Legacy… i dokładnie tak było.
Przez IPMI wlazłem do biosu maszyny i boot był UEFI only.
I gdy już zamierzałem zmienić bootowanie na legacy, to mnie tknęło by jednak spróbować zrobić koszerne bootowanie UEFI.

Skupiłem się więc na GRUB - i na jego komunikacie o braku partycji UEFI.

Okazało się, że jest dobra metoda :)

1. Odpalić parted, a w nim
    - stworzyć tablicę partycji GPT (mklabel gpt)
    - stworzyć partycję EFI (mkpart ESP fat32 1MiB 551MiB)
    - ustawić jej odpowiednie flagi (set 1 boot on, set 1 esp on)
    - zrobić pozostałe partycje jak kto lubi.
2. Na systemie zrobić następujący konfig dla GRUBa:

menuentry "PLD/Linux" --id pldlinux {
	set root=(hd0,gpt2)
	linux /boot/bzImage-3.18.44-vs2.3.7.5 root=/dev/md0
}

3. Stworzyć filesystem fat32 na partycji/partycjach EFI (mam 2 dyski, więc na obu stworzyłem bo po to są ;)
4. Dla obu dysków:
    - podmontować partycję EFI do /boot/efi/EFI
    - odpalić grub-install z opcjami
    co wyglądało mniej więcej tak:

[root w romeo ~]# mount /dev/nvme0n1p1 /boot/efi/EFI/
[root w romeo ~]# grub-install --target=x86_64-efi --efi-directory=/boot/efi/EFI --bootloader-id=GRUB /dev/nvme0n1
Instalowanie dla platformy x86_64-efi.
Instalacja zakończona. Nie zgłoszono błędów.
[root w romeo ~]# umount  /boot/efi/EFI/
[root w romeo ~]# mount /dev/nvme1n1p1 /boot/efi/EFI/
[root w romeo ~]# grub-install --target=x86_64-efi --efi-directory=/boot/efi/EFI --bootloader-id=GRUB /dev/nvme1n1
Instalowanie dla platformy x86_64-efi.
Instalacja zakończona. Nie zgłoszono błędów.
[root w romeo ~]# umount  /boot/efi/EFI/

I gotowe, banglajet :)

Pozdrawiam,
— 
Jacek



> A może to co pisze poniżej ?
> "WARNING: SATA partition in the high region (>15):
> LILO needs the kernel in one of the first 15 SATA partitions"
> 
> Też mam ostatnio problemy z pld i bootem na połowie serwerów.



Więcej informacji o liście pld-users-pl