嵌入式linux:通过qemu模拟mini2440开发环境
1 编译安装QEMU
首先下载qemu for mini2440,直接打包下载
sudo apt-get install zlib1g-dev sudo apt-get install libsdl-dev
(prefix指定安装路径,这里是$HOME/work/mini2440)
./configure --target-list=arm-softmmu --prefix=$HOME/work/mini2440 make -j4 make install
安装完后,添加环境变量:
sudo vim /etc/bash.bashrc
添加一行:
export PATH=$PATH:$HOME/work/mini2440/bin
保存退出后,用source 生效或者注销重新登录
source /etc/bash.bashrc
测试是否正常:
qemu-system-arm --version
首先下载buildroot的源代码,下载地址:
sudo apt-get install libncurses5-dev patch configure <../configure.patch /* 需要修改源码 打补丁 */ make mini2440_defconfig make menuconfig
安装库:
sudo apt-get install g++ sudo apt-get install bison sudo apt-get install flex sudo apt-get install gettext sudo apt-get install patch sudo apt-get install git-core sudo apt-get install xz-utils sudo apt-get install automake
安装texinfo 4.13
tar -zxvf texinfo-4.13a.tar.gz cd texinfo-4.13 ./configure make sudo make install
修改bug(注释下面文件中:_GL_WARN_ON_USE (gets,....... 这行代码):
vim output/build/host-m4-1.4.16/lib/stdio.in.h vim output/build/host-m4-1.4.16/lib/stdio.h
链接:https://pan.baidu.com/s/1PUxi_DejVo-bgChQH5bzmA 密码:2dkz
./autogen.sh (要求autoconf版本大于2.67) ./configure make sudo make install
然后把我们生成的三个文件 : u-boot.bin, uImage和rootfs.jffs2 拷贝到 flashimg文件夹下运行
./flashimg -s 64M -t nand -f nand.bin -p uboot.part -w boot,u-boot.bin -w kernel,uImage -w root,rootfs.jffs2 -z 512
qemu-system-arm -M mini2440 -serial stdio -mtdblock nand.bin -usbdevice mouse
(若出现错误:浮点数例外启动不了qemu,请全屏最大化终端,再次执行,这是由于分辨率问题造成)
nboot kernel setenv bootargs root=/dev/mtdblock3 rootfstype=jffs2 console=ttySAC0,115200 saveenv bootm
启动后,输入默认密码root,即可成功登录,此时还没有配置网络。ifconfig发现没有网卡。
4 NFS挂在根文件系统
首先安装nfs服务
sudo apt-get install nfs-kernel-server
mkdir ~work/nfsroot
sudo vi /etc/exports
/home/zwx/work/nfsroot *(rw,sync,no_root_squash,no_subtree_check
sudo /etc/init.d/nfs-kernel-server restart
cd /home/zwx/work/nfsroot/
修改权限
sudo chmod -R 777 ./
解压根文件系统
tar xvzf rootfs_qtopia_qt4-20140103.tar.gz
注意:友善之臂提供的qtopia文件系统在挂载时会初始化网卡,但我们是由nfs挂载的文件系统,这会导致nfs连接中断,挂载失败,所以用nfs挂载之前需要把网卡的初始化过程取消,对应的文件是/etc/init.d/if-config,只需把该文件内容删除即可(删除文件也可以)。
sudo chmod -R 777 ./ cd rootfs_qtopia_qt4 cd etc/init.d/ rm ifconfig-eth0
创建虚拟网卡并配置ip
sudo apt-get install uml-utilities //运行tunctl必须的工具 sudo tunctl -u $USER -t tap0 sudo ifconfig tap0 192.168.42.1
带网络方式启动qemu
cd /home/zwx/work/qemu/flashimgflashimg-fb97139 qemu-system-arm -M mini2440 -serial stdio -mtdblock nand.bin -usbdevice mouse -kernel uImage -net nic,vlan=0 -net tap,vlan=0,ifname=tap0,script=no,downscript=no
启动后进入uboot模式,此时的qemu还不能显示,输入下面指令加载内核和根文件系统。
set bootargs noinitrd root=/dev/nfs rw nfsroot=192.168.42.1:/home/zwx/work/nfsroot/rootfs_qtopia_qt4/,proto=tcp,nfsvers=3,nolock ip=192.168.42.2:192.168.42.1::255.255.255.0 console=ttySAC0,115200 bootm
然后就可以启动了
5 安装交叉编译工具链:
arm-linux-gcc-4.4.3.tar.gz
安装库:
sudo apt-get install lib32stdc++6 sudo apt-get install lib32z1
好了 到此就可以愉快的进行开发了。
转载于:https://www.cnblogs.com/zwxwill/p/9431774.html
嵌入式linux:通过qemu模拟mini2440开发环境相关推荐
- 从0开始使用QEMU模拟ARM开发环境之脚本制作分区镜像(rootfs+zImage+dtb)
文章目录 从0开始使用QEMU模拟ARM开发环境系列一览表 目录结构: 脚本介绍: 分区镜像制作脚本 qemu启动脚本 流程示例 从0开始使用QEMU模拟ARM开发环境系列一览表 文章中 u-boot ...
- 嵌入式linux clion,跨平台IDE集成开发环境Clion教程:嵌入式开发
CLion是一款专为开发C及C++所设计的跨平台IDE.它是以IntelliJ为基础设计的,包含了许多智能功能来提高开发人员的生产力.这种强大的IDE帮助开发人员在Linux.OS X和Windows ...
- 一步步教你如何在Ubuntu虚拟机中安装QEMU并模拟模拟arm 开发环境(一)uImage u-boot
初次接触qemu是因为工作的需要,有时候下了班,可能需要在家研究一些东西,因为博主用到arm环境,这时候博主比较小气,不愿花钱买开发板,当然博主在这里给大家的建议是,如果要真正学懂arm构架的相关知识 ...
- linux虚拟arm环境环境,Ubuntu 模拟ARM开发环境
为了简化开发和测试过程,Ubuntu从9.10开始提供静态的ARM虚拟功能,可以直接在PC机上建立ARM机器的chroot环境,既可以编译,也可以测试程序.相比于交叉编译而言,这种方法虽然编译速度较慢 ...
- 嵌入式linux ASoC架构声卡驱动开发
嵌入式linux ASoC架构声卡驱动开发 文章目录 嵌入式linux ASoC架构声卡驱动开发 需求分析 ASoC架构下声卡驱动代码结构 codec驱动 snd_soc_register_codec ...
- Ubuntu Linux下如何配置Android开发环境
下载和安装Win7系统Android开发环境中讲了怎样在Win7系统中安装Android开发环境,那么怎样在Linux系统中配置Android开发环境呢?本篇文章就将演示如何使用Eclipse.And ...
- linux studo命令,在 Linux 上使用 Visual Studio 开发环境
原标题:在 Linux 上使用 Visual Studio 开发环境 为了向大家介绍 "Linux 上的 ASP.NET Core",我需要一个 Linux VM,通过远程桌面连上 ...
- Linux 下搭建 Java Web 开发环境
Linux 下搭建 Java Web 开发环境 我的小站.Github Java Web,是用Java技术来解决相关web互联网领域的技术栈,下方为 Linux 下搭建 Java Web 开发环境教程 ...
- Linux(Ubuntu 16) 下Java开发环境的配置(二)------Tomcat的配置及常见问题
前言 相比于java JDK的配置,Tomcat的配置简单的多,简直就相当于直接运行了,本文以Tomcat8.0为例进行配置 1.Tomcat的下载 地址:https://tomcat.apache. ...
- windows和linux中搭建python集成开发环境IDE——如何设置多个python环境
本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...
最新文章
- 「软件」2.0时代已经到来,你需要这样的开发工具
- LCLFramework框架之Service模式
- Direct2D (3) : 使用浮点参数绘制基本图形
- 前端学习(1650):前端系列实战课程之字符串常用方法
- 那天删库跑路后,在牢里写的MySQL数据恢复大法……
- 机器学习爬大树之决策树(CART与剪枝)
- 从C# 3.0到F#
- 【论文解读】ICLR2021 知识建模与信息抽取
- 火山PC后台操作第三方窗口案例
- 数据库系统概论第五版(第 3 章 关系数据库标准语言SQL)笔记
- 抖音检测注入框架分析
- 移植安卓系统到树莓派开发板
- 常见数据库id号编码
- 特征:什么是特征和特征选择?
- 桌面智能盆栽——【1】项目背景
- php date()时间不对,PHP DATE( )函数与系统时间差8小时解决办法
- 【大数据处理技术】「#0」实验环境准备
- Android 打包解析软件包时出现问题
- Linux修改localhost
- mysql怎样添加唯一标识_MySql设置唯一标识,主键等设置
热门文章
- python爬取qq音乐评论+jieba分词并统计词频+绘制词云并可视化数据
- 485集线器 4口485集线器 4口485 HUB
- ASP中Split分割字符串函数的实例用法
- uniapp打包之后首页白屏
- TODA SMT上料防错系统
- 阅读《Keyword-Guided Neural Conversational Model》
- CVPR 2022 全面盘点:最新350篇论文分方向汇总 / 代码 /
- 远程监控 java,远程监控Java应用
- 基于torch学汪峰写歌词 聊天机器人 图像着色/生成 看图说话 字幕生成
- 世界顶级企业的数据中台实践剖析