Következő lépés a rendszer átmásolása. Megpróbáltam lemenni systemd-vel runlevel1-be, nem sikerült, mert a root account tiltva van (sima user+sudo felállást választottam root jelszó nélkül). Ismert hiba: https://github.com/systemd/systemd/issues/7115. 2 hónapja ülnek rajta. Tehát ha egyszer majd recovery shellre lesz szükségem, az se fog menni, előtte a root accountot aktiválni kell. (Sokat olvastam már a systemd-ről, de eddig nem kellett vele foglalkoznom. Pont ilyen első találkozásra számítottam.)
No semmi baj, root account matatása helyett inkább átmásolok mindent a full rendszerről. Elvileg úgyse fut semmi, aminek ez gondot okozna. Az rsync-nek csillió paramétere van, sajnos olyan shortcut pont nincs, hogy mindent, de tényleg mindent vigyen át egy az egyben, ezért ez lett az eredmény: rsync -axHAWXS --numeric-ids --info=progress2 / /mnt. Csak pár GB-s alaprendszer van, megvolt pár perc alatt.
Átlépünk az új rendszerbe:
# mount --rbind /dev /mnt/dev
# mount --rbind /proc /mnt/proc
# mount --rbind /sys /mnt/sys
# chroot /mnt /bin/bash --login
Szintén a fenti leírás szerint összerakjuk az EFI partíciót:
# mkdosfs -F 32 -n EFI /dev/disk/by-id/ata-INTEL_SSDSC2KG240G7_BTYM72910E4J240AGN-part1
# mkdir /boot/efi
# echo PARTUUID=$(blkid -s PARTUUID -o value \
/dev/disk/by-id/scsi-SATA_disk1-part3) \
/boot/efi vfat defaults 0 1 >> /etc/fstab
# mount /boot/efi
Ráadásként az /etc/fstab-ból kivettem a régi / bejegyzést, azt már a ZFS fogja kezelni. grub-pc helyett fel kell tenni grub-efi csomagot, sima ügy. Aztán jöhet az update-initramfs, update-grub, grub-install. Nem ment simán.
Több leírás azt mondta, hogy grub-install /dev/sda. De ez nem ment, és persze hülyeség. Ez MBR boothoz való. UEFI rendszereken is működik hibrid GPT/MBR felállás mellett, ha a GRUB kap egy GPT partíciót, ami az MBR és az első igazi fájlrendszer között van, hogy odategye a core.img-t. Én ilyen partíciót direkt nem csináltam, mert csúnya. A helyes parancs:
# grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=debian --recheck --no-floppy
A Microserver gen10 kétféleképpen tud bootolni: legacy only, vagy UEFI only. Előbbi nem tud GPT-ről bootolni, utóbbi nem tud MBR-ről. Én természetesen MBR-ről voltam bootolva, pont arról szeretnék átállni. A következő gond az volt, hogy így a GRUB nem látta az EFI változókat és azt írta, hogy nem tudja magát regisztrálni. A megoldás egy GPT-ről bootolt live rendszer lett volna, de szerencsére nem kellett, mert teljesen simán ment minden a hiba ellenére is. A HP UEFI boot menüje simán látta a debiant.
Következő gond: fekete képernyő fogad az initrdben. Azt írja, hogy az "rpool/" dataset nem felcsatolható, mert fölösleges / van a végén. Először az jutott eszembe, hogy elfelejtettem a bootfs propertyt beállítani. A busyboxban szerencsére volt zfs parancs, de nem oldotta meg. Ezután kézzel szerkesztettem a grub.cfg-t, és hurrá, tudok bootolni. Jelentettem a hibát: https://savannah.gnu.org/bugs/?52746
Mivel most már UEFI alól bootoltam, lefuttattam újra az update-initramfs, update-grub, grub-install parancsokat, a grub.cfg-t megint kézzel kellett javítani, és immár lefutott hiba nélkül minden. Átállítottam a boot sorrendet, kivettem a pendrive-ot, reboot, és gyönyörűen elindul az új rendszer.
- joco01 blogja
- A hozzászóláshoz be kell jelentkezni
- 757 megtekintés
Hozzászólások
sub
- A hozzászóláshoz be kell jelentkezni