# Grub na dysku twardym USB

## happ

Czy ktoś z was instalował GRUB-a na dysku twardym na USB ? Oczywiście GRUB-a w wersji 0.97 i nie wiem czy ta wersja GRUB-a obsługuje system plików ext4 ? Bo na wiki pisze, że niby obsługuje, a grub ten system plików rozpoznaje u mnie jako "ext2fs" a typ partycji "0x83"

Kupiłem sobie dysk twardy na USB Seagate GoFlex i na tym dysku stawiam gentoo i mam następujący problem, instaluję sobie gentoo z linux puppy. Dysk USB na puppy linux jest widziany jako

```
 /dev/sdb 
```

jako, że mam laptopa i mogę sobie przy starcie kompa wcisnąć F12 i wybrać bootowanie z dysku USB - co działa dobrze, to podczas ładowania jądra mam błąd "kernel panic" (błędu na chwilę obecną nie przytoczę, bo nie pamiętam, ale krzyczy coś o "init" że nie może znaleźć inita)

w necie doszukałem się, że może to być przyczyną błędnego wpisu dla GRUB-a w pliku "menu.1st" - no ok, ale zmieniałem ustawienia w tym pliku i nadal mam kernel panic 

mój plik "menu.1st"

```
 

title GENTOO!

root (hd0,0)

kernel /boot/bzImage root=/dev/sda1

boot

```

plik "fstab"

```

/dev/sda1             /                         ext4      defaults                  0   1

/dev/sda2             /usr/portage/distfiles    ext4      auto,rw,user              0   0

/dev/sda6             none                      swap      sw,pri=3                  0   0

/dev/cdrom            /mnt/cdrom                iso9660   noauto,ro                 0   0

```

Pomoże ktoś ?

----------

## SlashBeast

Skoro masz kernel panic to znaczy, ze kernel sie laduej - to juz dobrze.

Byc moze sterownik USB nie znalazl jeszcze dysku gdy kernel chce zrobic switch_root albo w ogole nie masz usb-storage czy driverow usb w kernelu.

Pobierz better-initramfs, moze byc obraz juz zbudowany i dodaj go. tam zamiast kernel panic dostaniesz shella gdzie bedziesz mogl sprawdzic np. czy jest /dev/sda1, jezeli jest, to czy mozesz to zamontowac. bedziesz mogl tez dodac parametr rootdelay=5 ktory poczeka 5s zanim zamontuje to, co podajesz jako rootfs.

Dodatkowo w przypadku dyskow usb warto uzywac UUID albo LABEEL do wskazania rootfs, ale do tego potrzebujesz juz initramfs (jakies tam wsparcie dla partuuid jest w kernelu ale nie dziala dokladnie tak jak powinno.)

----------

## happ

a jak mogę pobrać te UUID lub LABEEL ? Bo często na stronach widziałem coś takiego w poszukiwaniu mojego problemu

----------

## SlashBeast

Mozesz odpalic z roota `blkid`, LABEL sam ustalasz, badz sprawdzic /dev/disk/by-uuid i by-label.

----------

## lazy_bum

 *SlashBeast wrote:*   

> Pobierz better-initramfs, moze byc obraz juz zbudowany i dodaj go. tam zamiast kernel panic dostaniesz shella gdzie bedziesz mogl sprawdzic np. czy jest /dev/sda1, jezeli jest, to czy mozesz to zamontowac. bedziesz mogl tez dodac parametr rootdelay=5 ktory poczeka 5s zanim zamontuje to, co podajesz jako rootfs.

 

rootdelay to parametr kernela i initramfs (nawet better) nie ma tu nic do rzeczy. Jeżeli wszystko jest ustawione dobrze, to pewnie to jest problemem. Mam taki przenośny dysk z Gentoo i zależnie od sprzętu rootdelay musiałem skalować od 3-4 sekund do 9 — dla uniwersalności po prostu wbiłem 10 i działa na wszystkim.

 *SlashBeast wrote:*   

> Dodatkowo w przypadku dyskow usb warto uzywac UUID albo LABEEL do wskazania rootfs, ale do tego potrzebujesz juz initramfs (jakies tam wsparcie dla partuuid jest w kernelu ale nie dziala dokladnie tak jak powinno.)

 

Mnie tam PARTUUID działa bez większych problemów bez initramfs (chociaż możliwe, że nie sprawdza się przy pewnych konfiguracjach).

----------

## soban_

Swojego czasu z podobnym problemem się borykałem, może to ułatwi sprawę:

http://www.gentoo-wiki.info/Portable_USB_Gentoo

http://wiki.gentoo.org/wiki/Install_Gentoo_on_a_bootable_USB_stick

----------

