zedboardOOBlinux ramdisk8m r如何扩容

1,修改u-boot.elf

  首先下载u-boot:

  

通过Git下载Xilinx U-Boot代码     git clone git://git.xilinx.com/u-boot-xlnx,Xilinx在Wiki上也做了介绍:http://wiki.xilinx.com/zynq-uboot

 找到zynq_zed.h,其他就自己找吧主要是找到ramdisk这个关键字,搜一下就可以

可以使用:

grep -r ramdisk8M

具体用法如下:

http://www.cnblogs.com/end/archive/2012/02/21/2360965.html

找到头文件后会发现有定义 SD卡启动,JTAG启动和QSPI启动的语句

这里是sd卡启动,只需要更改  

52  fatload mmc 0 0x800000 randisk8M.image.gz  0xc800000

//最后那个0xc80000就是镜像大小

//  fatload具体用法如下
fatload

Fatload是U-Boot中装载linux kernel 到内存的指令。
基本用法:
fatload
<interface> <dev[:part]> <addr> <filename> <bytes> interface:所用到接口,如:MMC、USB dev [:part]: 文件存放的设备 如:ide 0:1 addr: 装载到内存的开始地址。 filename: 装载的文件名称。 bytes: copy的字节数.

用我们之前安装的交叉编译环境进行编译,由于我们已经设置了环境变量,这里直接执行编译即可,先进行配置:

cd u-boot-xlnx

make zynq_zed_config

 配置完成后编译:

make

把目录下生成的u-boot文件改名为u-boot.elf 

ok!

2,建立自己的文件镜像

//在文件目录下

cd ~

dd if=/dev/zero  of=ramdisk.img bs=1024  count=你的文件大小(8M为8129,就是8129*1204)

mke2fs -F ramdisk.img -L "ramdisk" -b 1024 -m 0

tune2fs ramdisk.img -i 0

chmod 777 ramdisk.img  //设置权限

mkdir ramdisk

gunzip ramdisk8M.image /mntnew  解压原来的镜像文件

sudo umount /mnt  更新mnt文件夹
sudo rm -rf /mnt/*  清理

sudo mount ramdisk8M.image  /mnt
sudo cp -R /mnt/* ramdisk
sudo umount ramdisk
gzip ramdisk.img.
mv ramdisk.img.gz ramdisk8M.iamg.gz

里面很多文件名有错误,我之前解压后更改太多,所以有解压了一遍。你们随意。

3,生成BOOT.BIN

  这个很简单,就3个文件生成bootimage

      u-boot.eld

  system.elf

      zynq.elf

4,更改文件树文件名

  具体改为什么我不太清楚,可以先启动试试,如果提示XXXX.dtb文件找不到你就改成这个就行了。

5,启动就ok了

测试方法:

   用终端在文件系统内建一个大文件, 查看系统剩余资源。

zynq> cd root/
zynq> dd if=/dev/zero of=lagre.bin bs=1048576 count=200
dd: writing 'lagre.bin': No space left on device
11+0 records in
9+1 records out
10383360 bytes (9.9MB) copied, 0.126561 seconds, 78.2MB/s
zynq> du / -d 1 -h
29.0K   /sbin
1.0K    /opt
14.0K   /etc
584.0K  /usr
1.0K    /mnt
782.0K  /var
0       /sys
0       /proc
12.0K   /lost+found
903.0K  /bin
2.9M    /lib
5.0K    /dev
248.0K  /licenses
9.9M    /root
0       /tmp
15.4M   /
原文地址:https://www.cnblogs.com/puck/p/3034301.html