Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Skompilowałem sobie nowe jajko ale bez tego mi na pewno nie wstanie - kernel panic :)
Jak to zrobić?
mkinitrd -o /boot/initrd.img-2.6.29-2-amd64 /lib/modules/2.6.29-2-amd64 bash: mkinitrd: command not found
Jak to zrobić inaczej?
Qrde ostatnio się w ubuntu wszystko udało:)
Już wiem ja w ogóle nie mam:
apt-get install initrd-tools
http://debian.linux.pl/viewtopic.php?t=4314&highlight=initrd
Ale teraz już masakra:
marcin:/boot# mkinitrd -o /boot/initrd.img-2.6.29-2-amd64 /lib/modules/2.6.29-2-amd64 /usr/sbin/mkinitrd: Cannot determine SCSI module
?:)
Ostatnio edytowany przez marg1 (2009-06-03 15:54:19)
Offline
Initrd generujemy poleceniem
mkinitramfs -o /boot/initrd.img-wersja_jądra /lib/modules/wersja_jądra
Oczywiściemusimy mieć pakiet
[b]initramfs-tools[/b] zainstalowany.
Offline
No właśnie się kapłem. A luknij na to
Ale teraz już masakra:
marcin:/boot# mkinitrd -o /boot/initrd.img-2.6.29-2-amd64 /lib/modules/2.6.29-2-amd64 /usr/sbin/mkinitrd: Cannot determine SCSI module
Ale jak to ma być najpierw stara potem nowa wersja, bo tego właśnie nie jarzę :)
Ostatnio edytowany przez marg1 (2009-06-03 14:17:24)
Offline
Ty generujesz initrd do swojego czy repowego?
Offline
Do swojego.
A kompilowałem go tak:
# make-kpkg clean ; make-kpkg -initrd --revision=pierwszykernel1 kernel_image kernel_headers modules_image
Ostatnio edytowany przez marg1 (2009-06-03 14:25:27)
Offline
Wydaje mi ię ze podajesz sciezki dla initrd do repowego
Offline
A jaką podać?
Tu mam swoje źródło kernela:
/usr/src/linux-2.6.29.4
a w:
/usr/src
mam zbudowane paczki image i headers. To jak to polecenie skonstruować?
To jest ścieżka z menu.lst do nowego kernela:
kernel /boot/vmlinuz-2.6.29.4 root=/dev/sda5 ro quiet
Ostatnio edytowany przez marg1 (2009-06-03 14:46:19)
Offline
mkinitramfs -o /boot/initrd.img-2.6.29.4 /lib/modules/2.6.29.4
Chyba tak.
Jeśli się wygeneruje to nie zapomnij do gruba dopisać.
Offline
Tak udało, witajcie spod autorskiego kernela 29-4 ;)
Czyli jeśłi to się komuś przyda dopisałem do boot/grub/menu.lst
initrd /boot/initrd.img-2.6.29.4
Genialnie!
Dzięki :)
Offline
Ja używam takiego polecenia
make-kpkg -revision kiko80 linux_image linux_headers --initrd
i działa.
Offline
[quote=kiko80]Ja używam takiego polecenia
make-kpkg -revision kiko80 linux_image linux_headers --initrd
i działa.[/quote]
Niekoniecznie.
Tam ostatnio coś w sidzie kernel package nie bardzo chcial robić initrd.
Druga sprawa zaś jest taka że
Kompilujemy bez initrd.
Cos jednak nie wkompilowaliśmy na sztywno i mamy kernel panic.
Dobrze wtedy umieć wygenerowac sobie initrd aby juz zrobione jajo wstało bez szukania czasami bardzo dlugiego czego nie wkompilowalismy.
Offline
Generalnie czytałem, ze przyczyną tego błedu o jaki chodzi czyli:
kernel panic unable to mount root fs
Jest niby nie wkompilowanie sterownika IDE czy SATA albo wkompilowanie go jako moduł, ale wydaje się że ten problem nie powinien wystąpić jeżeli kopiuje się poprzednią konfiguracje kernela, chyba że te konfiguracje są genetycznie złe i wymagają initrd. Taki moje zdanie, bo szczerze mówiąc, za każdym razem jak ten błąd widzę to mi się rzygać chce ;)
Offline
[quote=marg1]ale wydaje się że ten problem nie powinien wystąpić jeżeli kopiuje się poprzednią konfiguracje kernela[/quote]
Jak zakładam masz na myśli konfigurację kernela repowego.
W nim zas większosć rzeczy jest skompilowana jako moduły.
Więc bez initrd nie zadziała.
Jeśli sami robimy sobie jajko to mozemy potrzebne sterowniki do naszego sprzętu wkompilowac na stałe.
Wówczas mozemy obejść się bez initrd.
Ja tak mam :)
Offline
A ja to się boje bo ja bym najchętniej coś takiego stworzył tylko pod swój sprzet a w kernalu było dokładnie 2081 modułów:)
Najchętniej wszystko bym wyrzucil inne architektury płyty głowne itd bo przecież i tak to jądro ma dzialac tylko na moim kompie, więc na co mi jakieś sterowniki do niestworzonych rzeczy -byle zadziałal cd rom i pendrive i jakiś kolejny dysk czy aparat cyfrowy - tylko że się boje tak zrobić
poza tym, nie wiem dokładnie czego mój sprzęt wymaga bo jak raz tak zrobłem to nie wstał :)
poza tym niektorych rzeczy w configu nie da się przestawic że wkompilował w jadro i o dziwo właśnie sterowników urządzeń blokowych nie dało sie tak przestawic jak i SATA czy IDE one się domyślnie kompilowały jako moduł a nie na stałe, więc nie wiem jak by to zadziałało bez ramdisku :)
a zrobiłem to według plecenia
lspci -vmm -k
który dokładnie wskazuje moduły obsługujące urządzenia a i tak nie wstało, może to dlatego, że tak czy siak musiał być ramdisk bo jakiegoś kluczowego sterownika dla dysku nie dało się wkompilować na stałę w jądro?
eh co za filozofia :)
Ostatnio edytowany przez marg1 (2009-06-03 22:18:47)
Offline
Jakby to było takie proste to wszyscy ubunciarze by jądro kompilowali. :)
Da się na stałe te potrzebne moduły właczyć.
Niektóre sa listkami na gałezi.
Jeśli gałąź jest ustawiona jako moduł to listka na stałe nie przestawisz.
Musisz zacząć od przestawiania gałezi.
Możesz użyć
make xconfig
jest wtedy łatwiej poznajdywać interesujące nas moduły.
Offline
make xconfig wymagało [b]qt3-dev-tools-compat[/b]
następnym razem spróbuje ustawić wszystko sam.
A może jest jakieś narzędzie, które by pozwoliło uzgodnić configuraje kernela z konfiguracją sprzętową komputera? :)
Czy tylko nasz mózg pozostaje?:D
Offline
Ja nie znam zadnego narzędzia.
Pozostaje głowa i metoda prób i błedów.
Żeby make xconfig odpaliło potrzeba chyba jeszcze [b]libqt3-mt-dev[/b]
Offline
Sam sprzęt to niewielka część konfiguracji, jak łatwo zauważyć po głównym menu konfiguratora. Pozostają protokoły sieciowe, systemy plików, opcje ogólne, etc.
Offline
Ja instalowałem jeszcze [b]python-qt3[/b] ale nie wiem czy potrzebnie.
Słyszałem, że też takie odchudzanie jądra niewiele daje, bo i tak ładowane są tylko te biblioteki, które sa potrzebne?
Offline
Jeśli masz potężną maszynę to rożnica jest niewielka.
Ale zapodaj sobie wypasłe jajo ubuntu i swoje odchudzone podpicowane i porownaj.
Offline
Time (s) | Query |
---|---|
0.00011 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00099 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.222.116.93' WHERE u.id=1 |
0.00088 | UPDATE punbb_online SET logged=1731715672 WHERE ident='18.222.116.93' |
0.00046 | SELECT * FROM punbb_online WHERE logged<1731715372 |
0.00049 | SELECT topic_id FROM punbb_posts WHERE id=119891 |
0.00006 | SELECT id FROM punbb_posts WHERE topic_id=14289 ORDER BY posted |
0.00060 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=14289 AND t.moved_to IS NULL |
0.00005 | SELECT search_for, replace_with FROM punbb_censoring |
0.00104 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=14289 ORDER BY p.id LIMIT 0,25 |
0.00103 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=14289 |
Total query time: 0.00575 s |