驅動程式 - Linux Device Driver (LDD) - 使用範例 - C/C++ (QEMU) - 開發環境



參考資訊:
https://cdn.kernel.org/pub/linux/kernel/
https://www.qemu.org/docs/master/system/riscv/virt.html
https://jasonblog.github.io/note/arm_emulation/compiling_linux_kernel_for_qemu_arm_emulator.html

$ cd
$ wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.0.1.tar.gz
$ tar xvf linux-6.0.1.tar.gz

$ cd linux-6.0.1
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- versatile_defconfig
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- all -j4
$ qemu-system-arm -M versatilepb -m 128M -kernel arch/arm/boot/zImage -dtb ./arch/arm/boot/dts/versatile-pb.dtb -append "root=/dev/sda rootwait"