龙芯qemu使用
以龙芯ls2k1000 处理器为例,用qemu启动pmon和内核
1、获取qemu
git clone https://gitee.com/martinqiao/qemu.git
然后执行:
cd qemu
mkdir build
cd build/
../configure --t arget-list=mipsel-softmmu,mips64el-softmmu --disable-werror
make
2、qemu启动pmon
./mips64el-softmmu/qemu-system-mips64el -M ls2k -m 256 -smp 1 -serial stdio -bios /home/tftpboot/gzrom.bin
3、qemu启动kernel
创建执行脚本boot.sh,内容如下:
#!/bin/bash
#QVER=loongson-v1.0
#Based on v3.10
#KVER=loongnix-release-1903
#RVER=2016.05
#Minimal memory for boot is 256M, but with graphic, 1024M is required
MEM=1024M
#maxcpus=1 must be passed to not hang at booting
#Booting CPU#1...
#[ 0.150000] CPU#1, func_pc=ffffffff80da1c7c, sp=980000000c0f3eb0, gp=980000000c0f0000
#[ 0.256000] random: fast init done
#Graphic boot or not, 1 for graphic, 0 for serial
G=0
if [ $G -eq 1 ]; then
CONSOLE=tty0
GOPT=
else
GOPT=-nographic
CONSOLE=ttyS0
fi
./mips64el-softmmu/qemu-system-mips64el -M ls2k -m $MEM -smp 1 -no-reboot $GOPT \
-bios ./gzrom.bin \
-kernel /home/tftpboot/vmlinuz \
-initrd /home/tftpboot/initrd-2k.gz \
-dtb /home/tftpboot/LS2K.dtb \
-append "root=/dev/ram0 console=$CONSOLE maxcpus=1" \
#-device usb-mouse -device usb-kbd -show-cursor \
#-net nic,model=synopgmac -net tap
参数说明
-h:帮助
-version:查看版本
-M:指定开发板
-m:指定内存大小
-smp:cpu个数
-kernel:指定内核文件
-dtb:指定dtb文件
-nographic:指定不需要图形界面
-initrd file:使用“file"作为初始化的RAM磁盘
-append:cmdline内核命令行
-serial=serial:给设备指定序列号(可能是串口,也可能和串口无关)