zedboard-OOB-linux -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 /