使用云服务器安装QEMU搭建嵌入式开发环境
早之前就知道有QEMU,但是那會沒能搭建起來?,F在手頭正好有個阿里云服務器,正好拿來試試手。
用的是Ubuntu的操作系統。先把qemu裝了
apt-get install qemu
交叉編譯工具
apt-get gcc-arm-linux-gnueabi
然后tftp需要配置一下。參考網絡教程。目錄設置為/home/tftpboot
下載linux內核,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"
當然,這還沒完。
?
下載busybox制作根文件系統
http://www.busybox.net/download
配置makefile 修改ARCH和CROSS_COMPILE make defconfig 在圖形界面中,把busybox選擇為靜態編譯 make menuconfig make? make install 這時候_install里就有需要的東西了 復制到/home/rootfs里面 然后復制一些必須的動態庫到rootfs里 庫在/usr/arm-linux-gnueabi/lib 創建設備節點 在/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 沒問題的話下面進行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注意權限,設置為777) qemu-system-arm -M vexpress-a9 -m 512M -nographic -kernel ./u-boot 測試一下是否成功 把?vexpress-v2p-ca9.dtb文件和uImage文件拷貝到tftproot中 如果沒有uImage make LOADADDR=0x60003000 ?uImage 配置網橋 編輯interfaces文件 把eth1設置為manual 開啟混雜模式 其他注釋或者去掉 增加br0的部分 使用原先eth1的ip和靜態路由設置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
同時設置
#define CONFIG_IPADDR 同一網段的ip #define CONFIG_NETMAKE? #define CONFIG_SERVERIP 網橋ip 然后重新編譯一下。 運行測試,應該就可以了。qemu-system-arm \
-M vexpress-a9 \
-kernel u-boot \
-nographic \
-net nic,vlan=0 -net tap,vlan=0,ifname=tap0 \
-sd /home/rootfs.ext3
?
轉載于:https://www.cnblogs.com/roguetype/p/7365774.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的使用云服务器安装QEMU搭建嵌入式开发环境的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 系统安全攻防战:DLL注入技术详解
- 下一篇: C/S与B/S架构的区别和优缺点