# 2019q1 Homework4 (smallsys) contributed by < `njjack` > clone 工具 [buildroot](https://github.com/buildroot/buildroot.git) ``` $ git clone https://github.com/buildroot/buildroot.git ``` 依作業要求調整 kernel, gdb 相關的設定 ``` $ make menuconfig ``` Target options ---> Target Architecture 選擇 AArch64 (little endian) kernel ---> Kernel version 選擇 latest version 5.0 Toolchain ---> Kernel Headers 選擇 Linux 5.0.x kernel headers Toolchain 選擇 Build cross gdb for the host 調整後編譯 ``` $ make ``` 參考 `buildroot/board/qemu/aarch64-virt` 中 `readme.txt` ,執行下列命令啟動 qemu-system-aarch64 ``` $ qemu-system-aarch64 -M virt -cpu cortex-a53 -nographic -smp 1 -kernel output/images/Image -append "root=/dev/vda console=ttyAMA0" -netdev user,id=eth0 -device virtio-net-device,netdev=eth0 -drive file=output/images/rootfs.ext4,if=none,format=raw,id=hd0 -device virtio-blk-device,drive=hd0 ``` 執行前先安裝 `qemu-system-arm` ``` $ qemu-system-aarch64 程式 'qemu-system-aarch64' 目前尚未安裝。 您可以由輸入以下內容安裝: sudo apt install qemu-system-arm ``` 實際執行卻卡住如下圖,無法正常啟動 ![](https://i.imgur.com/4vPrPjX.png) 參考 [Running Linux in QEMU’s aarch64 system emulation mode](https://www.bennee.com/~alex/blog/2014/05/09/running-linux-in-qemus-aarch64-system-emulation-mode/) ,某些情況下需手動安裝 qemu 。不知道實際問題出在哪,決定先試試換個方法安裝 qemu ``` $ wget https://download.qemu.org/qemu-2.12.0.tar.xz $ tar xvJf qemu-2.12.0.tar.xz $ cd qemu-2.12.0 $ ./configure --target-list=aarch64-softmmu ``` ``` $ ./aarch64-softmmu/qemu-system-aarch64 -M virt -cpu cortex-a53 -nographic -smp 1 -kernel ../buildroot/output/images/Image -append "root=/dev/vda console=ttyAMA0" -netdev user,id=eth0 -device virtio-net-device,netdev=eth0 -drive file=../buildroot/output/images/rootfs.ext4,if=none,format=raw,id=hd0 -device virtio-blk-device,drive=hd0 ``` 終於可以順利啟動 ![](https://i.imgur.com/minO94b.png)