Skip to content

Instantly share code, notes, and snippets.

@skinny
Created January 13, 2022 11:00
Show Gist options
  • Save skinny/f230105f7a467589d9cf7ef86cd0653e to your computer and use it in GitHub Desktop.
Save skinny/f230105f7a467589d9cf7ef86cd0653e to your computer and use it in GitHub Desktop.
Good day everyone! I have started my buildroot adventure last week to see if I can build a custom OS for our board. However to first learn the basics I'm working with QEMU and the PC configs that are included in the default buildroot repository.
I use WSL2 to build the images and what I see is the following (all steps are performed on a clean working space):
- make qemu_x86_64_defconfig; make; ./start-qemu works OK (boots to login prompt)
- make qemu_x86_defconfig; make; ./start-qemu works OK (boots to login prompt)
- make pc_x86_64_efi_defconfig: make;
Then I try to start that last disk.img with the following (googled) command :
sudo qemu-system-x86_64 \
-M pc \
-bios /usr/share/OVMF/OVMF_CODE.fd \
-drive file=output/images/disk.img,if=virtio,format=raw \
-net nic,model=virtio \
-net user \
-serial stdio
The GRUB menu appears, but only after I append `console=ttyS0` to the kernel line the boot process is visible (to be expected I guess).
However the boot process hangs on :
Waiting for root device PARTUUID=bb0b725e-6c22-4822-a33b-926f699d97a2...
tsc: Refined TSC clocksource calibration: 3695.972 MHz
clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x6a8cf366090, max_idle_ns: 881591049070 ns
clocksource: Switched to clocksource tsc
Does anyone have a pointer on how to troubleshoot this ?
@skinny
Copy link
Author

skinny commented Jan 13, 2022

qemu-system-x86_64 -M pc -bios /usr/share/OVMF/OVMF_CODE.fd -drive file=output/images/disk.img,if=virtio,format=raw -net nic,model=virtio -net user -serial stdio
BdsDxe: failed to load Boot0001 "UEFI QEMU DVD-ROM QM00003 " from PciRoot(0x0)/Pci(0x1,0x1)/Ata(Secondary,Master,0x0): Not Found
BdsDxe: loading Boot0002 "UEFI Misc Device" from PciRoot(0x0)/Pci(0x4,0x0)
BdsDxe: starting Boot0002 "UEFI Misc Device" from PciRoot(0x0)/Pci(0x4,0x0)
Welcome to GRUB!

                         GNU GRUB  version 2.04

����������������������������������������������������������������������������Ŀ
�*Buildroot2 �
� �
� �
� �
� �
� �
� �
� �
� �
� �
� �
� �
� �
������������������������������������������������������������������������������

  Use the ^ and v keys to select which entry is highlighted.
  Press enter to boot the selected OS, `e' to edit the commands
  before booting or `c' for a command-line.

                         GNU GRUB  version 2.04

����������������������������������������������������������������������������Ŀ
�setparams 'Buildroot2' �
� �
� linux /bzImage root=PARTUUID=bb0b725e-6c22-4822-a33b-926f699d97a2 rootwait\�
� console=tty1 console=ttyS0 �
� �
� �
� �
� �
� �
� �
� �
� �
� �
������������������������������������������������������������������������������

  Minimum Emacs-like screen editing is supported. TAB lists
  completions. Press Ctrl-x or F10 to boot, Ctrl-c or F2 for a
  command-line or ESC to discard edits and return to the GRUB menu.

Booting a command list

Linux version 5.15.0 (root@Morphie) (x86_64-buildroot-linux-uclibc-gcc.br_real (Buildroot 2021.11-dirty) 10.3.0, GNU ld (GNU Binutils) 2.36.1) #1 SMP Thu Jan 13 10:53:16 CET 2022
Command line: BOOT_IMAGE=/bzImage root=PARTUUID=bb0b725e-6c22-4822-a33b-926f699d97a2 rootwait console=tty1 console=ttyS0
x86/fpu: x87 FPU will use FXSAVE
signal: max sigframe size: 1040
BIOS-provided physical RAM map:
BIOS-e820: [mem 0x0000000000000000-0x000000000009ffff] usable
BIOS-e820: [mem 0x0000000000100000-0x00000000007fffff] usable
BIOS-e820: [mem 0x0000000000800000-0x0000000000807fff] ACPI NVS
BIOS-e820: [mem 0x0000000000808000-0x000000000080ffff] usable
BIOS-e820: [mem 0x0000000000810000-0x00000000008fffff] ACPI NVS
BIOS-e820: [mem 0x0000000000900000-0x00000000068dbfff] usable
BIOS-e820: [mem 0x00000000068dc000-0x00000000068e7fff] ACPI NVS
BIOS-e820: [mem 0x00000000068e8000-0x00000000068fdfff] reserved
BIOS-e820: [mem 0x00000000068fe000-0x00000000069edfff] usable
BIOS-e820: [mem 0x00000000069ee000-0x0000000006ab1fff] reserved
BIOS-e820: [mem 0x0000000006ab2000-0x0000000006b1afff] type 20
BIOS-e820: [mem 0x0000000006b1b000-0x0000000007b9afff] usable
BIOS-e820: [mem 0x0000000007b9b000-0x0000000007bcafff] type 20
BIOS-e820: [mem 0x0000000007bcb000-0x0000000007bf2fff] reserved
BIOS-e820: [mem 0x0000000007bf3000-0x0000000007bfafff] ACPI data
BIOS-e820: [mem 0x0000000007bfb000-0x0000000007bfefff] ACPI NVS
BIOS-e820: [mem 0x0000000007bff000-0x0000000007f57fff] usable
BIOS-e820: [mem 0x0000000007f58000-0x0000000007f77fff] reserved
BIOS-e820: [mem 0x0000000007f78000-0x0000000007ffffff] ACPI NVS
NX (Execute Disable) protection: active
efi: EFI v2.70 by EDK II
efi: SMBIOS=0x7bce000 ACPI=0x7bfa000 ACPI 2.0=0x7bfa014 MEMATTR=0x6814018
SMBIOS 2.8 present.
DMI: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 0.0.0 02/06/2015
tsc: Fast TSC calibration using PIT
tsc: Detected 3695.981 MHz processor
last_pfn = 0x7f58 max_arch_pfn = 0x400000000
x86/PAT: Configuration [0-7]: WB WC UC- UC WB WP UC- WT
Secure boot could not be determined
ACPI: Early table checksum verification disabled
ACPI: RSDP 0x0000000007BFA014 000024 (v02 BOCHS )
ACPI: XSDT 0x0000000007BF90E8 000044 (v01 BOCHS BXPCFACP 00000001 01000013)
ACPI: FACP 0x0000000007BF6000 000074 (v01 BOCHS BXPCFACP 00000001 BXPC 00000001)
ACPI: DSDT 0x0000000007BF7000 00140B (v01 BOCHS BXPCDSDT 00000001 BXPC 00000001)
ACPI: FACS 0x0000000007BFD000 000040
ACPI: APIC 0x0000000007BF5000 000078 (v01 BOCHS BXPCAPIC 00000001 BXPC 00000001)
ACPI: HPET 0x0000000007BF4000 000038 (v01 BOCHS BXPCHPET 00000001 BXPC 00000001)
ACPI: BGRT 0x0000000007BF3000 000038 (v01 INTEL EDK2 00000002 01000013)
ACPI: Reserving FACP table memory at [mem 0x7bf6000-0x7bf6073]
ACPI: Reserving DSDT table memory at [mem 0x7bf7000-0x7bf840a]
ACPI: Reserving FACS table memory at [mem 0x7bfd000-0x7bfd03f]
ACPI: Reserving APIC table memory at [mem 0x7bf5000-0x7bf5077]
ACPI: Reserving HPET table memory at [mem 0x7bf4000-0x7bf4037]
ACPI: Reserving BGRT table memory at [mem 0x7bf3000-0x7bf3037]
Zone ranges:
DMA [mem 0x0000000000001000-0x0000000000ffffff]
DMA32 [mem 0x0000000001000000-0x0000000007f57fff]
Normal empty
Movable zone start for each node
Early memory node ranges
node 0: [mem 0x0000000000001000-0x000000000009ffff]
node 0: [mem 0x0000000000100000-0x00000000007fffff]
node 0: [mem 0x0000000000808000-0x000000000080ffff]
node 0: [mem 0x0000000000900000-0x00000000068dbfff]
node 0: [mem 0x00000000068fe000-0x00000000069edfff]
node 0: [mem 0x0000000006b1b000-0x0000000007b9afff]
node 0: [mem 0x0000000007bff000-0x0000000007f57fff]
Initmem setup node 0 [mem 0x0000000000001000-0x0000000007f57fff]
On node 0, zone DMA: 1 pages in unavailable ranges
On node 0, zone DMA: 96 pages in unavailable ranges
On node 0, zone DMA: 8 pages in unavailable ranges
On node 0, zone DMA: 240 pages in unavailable ranges
On node 0, zone DMA32: 34 pages in unavailable ranges
On node 0, zone DMA32: 301 pages in unavailable ranges
On node 0, zone DMA32: 100 pages in unavailable ranges
On node 0, zone DMA32: 168 pages in unavailable ranges
ACPI: PM-Timer IO Port: 0xb008
ACPI: LAPIC_NMI (acpi_id[0xff] dfl dfl lint[0x1])
IOAPIC[0]: apic_id 0, version 32, address 0xfec00000, GSI 0-23
ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
ACPI: INT_SRC_OVR (bus 0 bus_irq 5 global_irq 5 high level)
ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
ACPI: INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 high level)
ACPI: INT_SRC_OVR (bus 0 bus_irq 11 global_irq 11 high level)
ACPI: Using ACPI (MADT) for SMP configuration information
ACPI: HPET id: 0x8086a201 base: 0xfed00000
smpboot: Allowing 1 CPUs, 0 hotplug CPUs
[mem 0x08000000-0xffffffff] available for PCI devices
Booting paravirtualized kernel on bare hardware
clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645519600211568 ns
setup_percpu: NR_CPUS:64 nr_cpumask_bits:64 nr_cpu_ids:1 nr_node_ids:1
percpu: Embedded 38 pages/cpu s117784 r8192 d29672 u2097152
Built 1 zonelists, mobility grouping on. Total pages: 29364
Kernel command line: BOOT_IMAGE=/bzImage root=PARTUUID=bb0b725e-6c22-4822-a33b-926f699d97a2 rootwait console=tty1 console=ttyS0
Unknown command line parameters: BOOT_IMAGE=/bzImage
Dentry cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
Inode-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
mem auto-init: stack:off, heap alloc:off, heap free:off
Memory: 72404K/127280K available (8195K kernel code, 805K rwdata, 1564K rodata, 916K init, 2284K bss, 54616K reserved, 0K cma-reserved)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
rcu: Hierarchical RCU implementation.
rcu: RCU restricting CPUs from NR_CPUS=64 to nr_cpu_ids=1.
rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
NR_IRQS: 4352, nr_irqs: 48, preallocated irqs: 16
Console: colour dummy device 80x25
printk: console [tty1] enabled
printk: console [ttyS0] enabled
ACPI: Core revision 20210730
clocksource: hpet: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604467 ns
APIC: Switch to symmetric I/O mode setup
..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
clocksource: tsc-early: mask: 0xffffffffffffffff max_cycles: 0x6a8d0141dd1, max_idle_ns: 881590616571 ns
Calibrating delay loop (skipped), value calculated using timer frequency.. 7391.96 BogoMIPS (lpj=14783924)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512 (order: 0, 4096 bytes, linear)
Mountpoint-cache hash table entries: 512 (order: 0, 4096 bytes, linear)
Last level iTLB entries: 4KB 0, 2MB 0, 4MB 0
Last level dTLB entries: 4KB 0, 2MB 0, 4MB 0, 1GB 0
Spectre V1 : Mitigation: usercopy/swapgs barriers and __user pointer sanitization
Spectre V2 : Mitigation: Full AMD retpoline
Spectre V2 : Spectre v2 / SpectreRSB mitigation: Filling RSB on context switch
Speculative Store Bypass: Vulnerable
Freeing SMP alternatives memory: 24K
smpboot: CPU0: AMD QEMU Virtual CPU version 2.5+ (family: 0x6, model: 0x6, stepping: 0x3)
Performance Events: PMU not available due to virtualization, using software events only.
rcu: Hierarchical SRCU implementation.
smp: Bringing up secondary CPUs ...
smp: Brought up 1 node, 1 CPU
smpboot: Max logical packages: 1
smpboot: Total of 1 processors activated (7391.96 BogoMIPS)
devtmpfs: initialized
random: get_random_u32 called from bucket_table_alloc.isra.0+0x75/0x160 with crng_init=0
ACPI: PM: Registering ACPI NVS region [mem 0x00800000-0x00807fff] (32768 bytes)
ACPI: PM: Registering ACPI NVS region [mem 0x00810000-0x008fffff] (983040 bytes)
ACPI: PM: Registering ACPI NVS region [mem 0x068dc000-0x068e7fff] (49152 bytes)
ACPI: PM: Registering ACPI NVS region [mem 0x07bfb000-0x07bfefff] (16384 bytes)
ACPI: PM: Registering ACPI NVS region [mem 0x07f78000-0x07ffffff] (557056 bytes)
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
futex hash table entries: 256 (order: 2, 16384 bytes, linear)
NET: Registered PF_NETLINK/PF_ROUTE protocol family
thermal_sys: Registered thermal governor 'step_wise'
thermal_sys: Registered thermal governor 'user_space'
cpuidle: using governor ladder
ACPI: Added _OSI(Module Device)
ACPI: Added _OSI(Processor Device)
ACPI: Added _OSI(3.0 _SCP Extensions)
ACPI: Added _OSI(Processor Aggregator Device)
ACPI: Added _OSI(Linux-Dell-Video)
ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio)
ACPI: Added _OSI(Linux-HPI-Hybrid-Graphics)
ACPI Error: AE_BAD_PARAMETER, During Region initialization (20210730/tbxfload-52)
ACPI: Unable to load the System Description Tables
ACPI Error: Could not remove SCI handler (20210730/evmisc-251)
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
pps_core: LinuxPPS API ver. 1 registered
pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti giometti@linux.it
PTP clock support registered
Registered efivars operations
Advanced Linux Sound Architecture Driver Initialized.
clocksource: Switched to clocksource tsc-early
pnp: PnP ACPI: disabled
clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns
NET: Registered PF_INET protocol family
IP idents hash table entries: 2048 (order: 2, 16384 bytes, linear)
tcp_listen_portaddr_hash hash table entries: 256 (order: 0, 4096 bytes, linear)
TCP established hash table entries: 1024 (order: 1, 8192 bytes, linear)
TCP bind hash table entries: 1024 (order: 2, 16384 bytes, linear)
TCP: Hash tables configured (established 1024 bind 1024)
UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
NET: Registered PF_UNIX/PF_LOCAL protocol family
platform rtc_cmos: registered platform RTC device (no PNP device found)
Initialise system trusted keyrings
workingset: timestamp_bits=62 max_order=15 bucket_order=0
squashfs: version 4.0 (2009/01/31) Phillip Lougher
fuse: init (API version 7.34)
Key type asymmetric registered
Asymmetric key parser 'x509' registered
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
io scheduler mq-deadline registered
io scheduler kyber registered
Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
serial8250: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
usbcore: registered new interface driver usb-storage
i8042: PNP: No PS/2 controller found.
i8042: Probing ports directly.
serio: i8042 KBD port at 0x60,0x64 irq 1
serio: i8042 AUX port at 0x60,0x64 irq 12
fail to initialize ptp_kvm
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
NET: Registered PF_INET6 protocol family
input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0
Segment Routing with IPv6
In-situ OAM (IOAM) with IPv6
sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
NET: Registered PF_PACKET protocol family
IPI shorthand broadcast: enabled
sched_clock: Marking stable (537305979, 76268578)->(615958825, -2384268)
Loading compiled-in X.509 certificates
ALSA device list:
No soundcards found.
input: ImExPS/2 Generic Explorer Mouse as /devices/platform/i8042/serio1/input/input2
Waiting for root device PARTUUID=bb0b725e-6c22-4822-a33b-926f699d97a2...
tsc: Refined TSC clocksource calibration: 3695.972 MHz
clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x6a8cf366090, max_idle_ns: 881591049070 ns
clocksource: Switched to clocksource tsc`

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment