Sklonowałem repo jądra Linuksa na moim hostowanym urządzeniu (hostem jest Ubuntu 16.04). Dwa tygodnie temu mogłem uruchomić nowe jądro (było wtedy 4.11.rc06), potem zrobiłem git pull i zrekompilowałem wszystko i po prostu wisi po "ładowaniu początkowego obrazu ramdysku ...".jak debugować ładowanie jądra i ładowanie wewnętrzne w wirtualnej skrzynce
Więc próbowałem git clean -xfd
następnie make localmoduleconfig
sekretarki domyślnych za wszystko, a następnie make
następnie make modules_install
następnie mkinitcpio -p linux.4.11.custom
i oczywiście sudo cp -v arch/x86_64/boot/bzImage /boot/vmlinuz-linux.4.11.custom
.
Po sprawdzeniu, czy rzeczywiście się zawiesił, spróbowałem więcej git pulls, more cleans, ale nic się nie zmieniło.
Uruchamianie tego samego jądra z tego samego źródła na prawdziwym komputerze. Nie mogłem znaleźć nagranego błędu w wirtualnej skrzynce lub znaleźć aktualizacji dla ubuntu.
Następnie próbowałem go samemu debugować, dodając do komendy GRUB-a: debug earlyprintk=vga,keep
i nawet usuwając linię initrd dodającą noinitrd do jądra, ale nie otrzymuję błędu. Tylko ekran z wiadomościami typu "echo", które pozostają na zawsze.
- Jak mogę to debugować?
- Czy ktoś ma pojęcie, co można zrobić?
Chyba ludzie dostają błąd przez tytule. Zamiast narzekać ("Virtualbox nie działa") zadaj pytanie w tytule ("jak debugować sekwencję startową jądra Linux?") I dopracuj w treści pytania. –
n.m. propozycja zaakceptowana. – codeScriber
Czy widzisz komunikaty jądra/init przekazywane przez system uart (lub cokolwiek innego, co używasz jako domyślnej konsoli)? –