建立LINUX开发环境并编译LINUX和UBOOT以及生成设备树过程总结

文件linux-digilent-3.6-digilent-13.01.zip
文件u-boot-digilent-digilent-v2012.04.zip
/WORK/Linux_Digilent/linux-digilent-3.6-digilent-13.01/arch/arm


1 安装xilinx 编译工具链
进入Ubuntu系统,按Ctrl+Alt+T调出Terminal终端。输入sudo passwd root,会要求输入用户密码,然后重置root的密码,这里密码都不会显示。重置完后输入su root,再输入刚刚重置的root密码即可进入root
这里要说明很关键的一点,一定要把目录设置好。
在root目录下,输入mkdir /zed,在zed下创建tool,将下载的xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin拷贝到tool目录下。http://pan.baidu.com/s/1nvMWAHN
输入cd /root/zed/tool
然后./xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin
此时系统会提示权限不够,需要如下方式输入
chmod 777 xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin
之后再输入./xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin 弹出安装界面,每次都点击next即可。但是需要记住下图中安装的路径。


2 设置环境变量(root用户下设置)
export CROSS_COMPILE=arm-xilinx-linux-gnueabi-
export PATH=/root/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/bin:$PATH
(每次关闭终端再重新打开都需要设置)
测试是否安装好:查看工具链的版本
arm-xilinx-linux-gnueabi-gcc -v 
回显变量是否设置好
echo $CROSS_COMPILE




3、编译uboot
(1)解压缩uboot
解压缩命令是tar -zxvf
(2)编译uboot
make  CROSS_COMPILE=arm-xilinx-linux-gnueabi-  zynq_zed_config  [注1]  
make  
其中
"make <board_name>_config"  "include/configs/<board_name>.h" 
(新版本的uboot没有zynq_zed.h 需要下载旧的版本)


4、拷贝elf文件
cp u-boot  u-boot.elf
5、设定环境变量
export ARCH=arm


6、解压缩linux源码
tar  -zxvf linux-




7
(1)make  ARCH=arm  CROSS_COMPILE=arm-xilinx-linux-gnueabi- xilinx_zynq_defconfig
注意,当linux的版本不对的时候,会提示找不到 defconfig文件
正确的版本是linux-digilent-3.6-digilent-13.01.zip


(2)make  ARCH=arm  CROSS_COMPILE=arm_xilinx_linux_gnueabi-  menuconfig
但是一开始提示提示'make menuconfig' requires the ncurses libraries
要安装libncurses5-dev就可以了,执行如下命令:
sudo apt-get install libncurses5-dev
然后再次make menuconfig


注意如果设置CROSS_COMPILE和ARCH 后,指令中就可以省略
export CROSS_COMPILE=arm-xilinx-linux-gnueabi-
export ARCH=arm
 (3)make  ARCH=arm  CROSS_COMPILE=arm_xilinx_linux_gnueabi-
在ARCH/ARM/BOOT/下有 Image文件和ZIMAGE 文件。
ZIMAGE文件是我们所需要的。


9
DTB 文件生成.是U-BOOT用来传递给LINUX内核的参数的一种文件形式。 DTB:device tree blob 
1,arch/arm/boot/dts/digilent_zed.dts
2,生成EXT3 文件系统的设备树 ./scripts/dtc/dtc -I dts -O dtb -o ../devicetree_ext3.dtb arch/arm/boot/dts/digilent-zed.dts
3, 生成RAMDISC的设备树文件。修改arch/arm/boot/dts/digilent_zed.dts 。
4,./scripts/dtc/dtc -I dts -O dtb -o ../devicetree_ram8m.dtb arch/arm/boot/dts/digilent-zed.dts 




10 拷贝出zImage文件
在z@ubuntu:~/WORK/Linux_Digilent/linux-digilent-3.6-digilent-13.01/arch/arm/boot目录下
cp zImage ../../../../zImage
  拷贝出需要的文件
从linux_digilent文件夹下拷贝出 dtb文件和boot.elf 和zimage 文件



















  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kobesdu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值