ubuntu下使用qemu模拟ARM(二)-------编译u-boot
来源:互联网 发布:云计算安全标准 编辑:程序博客网 时间:2024/05/08 23:43
上一章将uBuntu的基本服务建好了,此时就可以在WINDOWS环境中进行操作了,以下的操作均是在登录SSH客户端和ftp客户端的操作.
1.安装交叉编译环境:
1.下载:arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 下载地址:http://pan.baidu.com/s/1mgyYfos
sudo mkdir qemu_arm
sudo chmod 766 qemu_arm/
cd qemu_arm
tar xjf arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
2.设置路径:
export PATH="/qemu_arm/arm-2014.05/bin:$PATH"
echo $PATH
查看版本输出是否正确 arm-none-linux-gnueabi-gcc -v在最后一行显示:gcc version 4.8.3 20140320 (prerelease) (Sourcery CodeBench Lite 2014.05-29) 说明路径设置正确
3.安装Qemu
sudo apt-get install qemu
若用下载方式安装此处为下载地址:http://wiki.qemu.org/Download
查看安装的版本:qemu-system-arm -version
显示:QEMU emulator version 2.6.1 (Debian 1:2.6.1+dfsg-0ubuntu5.2), Copyright (c) 2003-2008 Fabrice Bellard
4.编译u-boot
下载地址:ftp://ftp.denx.de/pub/u-boot/
下载最新的 u-boot:u-boot-2017.01.tar.bz2
将下载好的文件放在/qeum_arm目录中,解压 tar xjf u-boot-2017.01.tar.bz2
//从2014.10版的U-boot开始取消了boards.cfg换使用make menuconfig配置
(在/qemu_arm/u-boot-2017.01/configs查看哪些是支持的文件)
make vexpress_ca9x4_defconfig
make all arch=ARM CROSS_COMPILE=arm-none-linux-gnueabi-
//---------另一种编译方式-------------------
make vexpress_ca9x4_config
export ARCH=arm
export CROSS_COMPILE=arm-none-linux-gnueabi-
make vexpress_ca9x4_config
make all//-------------------------------------------------
编译后产生三个文件
- "u-boot.bin" is a raw binary image
- "u-boot" is an image in ELF binary format
- "u-boot.srec" is in Motorola S-Record format
5.用Qemu测试
qemu-system-arm -M vexpress-a9 -m 256M -nographic -kernel u-boot
显示 :
book@book-virtual-machine:/qemu_arm/u-boot-2017.01$ qemu-system-arm -M vexpress-a9 -m 256M -nographic -kernel u-boot
pulseaudio: set_sink_input_volume() failed
pulseaudio: Reason: Invalid argument
pulseaudio: set_sink_input_mute() failed
pulseaudio: Reason: Invalid argument
U-Boot 2017.01 (Jan 22 2017 - 21:02:27 +0800)
DRAM: 256 MiB
WARNING: Caches not enabled
Flash: 128 MiB
MMC: MMC: 0
*** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
Net: smc911x-0
Hit any key to stop autoboot: 0
........中间省去一大堆
TFTP from server 10.0.2.2; our IP address is 10.0.2.15
Filename 'boot.scr.uimg'.
Load address: 0x80008000
Loading: *
TFTP error: 'Access violation' (2)
Not retrying...
smc911x: MAC 52:54:00:12:34:56
smc911x: MAC 52:54:00:12:34:56
Wrong Image Format for bootm command
ERROR: can't get kernel image!
=>
此时u-boot已运行起来,只是我们还没有内核文件可以运行
遇到的问题:
u-boot不能使用make menuconfig,此时需要安装libncurses5-dev,
解决: 1:安装 sudo apt-get install libncurses5-dev库
2:ssh客户端窗口不能太小,把terminal变大整个屏幕大小就可以显示。
- ubuntu下使用qemu模拟ARM(二)-------编译u-boot
- ubuntu下使用qemu模拟ARM(三)------编译内核
- ubuntu下使用qemu模拟ARM(四)-------编译busybox
- UBUNTU下使用QEMU模拟ARM
- ubuntu下使用qemu-system-arm模拟arm环境
- ubuntu下使用qemu-system-arm模拟arm环境
- ubuntu下使用qemu-system-arm模拟arm环境
- ubuntu下使用qemu-system-arm模拟arm环境
- ubuntu下使用qemu模拟ARM(六)------驱动程序编译进内核方法
- ubuntu下使用qemu模拟ARM(五)-------应用程序Hello World
- ubuntu下使用qemu模拟ARM(六)------驱动程序
- ubuntu下使用qemu-arm-static进入chroot编译环境
- ubuntu下编译u-boot
- 使用 QEMU 模拟 ARM
- 使用Qemu模拟Cortex-A9运行U-boot和Linux
- 使用Qemu模拟Cortex-A9运行U-boot和Linux
- 使用Qemu模拟Cortex-A9运行U-boot和Linux
- 一步步教你如何在Ubuntu虚拟机中安装QEMU并模拟模拟arm 开发环境(一)uImage u-boot
- 关于AsyncTask的一次深度解析
- 欢迎使用CSDN-markdown编辑器
- abstract关键字--Java基础053
- 序列求和 java
- 关于成为一名嵌入式程序员的日常总结(6)
- ubuntu下使用qemu模拟ARM(二)-------编译u-boot
- 设计模式--概览
- 【算法入门】广度优先搜索(BFS)
- Java中的变量和常量
- C/C++植物大战僵尸之CE找基址+修改器制作(基础版)
- OS X 初次安装MYSQL
- 第一次机房收费系统【一】——初步认识
- JavaScript入门——变量与数据类型基础
- 【译】你是“10倍效率”JS开发者吗