Portál AbcLinuxu, 2. května 2025 07:19
U notebooku HP ProBook 4530s jsem bojoval s bootovaním Arch Linuxu z paměťové karty (z interní čtečky). A dobojoval jsem skoro úspěšně.
Zásadní chybou byl můj mylný předpoklad, že interní čtečka karet v tomto notebooku je připojena přes interní USB. Omyl! Využívá PCI a hlásí se jako (lspci):
24:00.0 System peripheral: JMicron Technology Corp. SD/MMC Host Controller (rev 30) 24:00.2 SD Host controller: JMicron Technology Corp. Standard SD Host Controller (rev 30)
Pomocí rsync
jsem překopíroval Arch Linux z interního pevného disku na SD kartu. Samozřejmě jsem musel upravit /etc/fstab
:
/dev/disk/by-label/livearch / ext2 noatime 0 1 tmpfs /tmp tmpfs nodev,nosuid 0 0
Protože je čtečka připojena přes PCI, tak nestačilo přidat hook usb do "initramfs-linux.img" (dále image). Musel jsem prozkoumat, které jaderné moduly (ovladače) se týkají této čtečky. Po prozkoumání jsem do image přidal tyto moduly: MODULES="mmc_block jmb38x_ms sdhci_pci sdhci mmc_core memstick"
(takto přesně to mám v /etc/mkinitcpio.conf
).
Připravil jsem dále půdu pro chroot
(připojení (mount) virtuálních systémů souborů proc, sysfs, dev) a potom v chroot prostředí vytvořil image pomocí mkinitcpio -g /boot/initramfs-linux.img -k /boot/vmlinuz-linux
a nainstaloval grub2 do MBR SD karty. Vytvořil jsem i minimální /boot/grub/grub.cfg
("livearch" je "label" kořenového systému souborů -- na SD kartě):
set default=0 menuentry "Arch Linux z SD karty" { search.fs_label livearch LIVEARCH linux (${LIVEARCH})/boot/vmlinuz-linux root=/dev/disk/by-label/livearch ro initrd (${LIVEARCH})/boot/initramfs-linux.img }
Nepodařilo se mi přimět notebook načíst grub2 z SD karty. Proto jsem přišel na jiné řešení. Pomocí příkazu grub2 (nainstalovaném na interním pevném disku notebooku) configfile
jsem načetl konfigurační soubor grub2 z SD karty a jede to! Bez přidání příslušných modulů jádra do image (viz výše) to ale nešlo ani takto!
Tiskni
Sdílej:
Nemáš zač. Pokud ti aspoň trochu tento zápisek pomůže, tak splnil účel.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.