Я хочу эмулировать архитектуру ARM в qemu. Я следовал инструкциям в этом уроке . Сначала я собрал ядро linux -5.5.17. Единственной разницей между мной и этим учебником была переменная CROSS_COMPILE. У меня была армия - linux - изгои. Все пошло так же, как этот учебник до сборки файловой системы. Я использовал build root -2020.02.1 для сборки rootfs. Я выполнил команду make qemu_vexpress_defconfig
. Затем я выполнил make menuconfig
, чтобы установить пароль root, выбрать файловую систему ext4 root и установить метод сжатия "xz". Я успешно скомпилировал этот rootfs. И я настраиваю NFS, следуя инструкциям выше. Но когда я выполнил команду
qemu-system-arm -M vexpress-a15 \
-net tap -net nic -m 512 -kernel /home/myuser/linux-5.5.17/arch/arm/boot/zImage \
-dtb /home/myuser/linux-5.5.17/arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dtb \
-append "console=tty1 root=/dev/nfs rw nfsroot=192.168.0.1:/home/myuser/armsystem/outfs ip=192.168.0.2:192.168.0.1:192.168.0.1:255.255.255.0:qemu:eth0"
Наконец-то я получил результат . Я не знаю, есть ли какие-то ошибки при создании rootfs или настройке сети. Я искал другое руководство по монтированию root-файлов NFS, но оно не работает для меня. Интересно, как мне успешно смонтировать rootfs для эмуляции архитектуры ARM в qemu.