Portál AbcLinuxu, 11. května 2025 10:36

Dotaz: Start GNU/Linuxu z externího (USB) disku

11.1.2008 14:56 Begleiter | skóre: 47 | blog: muj_blog | Doma
Start GNU/Linuxu z externího (USB) disku
Přečteno: 855×
Odpovědět | Admin

Dobrý den,

napadla mě taková věc. Budu předpokládat, že můj Bios umí bootovat z USB zařízení. Vysvětlím to příkazy:

## Budu předpokládat, že mám externí disk /dev/sdb,
# který je rozdělen na jednu primární oblast (/dev/sdb1),
# na které je systém souborů ext3
## Připojíme externí disk do /mnt/sdb1
mount -t ext3 /dev/sdb1 /mnt/sdb1
## Zkopírujeme '/' na externí pevný disk
cp --archive --verbose --one-file-system / /mnt/sdb1

Co tedy chci? Chtěl bych z toho externího pevného disku bootovat GNU/Linux. Jenže nevím, jakým obsahem bych měl naplnit hlavně sobor /mnt/sdb1/etc/fstab a hlavně nevím, jak bych měl na ten externí pevný disk nainstalovat Grub, resp. nevím, co by mělo být obsahem souboru /mnt/sdb1/boot/grub/menu.lst. Předpokládám, že bych Grub nainstaloval pomocí chroot.

Problém je totiž ten, že zařízení /dev/sdb1 by se při startu z toho externího disku prý mohlo změnit na /dev/sda1 (někde jsem to četl). A dále asi usb-storage musí být přímo v jádře, že jo?

Předem děkuju za všechny reakce.

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

11.1.2008 15:30 Jan Šimák | skóre: 37 | Hradec Králové
Rozbalit Rozbalit vše Re: Start GNU/Linuxu z externího (USB) disku
Odpovědět | | Sbalit | Link | Blokovat | Admin
Grub do MBR usb disku nainstalujete příkazem grub-install. Co se týče /boot/grub/menu.lst, pokud si v biosu explicitně nastavíte bootování z usb disku, tak pro grub bude tento usb disk identifikován jako (hd0).
11.1.2008 15:50 Begleiter | skóre: 47 | blog: muj_blog | Doma
Rozbalit Rozbalit vše Re: Start GNU/Linuxu z externího (USB) disku

Mockrát vám děkuju za odpověď. Takže můžu Grub nainstalovat třeba takhle?:

chroot /mnt/sdb1
grub-install /dev/sdb
exit

houska avatar 11.1.2008 15:51 houska | skóre: 41 | blog: HW
Rozbalit Rozbalit vše Re: Start GNU/Linuxu z externího (USB) disku
grub-install --root-directory=/mnt/sdb1 /dev/sdb
pri chrootu bys tam nemel ten /dev/ adresar
11.1.2008 15:55 Begleiter | skóre: 47 | blog: muj_blog | Doma
Rozbalit Rozbalit vše Re: Start GNU/Linuxu z externího (USB) disku

jj, děkuju. :-)

houska avatar 11.1.2008 15:50 houska | skóre: 41 | blog: HW
Rozbalit Rozbalit vše Re: Start GNU/Linuxu z externího (USB) disku
Odpovědět | | Sbalit | Link | Blokovat | Admin
Miluju svobodný software (Free Software).
... to te casem prejde, najdes si zenskou a budes jako ostatni :)
11.1.2008 15:52 Begleiter | skóre: 47 | blog: muj_blog | Doma
Rozbalit Rozbalit vše Re: Start GNU/Linuxu z externího (USB) disku

Ženskou už mám. :-)

11.1.2008 16:29 Begleiter | skóre: 47 | blog: muj_blog | Doma
Rozbalit Rozbalit vše Re: Start GNU/Linuxu z externího (USB) disku
Odpovědět | | Sbalit | Link | Blokovat | Admin

Takže obsah konfiguračního souboru /mnt/sdb1/etc/fstab by mohl být třeba takovýhle?:

/dev/sda1       /               ext3    errors=remount-ro 0       1

Vím, že jsem vynechal swap, ale myslím, že to není podstatné.

11.1.2008 18:53 Jan Šimák | skóre: 37 | Hradec Králové
Rozbalit Rozbalit vše Re: Start GNU/Linuxu z externího (USB) disku
Pouze za předpokladu, že v pc nebudete mít jiný hdd. Většinou totiž mají hdd připojené na sata/pata sběrnici "přednost" před usb sběrnicí. Představu o tom, jak budou disky značeny při současném zapojení si můžete udělat ze stávajícího systému pomocí fdisk -l
11.1.2008 20:07 Begleiter | skóre: 47 | blog: muj_blog | Doma
Rozbalit Rozbalit vše Re: Start GNU/Linuxu z externího (USB) disku

fdisk -l nic nevypsal. Zkusil jsem tedy less /proc/partitions. Což "vydalo" toto:

major minor  #blocks  name

   8     0  488386584 sda
   8     1  244139773 sda1
   8     2  234372285 sda2
   8     3    9871942 sda3
   8    16  156290904 sdb
   8    17  156288321 sdb1

Z toho usuzuju, že v fstab musí být /dev/sdb1, nikoli /dev/sda1.

11.1.2008 20:37 Begleiter | skóre: 47 | blog: muj_blog | Doma
Rozbalit Rozbalit vše Re: Start GNU/Linuxu z externího (USB) disku
Odpovědět | | Sbalit | Link | Blokovat | Admin

Našel jsem, že distribuční jádro bylo zkompilováno s CONFIG_USB_STORAGE=m.

Budu muset tedy zkompilovat vlastní jádro s CONFIG_USB_STORAGE=y?

11.1.2008 20:51 Begleiter | skóre: 47 | blog: muj_blog | Doma
Rozbalit Rozbalit vše Re: Start GNU/Linuxu z externího (USB) disku

Sám si odpovídám. Budu muset použít mkinitrd. (Jestli tohhle úspěšně vyřeším, tak dám určitě do svého blogu návod. :-) )

12.1.2008 14:37 Begleiter | skóre: 47 | blog: muj_blog | Doma
Rozbalit Rozbalit vše Re: Start GNU/Linuxu z externího (USB) disku
Odpovědět | | Sbalit | Link | Blokovat | Admin

Tak jsem zkusil nainstalovat Grub:

darkstar:~# grub-install --root-directory=/mnt/sdb1 /dev/sdb
/dev/sdb does not have any corresponding BIOS drive.

Poradí prosím někdo? :-(

12.1.2008 14:44 Begleiter | skóre: 47 | blog: muj_blog | Doma
Rozbalit Rozbalit vše Re: Start GNU/Linuxu z externího (USB) disku

grub-install --root-directory=/mnt/sdb1 --recheck /dev/sdb
Probing devices to guess BIOS drives. This may take a long time.
Installation finished. No error reported.
This is the contents of the device map /mnt/sdb1/boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install'.

(fd0)   /dev/fd0
(hd0)   /dev/sda
(hd1)   /dev/sdb

:-)

12.1.2008 16:13 Begleiter | skóre: 47 | blog: muj_blog | Doma
Rozbalit Rozbalit vše Re: Start GNU/Linuxu z externího (USB) disku
Odpovědět | | Sbalit | Link | Blokovat | Admin

Vyřešeno! :-)

Přidávám výpisy:

## /mnt/sdb1/etc/fstab:
proc            /proc           proc    defaults          0       0
/dev/sdb1       /               ext3    errors=remount-ro 0       1
#
## /mnt/sdb1/boot/grub/menu.lst
title		Debian GNU/Linux, kernel 2.6.22-3-amd64
root		(hd1,0)
kernel		/boot/vmlinuz-2.6.22-3-amd64 root=/dev/sdb1 ro quiet 
initrd		/boot/initrd.img-2.6.22-3-amd64
savedefault

title		Debian GNU/Linux, kernel 2.6.22-3-amd64 (single-user mode)
root		(hd1,0)
kernel		/boot/vmlinuz-2.6.22-3-amd64 root=/dev/sdb1 ro quiet single
initrd		/boot/initrd.img-2.6.22-3-amd64
savedefault

Zatím není vyřešeno swapování. Nejspíš budu swapovat do souboru. Protože mám hodně paměti (2 GB), tak mě swapování zatím tolik netrápí. :-)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.