使用云服务器安装QEMU搭建嵌入式开发环境
早之前就知道有QEMU,但是那會沒能搭建起來。現(xiàn)在手頭正好有個阿里云服務(wù)器,正好拿來試試手。
用的是Ubuntu的操作系統(tǒng)。先把qemu裝了
apt-get install qemu
交叉編譯工具
apt-get gcc-arm-linux-gnueabi
然后tftp需要配置一下。參考網(wǎng)絡(luò)教程。目錄設(shè)置為/home/tftpboot
下載linux內(nèi)核,www.kernel.org。
在makefile中修改ARCH和CROSS_COMPILE
選擇配置文件 make vexpress_defconfig
make zImage
make modules
make dtbs
這時候照例是可以跑的了
?qemu-system-arm -M vexpress-a9 -m 512M -kernel arch/arm/boot/zImage -dtb arch/arm/boot/dts/vexpress-v2p-ca9.dtb -nographic -append "console=ttyAMA0"
當(dāng)然,這還沒完。
?
下載busybox制作根文件系統(tǒng)
http://www.busybox.net/download
配置makefile 修改ARCH和CROSS_COMPILE make defconfig 在圖形界面中,把busybox選擇為靜態(tài)編譯 make menuconfig make? make install 這時候_install里就有需要的東西了 復(fù)制到/home/rootfs里面 然后復(fù)制一些必須的動態(tài)庫到rootfs里 庫在/usr/arm-linux-gnueabi/lib 創(chuàng)建設(shè)備節(jié)點 在/home/rootfs/dev中 mknode -m 666 tty1 c 4 1 mknode -m 666 tty2 c 4 2 mknode -m 666 tty3 c 4 3 mknode -m 666 tty4 c 4 4 mknode -m 666 console c 5 1 mknode -m 666 null c 1 3 制作sd卡鏡像 dd if=/dev/zero of=rootfs.ext3 bs=1M count=32 格式化 mkfs.ext3 rootfs.ext3 可以掛載了看下 mount -t ext3 rootfs.ext3 /mnt/ -o loop 運行一下 qemu-system-arm -M vexpress-a9 -m 512M -kernel /root/linux-4.4.80/arch/arm/boot/zImage -dtb /root/linux-4.4.80/arch/arm/boot/dts/vexpress-v2p-ca9.dtb -nographic -append "root=/dev/mmcblk0 rw console=ttyAMA0" -sd /home/rootfs.ext3 沒問題的話下面進(jìn)行u-boot ftp://ftp.denx.de/pub/u-boot ftp>open?ftp.denx.de 輸入 passive binary get ******** 修改ARCH和CROSS_COMPILE vi Makefile vi config.mk make vexpress_ca9x4_defconfig make 得到u-boot,拷貝到tftproot中(tftproot注意權(quán)限,設(shè)置為777) qemu-system-arm -M vexpress-a9 -m 512M -nographic -kernel ./u-boot 測試一下是否成功 把?vexpress-v2p-ca9.dtb文件和uImage文件拷貝到tftproot中 如果沒有uImage make LOADADDR=0x60003000 ?uImage 配置網(wǎng)橋 編輯interfaces文件 把eth1設(shè)置為manual 開啟混雜模式 其他注釋或者去掉 增加br0的部分 使用原先eth1的ip和靜態(tài)路由設(shè)置auto eth1
iface eth1 inet manual
#up route add -net 0.0.0.0 netmask 0.0.0.0 gw 120.24.227.247 dev eth1
up ip link set $IFACE promisc on
auto br0
iface br0 inet static
address 120.24.224.224
netmask 255.255.252.0
up route add -net 0.0.0.0 netmask 0.0.0.0 gw 120.24.227.247
bridge_ports eth1
bridge_stp off
bridge_fd 0
bridge_maxwait 0
同時設(shè)置
#define CONFIG_IPADDR 同一網(wǎng)段的ip #define CONFIG_NETMAKE? #define CONFIG_SERVERIP 網(wǎng)橋ip 然后重新編譯一下。 運行測試,應(yīng)該就可以了。qemu-system-arm \
-M vexpress-a9 \
-kernel u-boot \
-nographic \
-net nic,vlan=0 -net tap,vlan=0,ifname=tap0 \
-sd /home/rootfs.ext3
?
轉(zhuǎn)載于:https://www.cnblogs.com/roguetype/p/7365774.html
《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的使用云服务器安装QEMU搭建嵌入式开发环境的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 系统安全攻防战:DLL注入技术详解
- 下一篇: C/S与B/S架构的区别和优缺点