clone 下來, 選 qemu 的 defconfig 後就 make,然後 kernel, dtb ,rootfs 都build 好,
接下來用 qemu 來 run 就可以。
以 qemu 來 run..
make qemu_arm_vexpress_defconfig make qemu-system-arm -M vexpress-a9 -smp 4 -m 1024M -kernel output/images/zImage -append "root=/dev/mmcblk0 console=ttyAMA0 loglevel=8" -dtb output/images/vexpress-v2p-ca9.dtb -sd output/images/rootfs.ext2 -nographic就可以用 root 登入。
ref:编译运行Linux内核,制作initramfs,并通过qemu+gdb调试
用 qemu 跟 gdb 來 debug kernel:
build kernel and root (initrd):
download kernel source.
make menuconfig (不用改,只是要產生 .config)
make
build tools and shell:
download busybox
make menuconfig ( Build Option -- build static library)
make
sudo make install
create root structure:
.. 先跳過..
ref:深入理解 Linux 2.6 的 initramfs 機制 (上)
kernel 用上面的沒關係,記得 menuconfig 要改好。
做好 hello-initramfs 目錄。
build 好 kernel 的 bzImage
用下面command run..
qemu-system-x86_64 -s -kernel linux-4.9.263/arch/x86_64/boot/bzImage --append "console=ttyS0" -nographic
沒有留言:
張貼留言