Timeline
Timeline
2025-06-23
init
2025-11-05
busybox build error in archlinux
This article describes the complete process of compiling and running a minimal Linux system in a WSL2 environment, including BusyBox compilation and patch handling, kernel compilation configuration, and steps to boot the system via QEMU. It details common errors and solutions when compiling BusyBox on Arch Linux or with a newer version of GCC, such as make menuconfig failure and tc compilation errors, and provides methods for creating system files like inittab, rcS, and fstab, as well as adding device files and library files. Additionally, it introduces how to use Emacs with clangd and dts-lsp to read Linux source code and device trees. Finally, the article presents the QEMU run results and how to exit.
Environment
win11 WSL2:

BusyBox Compilation
12345 | wget https://www.busybox.net/downloads/busybox-1.37.0.tar.bz2bzip2 -d busybox-1.37.0.tar.bz2tar xvf busybox-1.37.0.tarcd busybox-1.37.0 |
Patch
This version has some issues when compiling for aarch64 directly, so a patch is needed:
1 | emacs libbb-sha-add-missing-shaNI-guard.patch |
Reference:
The patch is as follows
123456789101112131415161718192021 | --- libbb/hash_md5_sha.c | 2 ++ 1 file changed, 2 insertions(+)diff --git a/libbb/hash_md5_sha.c b/libbb/hash_md5_sha.cindex 57a801459..75a61c32c 100644--- a/libbb/hash_md5_sha.c+++ b/libbb/hash_md5_sha.c unsigned FAST_FUNC sha1_end(sha1_ctx_t *ctx, void *resbuf) hash_size = 8; if (ctx->process_block == sha1_process_block64 #if ENABLE_SHA1_HWACCEL+# if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) || ctx->process_block == sha1_process_block64_shaNI+# endif #endif ) { hash_size = 5;--2.25.1 |
Enter the BusyBox source directory and run:
1 | patch -p1 < libbb-sha-add-missing-shaNI-guard.patch |
Compilation
12345678 | make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- distcleanmake ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- defconfigmake ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- menuconfig# Settings# --- Build Option# [*] Build static binary (no shared libs)make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j$(nproc)make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- install |
make menuconfig Failure
For the make menuconfig step, if compiling on Arch Linux or using a newer version of GCC, you may get an error:
12345678910 | [zhaohang@cyberboy busybox-1.37.0]$ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- menuconfig ***Unable to find the ncurses libraries or the*** required header files. ***'make menuconfig' requires the ncurses libraries.*** ***Install ncurses (ncurses-devel) and try again.***make[2]: ***[/home/zhaohang/repository/linux/busybox-1.37.0/scripts/kconfig/lxdialog/Makefile:15: scripts/kconfig/lxdialog/dochecklxdialog] Error 1make[1]:*** [/home/zhaohang/repository/linux/busybox-1.37.0/scripts/kconfig/Makefile:14: menuconfig] Error 2make: *** [Makefile:444: menuconfig] Error 2 |
It will still report an error even if ncurses is installed.
1 | sudo pacman -S ncurses |
Reference solution:
The discussion above says that newer versions of GCC have a breaking change: the main function must have a return type.
123 | emacs scripts/kconfig/lxdialog/check-lxdialog.sh# Change main() {} on line 50 to# int main() {return 0;} |
tc build error
If using a newer Linux kernel, you need to disable tc; see
Disable it in make menuconfig
12 | Networking Utilities ---> [ ] TC # Disable |
Create inittab, rcS, and fstab files
12345678910111213 | cd _installmkdir -p dev etc home lib/modules lib64 mnt proc root sys tmp vartouch etc/inittabmkdir -p etc/init.d/touch etc/init.d/rcStouch etc/fstabchmod 755 etc/inittabchmod 755 etc/init.d/rcS |
inittab syntax:
1 | <id>:<runlevels>:<action>:<process> |
- id: The unique identifier for this entry in inittab, usually corresponding to the terminal device name.
- runlevels: Ignored
- action: When to execute; options include sysinit, respawn, askfirst, wait, once, restart, ctrlaltdel, and shutdown
- process: The application or script
etc/inittabWrite the following content:
1234 | ::sysinit:/etc/init.d/rcS::respawn:-/bin/sh::askfirst:-/bin/sh::ctrlaltdel:/bin/umount -a -r |
etc/init.d/rcSWrite the following content:
12345678 | /bin/mount -amkdir -p /dev/ptsmount -t devpts devpts /dev/ptsmount -t configfs none /sys/kernel/configif [ -e /proc/sys/kernel/hotplug ]; then echo /sbin/mdev > /proc/sys/kernel/hotplugfimdev -s |
etc/fstabWrite the following content:
123456 | #device mount-point type option dump fsckproc /proc proc defaults 0 0tmpfs /tmp tmpfs defaults 0 0none /tmp ramfs defaults 0 0sysfs /sys sysfs defaults 0 0mdev /dev ramfs defaults 0 0 |
Add device file
123 | cd devsudo mknod console c 5 1sudo mknod null c 1 3 |
Add library file
This step is optional
1234 | cd _installcp /usr/aarch64-linux-gnu/lib/ld-linux-aarch64.so.1 lib/cp /usr/aarch64-linux-gnu/lib/libc.so.6 lib/cp /usr/aarch64-linux-gnu/lib/libm.so.6 lib/ |
Package
123 | cd busybox-1.37.0/_installfind . | cpio -o -H newc | gzip -c > ../initramfs.cpio.gzcp ../initramfs.cpio.gz ~/tftp |
Linux kernel compilation
123456789101112131415 | sudo apt-get install gcc-aarch64-linux-gnusudo apt install libssl-devwget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.10.238.tar.xztar xvf linux-5.10.238.tar.xzcd linux-5.10.238make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- cleanmake ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- defconfigmake ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- menuconfig# This step is needed for developing kernel modules, and is optionalmake ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- modules_preparemake ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- Image -j$(nproc)cp arch/arm64/boot/Image ~/tftp |
Emacs + clangd for reading Linux source code
Add .clangd in the Linux source root directory
123 | CompileFlags: Add: -Wno-unknown-warning-option Remove: [-m*, -f*] |
Generate compile_command.json (requires python3)
1 | ./scripts/clang-tools/gen_compile_commands.py |
Emacs configuration reference
Emacs + dts-lsp for reading device tree
Usesdts-lsp:
1 | $ npm i -g devicetree-language-server |
Create in the kernel root directory.dir-locals.el, as follows
12345678910111213 | ((dts-mode . ((eglot-workspace-configuration . ((devicetree (cwd . "/home/zhaohang/repository/linux/rk3568_linux_5.10/kernel") (defaultIncludePaths . ["include"]) (defaultBindingType . "DevicetreeOrg") (defaultDeviceOrgBindingsMetaSchema . ["/home/zhaohang/repository/dt-schema/dtschema/meta-schemas"]) (defaultDeviceOrgTreeBindings . [ ;; "/home/zhaohang/repository/dt-schema/dtschema/schemas" "/home/zhaohang/repository/linux/rk3568_linux_5.10/kernel/Documentation/devicetree/bindings" ]) (defaultShowFormattingErrorAsDiagnostics . :json-false) )))))) |
wheredt-schemaFrom:
The eglot configuration in Emacs is as follows:
1234567891011121314151617181920212223242526272829303132333435363738394041 | (use-package dts-mode :ensure t :defer t );; lsp语言服务器配置(use-package eglot :ensure t :defer 1 :config (setq eglot-server-programs '(((c-mode-hook c++-mode-hook c++-ts-mode c-ts-mode) . ("clangd" "--enable-config" "--background-index" ;; "--background-index-priority=low" "--clang-tidy" "--completion-style=detailed" "--header-insertion=never" "--pretty" )) ((dts-mode) . ("devicetree-language-server" "--stdio")) ((rust-mode rust-ts-mode) . ("rust-analyzer" :initializationOptions (:cargo (:buildScripts (:enable t)) :procMacro (:enable t)))) ((python-mode python-ts-mode) . ("pyright-langserver" "--stdio")) )) ;; 关闭lsp自动格式化 (setq eglot-ignored-server-capabilities '(:documentOnTypeFormattingProvider)) );;自动打开eglot(dolist (hook '(c-mode-hook c-ts-mode-hook c++-mode-hook c++-ts-mode-hook dts-mode-hook rust-mode-hook rust-ts-mode-hook python-mode-hook python-ts-mode-hook )) (add-hook hook 'eglot-ensure)) |
QEMU run
12345678910 | qemu-system-aarch64 \ -cpu cortex-a57 \ -m 512M \ -machine type=virt \ -nographic \ -smp 2 \ -kernel ~/tftp/Image \ -initrd ~/tftp/initramfs.cpio.gz \ -append "rdinit=/linuxrc console=ttyAMA0" \ -device virtio-scsi-device |
Result:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252 | zhaohang@ZhaoHang:~/kernel/my_arm64_programming$ qemu-system-aarch64 \ -cpu cortex-a57 \ -m 512M \ -machine type=virt \ -nographic \ -smp 2 \ -kernel ~/tftp/Image \ -initrd ~/tftp/initramfs.cpio.gz \ -append "rdinit=/linuxrc console=ttyAMA0" \ -device virtio-scsi-device[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x411fd070][ 0.000000] Linux version 5.10.238 (zhaohang@ZhaoHang) (aarch64-linux-gnu-gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #2 SMP PREEMPT Mon Jun 23 13:01:18 CST 2025[ 0.000000] random: crng init done[ 0.000000] Machine model: linux,dummy-virt[ 0.000000] efi: UEFI not found.[ 0.000000] NUMA: No NUMA configuration found[ 0.000000] NUMA: Faking a node at [mem 0x0000000040000000-0x000000005fffffff][ 0.000000] NUMA: NODE_DATA [mem 0x5fef4b00-0x5fef6fff][ 0.000000] Zone ranges:[ 0.000000] DMA [mem 0x0000000040000000-0x000000005fffffff][ 0.000000] DMA32 empty[ 0.000000] Normal empty[ 0.000000] Movable zone start for each node[ 0.000000] Early memory node ranges[ 0.000000] node 0: [mem 0x0000000040000000-0x000000005fffffff][ 0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x000000005fffffff][ 0.000000] cma: Reserved 32 MiB at 0x000000005c000000[ 0.000000] psci: probing for conduit method from DT.[ 0.000000] psci: PSCIv1.1 detected in firmware.[ 0.000000] psci: Using standard PSCI v0.2 function IDs[ 0.000000] psci: Trusted OS migration not required[ 0.000000] psci: SMC Calling Convention v1.0[ 0.000000] percpu: Embedded 23 pages/cpu s56664 r8192 d29352 u94208[ 0.000000] Detected PIPT I-cache on CPU0[ 0.000000] CPU features: detected: ARM erratum 832075[ 0.000000] CPU features: detected: ARM erratum 834220[ 0.000000] CPU features: detected: EL2 vector hardening[ 0.000000] CPU features: kernel page table isolation forced ON by KASLR[ 0.000000] CPU features: detected: Kernel page table isolation (KPTI)[ 0.000000] CPU features: detected: Spectre-v2[ 0.000000] CPU features: detected: Spectre-v4[ 0.000000] CPU features: detected: ARM errata 1165522, 1319367, or 1530923[ 0.000000] CPU features: detected: Spectre-BHB[ 0.000000] CPU features: detected: ARM erratum 1742098[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 129024[ 0.000000] Policy zone: DMA[ 0.000000] Kernel command line: rdinit=/linuxrc console=ttyAMA0[ 0.000000] Dentry cache hash table entries: 65536 (order: 7, 524288 bytes, linear)[ 0.000000] Inode-cache hash table entries: 32768 (order: 6, 262144 bytes, linear)[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off[ 0.000000] Memory: 439372K/524288K available (14464K kernel code, 2810K rwdata, 7632K rodata, 5952K init, 512K bss, 52148K reserved, 32768K cma-reserved)[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1[ 0.000000] rcu: Preemptible hierarchical RCU implementation.[ 0.000000] rcu: RCU event tracing is enabled.[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=2.[ 0.000000] Trampoline variant of Tasks RCU enabled.[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.[ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0[ 0.000000] GICv2m: range[mem 0x08020000-0x08020fff], SPI[80:143][ 0.000000] arch_timer: cp15 timer(s) running at 62.50MHz (virt).[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x1cd42e208c, max_idle_ns: 881590405314 ns[ 0.000135] sched_clock: 56 bits at 62MHz, resolution 16ns, wraps every 4398046511096ns[ 0.005145] Console: colour dummy device 80x25[ 0.006576] Calibrating delay loop (skipped), value calculated using timer frequency.. 125.00 BogoMIPS (lpj=250000)[ 0.006668] pid_max: default: 32768 minimum: 301[ 0.007333] LSM: Security Framework initializing[ 0.008050] Mount-cache hash table entries: 1024 (order: 1, 8192 bytes, linear)[ 0.008075] Mountpoint-cache hash table entries: 1024 (order: 1, 8192 bytes, linear)[ 0.025711] /cpus/cpu-map: empty cluster[ 0.030337] rcu: Hierarchical SRCU implementation.[ 0.032757] EFI services will not be available.[ 0.033350] smp: Bringing up secondary CPUs ...[ 0.036124] Detected PIPT I-cache on CPU1[ 0.036589] CPU1: Booted secondary processor 0x0000000001 [0x411fd070][ 0.038611] smp: Brought up 1 node, 2 CPUs[ 0.038641] SMP: Total of 2 processors activated.[ 0.038684] CPU features: detected: 32-bit EL0 Support[ 0.038732] CPU features: detected: CRC32 instructions[ 0.038761] CPU features: detected: 32-bit EL1 Support[ 0.087011] CPU: All CPU(s) started at EL1[ 0.087320] alternatives: patching kernel code[ 0.100786] devtmpfs: initialized[ 0.106839] KASLR enabled[ 0.107566] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns[ 0.107783] futex hash table entries: 512 (order: 3, 32768 bytes, linear)[ 0.110482] pinctrl core: initialized pinctrl subsystem[ 0.117149] DMI not present or invalid.[ 0.123022] NET: Registered protocol family 16[ 0.130687] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations[ 0.130888] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations[ 0.131032] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations[ 0.131170] audit: initializing netlink subsys (disabled)[ 0.132726] audit: type=2000 audit(0.124:1): state=initialized audit_enabled=0 res=1[ 0.135229] thermal_sys: Registered thermal governor 'step_wise'[ 0.135284] thermal_sys: Registered thermal governor 'power_allocator'[ 0.135718] cpuidle: using governor menu[ 0.136329] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.[ 0.136815] ASID allocator initialised with 32768 entries[ 0.139125] Serial: AMBA PL011 UART driver[ 0.165966] 9000000.pl011: ttyAMA0 at MMIO 0x9000000 (irq = 47, base_baud = 0) is a PL011 rev1[ 0.256055] printk: console [ttyAMA0] enabled[ 0.275753] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages[ 0.276425] HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages[ 0.278075] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages[ 0.279114] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages[ 0.287377] cryptd: max_cpu_qlen set to 1000[ 0.295509] ACPI: Interpreter disabled.[ 0.298412] iommu: Default domain type: Translated[ 0.299715] vgaarb: loaded[ 0.300806] SCSI subsystem initialized[ 0.302702] usbcore: registered new interface driver usbfs[ 0.303416] usbcore: registered new interface driver hub[ 0.303948] usbcore: registered new device driver usb[ 0.305361] pps_core: LinuxPPS API ver. 1 registered[ 0.305774] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>[ 0.306671] PTP clock support registered[ 0.307422] EDAC MC: Ver: 3.0.0[ 0.311302] FPGA manager framework[ 0.312553] Advanced Linux Sound Architecture Driver Initialized.[ 0.320481] clocksource: Switched to clocksource arch_sys_counter[ 0.321721] VFS: Disk quotas dquot_6.6.0[ 0.322248] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)[ 0.325830] pnp: PnP ACPI: disabled[ 0.352101] NET: Registered protocol family 2[ 0.353501] IP idents hash table entries: 8192 (order: 4, 65536 bytes, linear)[ 0.357091] tcp_listen_portaddr_hash hash table entries: 256 (order: 0, 4096 bytes, linear)[ 0.357844] TCP established hash table entries: 4096 (order: 3, 32768 bytes, linear)[ 0.358536] TCP bind hash table entries: 4096 (order: 4, 65536 bytes, linear)[ 0.359240] TCP: Hash tables configured (established 4096 bind 4096)[ 0.360804] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)[ 0.361461] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)[ 0.362658] NET: Registered protocol family 1[ 0.366482] RPC: Registered named UNIX socket transport module.[ 0.366894] RPC: Registered udp transport module.[ 0.367151] RPC: Registered tcp transport module.[ 0.367596] RPC: Registered tcp NFSv4.1 backchannel transport module.[ 0.368532] PCI: CLS 0 bytes, default 64[ 0.371336] Unpacking initramfs...[ 0.423234] Freeing initrd memory: 1156K[ 0.425734] hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 counters available[ 0.426386] kvm [1]: HYP mode not available[ 0.438866] Initialise system trusted keyrings[ 0.441323] workingset: timestamp_bits=42 max_order=17 bucket_order=0[ 0.449648] squashfs: version 4.0 (2009/01/31) Phillip Lougher[ 0.451781] NFS: Registering the id_resolver key type[ 0.452635] Key type id_resolver registered[ 0.452872] Key type id_legacy registered[ 0.453347] nfs4filelayout_init: NFSv4 File Layout Driver Registering...[ 0.453801] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...[ 0.454953] 9p: Installing v9fs 9p2000 file system support[ 0.485329] Key type asymmetric registered[ 0.486010] Asymmetric key parser 'x509' registered[ 0.486459] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)[ 0.486881] io scheduler mq-deadline registered[ 0.487275] io scheduler kyber registered[ 0.498447] pl061_gpio 9030000.pl061: PL061 GPIO chip registered[ 0.501854] pci-host-generic 4010000000.pcie: host bridge /pcie@10000000 ranges:[ 0.502917] pci-host-generic 4010000000.pcie: IO 0x003eff0000..0x003effffff -> 0x0000000000[ 0.503846] pci-host-generic 4010000000.pcie: MEM 0x0010000000..0x003efeffff -> 0x0010000000[ 0.504662] pci-host-generic 4010000000.pcie: MEM 0x8000000000..0xffffffffff -> 0x8000000000[ 0.505854] pci-host-generic 4010000000.pcie: ECAM at [mem 0x4010000000-0x401fffffff] for [bus 00-ff][ 0.507028] pci-host-generic 4010000000.pcie: PCI host bridge to bus 0000:00[ 0.507648] pci_bus 0000:00: root bus resource [bus 00-ff][ 0.508176] pci_bus 0000:00: root bus resource [io 0x0000-0xffff][ 0.509569] pci_bus 0000:00: root bus resource [mem 0x10000000-0x3efeffff][ 0.511529] pci_bus 0000:00: root bus resource [mem 0x8000000000-0xffffffffff][ 0.513307] pci 0000:00:00.0: [1b36:0008] type 00 class 0x060000[ 0.515919] pci 0000:00:01.0: [1af4:1000] type 00 class 0x020000[ 0.517340] pci 0000:00:01.0: reg 0x10: [io 0x0000-0x001f][ 0.517754] pci 0000:00:01.0: reg 0x14: [mem 0x00000000-0x00000fff][ 0.518388] pci 0000:00:01.0: reg 0x20: [mem 0x00000000-0x00003fff 64bit pref][ 0.518923] pci 0000:00:01.0: reg 0x30: [mem 0x00000000-0x0003ffff pref][ 0.521212] pci 0000:00:01.0: BAR 6: assigned [mem 0x10000000-0x1003ffff pref][ 0.522137] pci 0000:00:01.0: BAR 4: assigned [mem 0x8000000000-0x8000003fff 64bit pref][ 0.523076] pci 0000:00:01.0: BAR 1: assigned [mem 0x10040000-0x10040fff][ 0.523801] pci 0000:00:01.0: BAR 0: assigned [io 0x1000-0x101f][ 0.528448] EINJ: ACPI disabled.[ 0.542283] virtio-pci 0000:00:01.0: enabling device (0000 -> 0003)[ 0.554485] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled[ 0.558302] SuperH (H)SCI(F) driver initialized[ 0.559486] msm_serial: driver initialized[ 0.561993] cacheinfo: Unable to detect cache hierarchy for CPU 0[ 0.575536] loop: module loaded[ 0.577188] megasas: 07.714.04.00-rc1[ 0.581247] physmap-flash 0.flash: physmap platform flash device: [mem 0x00000000-0x03ffffff][ 0.583156] 0.flash: Found 2 x16 devices at 0x0 in 32-bit bank. Manufacturer ID 0x000000 Chip ID 0x000000[ 0.584568] Intel/Sharp Extended Query Table at 0x0031[ 0.585746] Using buffer write method[ 0.586466] physmap-flash 0.flash: physmap platform flash device: [mem 0x04000000-0x07ffffff][ 0.587833] 0.flash: Found 2 x16 devices at 0x0 in 32-bit bank. Manufacturer ID 0x000000 Chip ID 0x000000[ 0.589950] Intel/Sharp Extended Query Table at 0x0031[ 0.590679] Using buffer write method[ 0.591154] Concatenating MTD devices:[ 0.591566] (0): "0.flash"[ 0.591870] (1): "0.flash"[ 0.592172] into device "0.flash"[ 0.639324] tun: Universal TUN/TAP device driver, 1.6[ 0.648697] thunder_xcv, ver 1.0[ 0.649091] thunder_bgx, ver 1.0[ 0.649532] nicpf, ver 1.0[ 0.651118] hclge is initializing[ 0.651699] hns3: Hisilicon Ethernet Network Driver for Hip08 Family - version[ 0.652969] hns3: Copyright (c) 2017 Huawei Corporation.[ 0.654822] e1000: Intel(R) PRO/1000 Network Driver[ 0.655566] e1000: Copyright (c) 1999-2006 Intel Corporation.[ 0.656421] e1000e: Intel(R) PRO/1000 Network Driver[ 0.657100] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.[ 0.657828] igb: Intel(R) Gigabit Ethernet Network Driver[ 0.658543] igb: Copyright (c) 2007-2014 Intel Corporation.[ 0.659076] igbvf: Intel(R) Gigabit Virtual Function Network Driver[ 0.659905] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.[ 0.661636] sky2: driver version 1.30[ 0.663482] VFIO - User Level meta-driver version: 0.3[ 0.666363] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver[ 0.666801] ehci-pci: EHCI PCI platform driver[ 0.667200] ehci-platform: EHCI generic platform driver[ 0.667555] ehci-orion: EHCI orion driver[ 0.668162] ehci-exynos: EHCI Exynos driver[ 0.669422] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver[ 0.670008] ohci-pci: OHCI PCI platform driver[ 0.670583] ohci-platform: OHCI generic platform driver[ 0.671027] ohci-exynos: OHCI Exynos driver[ 0.672066] usbcore: registered new interface driver usb-storage[ 0.678548] rtc-pl031 9010000.pl031: registered as rtc0[ 0.679438] rtc-pl031 9010000.pl031: setting system clock to 2025-06-23T05:12:11 UTC (1750655531)[ 0.680812] i2c /dev entries driver[ 0.687138] sdhci: Secure Digital Host Controller Interface driver[ 0.687486] sdhci: Copyright(c) Pierre Ossman[ 0.688175] Synopsys Designware Multimedia Card Interface Driver[ 0.689770] sdhci-pltfm: SDHCI platform and OF driver helper[ 0.691932] ledtrig-cpu: registered to indicate activity on CPUs[ 0.694429] usbcore: registered new interface driver usbhid[ 0.694654] usbhid: USB HID core driver[ 0.700987] NET: Registered protocol family 17[ 0.702090] 9pnet: Installing 9P2000 support[ 0.702525] Key type dns_resolver registered[ 0.703492] registered taskstats version 1[ 0.703776] Loading compiled-in X.509 certificates[ 0.710892] input: gpio-keys as /devices/platform/gpio-keys/input/input0[ 0.714806] clk: Disabling unused clocks[ 0.715339] ALSA device list:[ 0.715654] No soundcards found.[ 0.718941] uart-pl011 9000000.pl011: no DMA platform data[ 0.752373] Freeing unused kernel memory: 5952K[ 0.753454] Run /linuxrc as init processPlease press Enter to activate this console.~ #~ # lsbin etc lib mnt root sys usrdev home linuxrc proc sbin tmp var |
Incommand + a, then press x You can exit qemu

