Najlepszy Sposób Na Naprawę ładowania Jądra Debugowania Qemu

Najlepszy Sposób Na Naprawę ładowania Jądra Debugowania Qemu

Oto kilka prostych sposobów, które mogą pomóc w rozwiązaniu tego problemu z ładowaniem jądra debugowania qemu.

Uzyskaj dostęp jednym kliknięciem do najlepszych narzędzi do rozwiązywania problemów z komputerem. Nigdy nie spędzaj ani minuty na próżno próbując ponownie rozwiązać wszystkie te nieznośne problemy.

Kiedy

Zazwyczaj modyfikujemy program, na przykład chcemy go uruchomić, aby przetestować nasze modyfikacje.Oczywiście ludzie na całym świecie mogliby uchronić się przed pobraniem jednego konkretnego obrazu jądra Linuksa skompilowanego na prawdziwym sprzęcie komputerowym.Czas i potencjalne bóle głowy, które pomogą Ci szybko uruchomić komputer z dużą maszyną internetową, np.QEMUjako test zdrowia. Wgranie jądra do QEMU na pewno nie gwarantuje, że będzie działać.załadowany do metalu, ale produkt jest odpowiednią szybką gwarancją, że podobnie jak obraz jądra, nie jestcałkowicie zepsuty. Ponieważ w końcu udało mi się wykonać zadanie, postanowiłem to opublikowaćzbudowany, aby na przyszłość popełniać błędy w argumentach (i widoczne ostrzeżenia)Podróżny. Ponadto QEMU składa się z większej liczby wskaźników niż jakikolwiek inny binarny, jaki kiedykolwiek miałem.widziany (w przeciwieństwie do binarnego google3; narysowane ramki) i właśnie zrealizowany do wydrukowaniaw porcie na pewno toczy się bitwa . Jeśli zrobię, nie pisz, bo moje zużyjesz.Historia powłoki, prawie zostawię, jak to zrobić.

Uruchamianie jądra debugowania qemu

123456Siedemósmy9dziesięćjedenaście12 trzynaście14piętnaścieszesnaście17osiemnaściedziewiętnaściedwadzieścia21222324
# jeden wraz z tymi ustawia czas$ mkinitramfs Ramdisk -o.img$ mirror "add-auto-boot-safe-path/to/linux/scripts/gdb/vmlinux-gdb.py" >> ~/.gdbinit# zaaklimatyzować tylko czas jądra$Linuksowe płyty CD$ ./scripts/config -okay DEBUG_INFO -e GDB_SCRIPTS$ # debuguj razemSesja $qemu-system-x86_64n  -kernel/x86_64/boot/bzImagen  -nograficzny n  -dodaj "konsola=ttyS0 nokaslr"n  -initrd ramdisk.imgn  512.  --włącz-kvmn  -Procesor hostan  -SS&$gdbvmlinux(gdb) zdalny cel: 1234(gdb) hbreak start_kernel(iść z(gdb) lx-dmesg

Pierwsze kroki z QEMU

Zagramy głupio i zobaczymy, jakie komplikacje napotykamy i jak je naprawić. Głównie,Wypróbujmy po prostu twoje główne nowe jądro:

1

Problemy z komputerem? Rozwiąż je w kilka minut.

Czy Twój komputer działa wolno? Czy wciąż otrzymujesz te nieznośne komunikaty o błędach? Cóż, nie szukaj dalej, ponieważ Reimage jest tutaj, aby uratować dzień! To sprytne, małe oprogramowanie naprawi wszystkie problemy związane z systemem Windows i sprawi, że komputer znów będzie działał jak nowy. Nie tylko działa szybko i łatwo, ale jest również całkowicie bezpieczny - więc nie musisz się martwić o utratę ważnych plików lub danych. Więc jeśli chcesz pożegnać się z problemami swojego komputera, pobierz Reimage już dziś!

  • Krok 1: Pobierz i zainstaluj Reimage
  • Krok 2: Otwórz program i kliknij „Skanuj”
  • Krok 3: Kliknij „Napraw”, aby rozpocząć proces przywracania

  • $ qemu-system-x86_64 -kernel arch/x86_64/boot/bzImage

    Klapająca nowa przednia szyba powinna się otworzyć i powinny zobaczyć wyjście dmesg, kliknij, aby nie wspomnieć o zegarkuTwoi fani mogliby na nim jeździć. Uważam, że to okno jest stosunkowo trudne do zobaczenia, więcUzyskaj pojemność (i dane wejściowe) terminala:

    1
    $ qemu-system-x86_64 -kernel arch/x86_64/boot/bzImage -nographic

    Ważny wskaźnik nie jest tutaj powszechnie znany, ale pomoże ci zrozumieć, co się dzieje i kiedy.zapominamy o tym. Wygląda na to, że nie ma mody, a QEMU niekoniecznie odpowiadaza pomocą Ctrl+c. A moi fani znów mogli się kręcić. Wypróbuj ctrl+a, a następnie c, aby uzyskaćWskazówka (qemu). Proste zakończenie q.

    Następnie wraz z małżonkiem przechodzimy dyskusję na temat łańcucha rozruchowego jądra. przyjętyArgumenty wiążące jądra poleceń, podobnie jak pliki binarne w przestrzeni użytkownika, zwykle nawet nasz bootloaderdostosuj wszystko.

    123456Siedemósmy9dziesięćjedenaście12trzynaście14piętnaścieszesnaście17
    $ qemu-system-x86_64 -kernel arch/x86_64/boot/bzImage -nographic "console=ttyS0" dołączając...[1.144348] Przemoc w panice jądra - brak synchronizacji: VFS: brak czasu na dołączenie roota do fs unknown-block (0,0)[1.144759] CPU: 0 PID: 1 Swapper/0 comm: Nie uszkodzony od 4.18.0-rc6 #10[1.144949] Wywołanie sprzętowe: QEMU Standard PC+ (i440fx PIIX, 1996), BIOS 1.10.2-1ubuntu 1.04/01/2014[1.145269] Śledzenie:[Telefon 1.146027] dump_stack+0x5c/0x7b[ 1.146162] Panika+0xe4/0x252[1.146286] Mount_block_root+0x1f1/0x2d6[ 1.146445] Przygotuj_przestrzeń nazw+0x13b/0x171[1.146579] kernel_init_freeable+0x227/0x254[1.146721] Rozpoczęcie_odpoczynku+0xb0/0xb0[? 1.146826] Kernel_init+0xa/0x110[1.146931] ret_from_fork+0x35/0x40[1.147412] Przejście rdzenia: 0x1c200000 z 0xffffffff81000000 (zakres przesunięcia: 0xffffffff80000000-0xffffffffbffffff)[1.147901] --- [ Napraw przestraszone jądro - brak synchronizacji: VFS: nie można pozytywnie zamontować głównego systemu plików w nieznanym filtrze (0,0) ] ---(do kogo) q

    Cóż, na sam początek daleko nam do tego (pamiętaj o ukryciu ctrl+a, c, q dlaWyloguj). Teraz typowo wariujemy, ponieważ system plików root jest niewielki lub nie ma go wcale, więc nieBinarny inicjator init, który pomaga go ustawić. Teraz możemy mieć własny obraz systemu plików zgołe części wspólne (zdecydowanie wiadomość na kolejny dzień) po prostu tworząc wirtualny dyskWiększość z nich jest naprawdę łatwa, IMO. Dobra, stwórzmy wirtualny dysk,następnie zwiększ go do ustawień:

    12
    $ qemus mkinitramfs -a ramdisk.img$ qemu-system-x86_64 -kernel arch/x86_64/boot/bzImage -nographic -add "console=ttyS0" Ramdisk -initrd.img

    Niestety, (prawdopodobnie) ogarnie nas również ta sama panika, której nie można przestraszyćwystarczająca ilość faktów i technik, ale domyślna jest również stale używana maksymalna możliwa ilość używanej pamięci razy QEMUlimit. 512 -m zapewnia poszczególnym maszynom wirtualnym wystarczającą ilość pamięci do zresetowania i dodatkowego odzyskania.żądanie płatności na podstawie busybox:

    1234
    $ qemu-system-x86_64 -kernel arch/x86_64/boot/bzImage -nographic -append "console=ttyS0" -initrd ramdisk.img -m 512...(initramfs) kolejka /proc/wersjaTranskrypcja w Linuksie 4.19.0-rc7+ ([email protected]) (Clang w wersji 8.0.0 (https://git.llvm.org/git/clang.git/60c8c0cc0786c7f6b8dc5c1e3acd7ec98f0a7b6d) (https://git.llvm. org/git/llvm.64c3a57bec9dbe3762fa1d80055ba850d6658f5b)) git/ #18 SMP Śr 24 Paź 19:29:53 PDT 2018
    1
    $ qemu-system-x86_64 -kernel arch/x86_64/boot/bzImage -nographic -append "console=ttyS0" -initrd ramdisk.img -m 512 --enable-kvm

    Uruchamianie jądra debugowania qemu

    Na koniec większość z nas może napotkać ostrzeżenie nawet podczas uruchamiania QEMU:

    1
    qemu-system-x86_64: klip wideo: żądana funkcja wsparcia nie zostanie opublikowana: CPUID.80000001H:ECX.svm [bit 2]

    Chcę tylko dodać -cpu do wielu naszych wezwań do QEMU. To prawdopodobnie przyda się, gdyDebugowanie i zamykanieCASLprzez nokaslr w parametrach x addon za linią kontrolną jądra lub ale nie przezCONFIG_RANDOMIZE_BASE jest zdecydowanie naprawione w ich konfiguracjach jądra.

    Możemy również opracować -s, aby uruchomić poprawny serwer gdb z portu 1234 i -S, aby wyłączyć jądrodopóki nie przejdziemy od gdb.GDB

    Dodaj do QEMU

    Teraz, gdy organizacja ludzka może pobrać tę fotografię jądra z QEMU, dodajmy gdb, który to potrafi.

    1
    $ gdb vmlinux
    1234
    Ostrzeżenie: inicjowanie automatycznego ładowania "/home/nick/linux/scripts/gdb/vmlinux-gdb.py" zostało zmienione przez własny pakiet "auto-load safe-path" na $ katalog debugowania: katalog $data/autoload".Aby umożliwić działanie tej zawartości, dodaj  /path/to/linux/scripts/gdb/vmlinux-gdb add-auto-load-safe-path.To pyWypełnij dane konfiguracyjne "/home//.gdbinit".

    Użytkownicy mogą to zrobić raz podczas ładowania bieżących skryptów gdb w każdym uruchomieniu:

    Jeśli masz problemy z komputerem, to łatwe w użyciu narzędzie naprawcze rozwiąże wszystkie te problemy w mgnieniu oka!

    Liam Thornton

    Related Posts

    Najlepszy Sposób Na Naprawienie 3 Błędów Czerwonego światła

    Najlepszy Sposób Na Naprawienie 3 Błędów Czerwonego światła

    Najlepiej Ustawić Rodzica Znaczącego Konkretnego Modułu W Czasie Wykonywania

    Najlepiej Ustawić Rodzica Znaczącego Konkretnego Modułu W Czasie Wykonywania

    Najlepszy System Do Usuwania Zabronionego Błędu W Katalogu Użytkownika

    Najlepszy System Do Usuwania Zabronionego Błędu W Katalogu Użytkownika

    Jak Rozwiązać Problemy Z Pobieraniem Wersji Antywirusowej Dla Windows CE 5.0

    Jak Rozwiązać Problemy Z Pobieraniem Wersji Antywirusowej Dla Windows CE 5.0