linux img sd,linux系统下SD卡boot image自定义修改方法初探

本文详细介绍了如何在Zynq嵌入式系统上挂载、操作及卸载SD卡,包括创建挂载点,装载映像,编辑内容,以及重新压缩和卸载。通过示例展示了如何在Linux shell中执行相关命令,对ramdisk映像进行自定义修改,并最终保存更改。
摘要由CSDN通过智能技术生成

首先,利用现有FAT32位的系统SD卡进行启动,通过boot后进入系统后 ,查看系统挂载内容

在shell端输入命令为:

zynq>mount

none on /proc type proc (0)

none on /sys type sysfs (0)

none on /tmp type tmpfs (0)

devpts on /dev/pts type devpts (0)

zynq>

可以发现SD卡并没有真正挂载。(/dev/mmcblk0)

下面创建一个文件夹来实现SD卡的挂载

zynq>cd /

zynq>mkdir sdcard

zynq>ls

bin         lib         lost+found  proc        sdcard      usr

dev         licenses    mnt         root        sys         var

etc         linuxrc     opt         sbin        tmp

zynq>

现在可以发现已经可以挂载SD卡了,下面使用挂载命令

zynq>mount /dev/mmcblk0p1 /sdcard

zynq>cd sdcard/

zynq>ls

BOOT.BIN                devicetree_ramdisk.dtb  zImage

README                  ramdisk8M.image.gz

zynq>

现在已经有SD卡的路径了,证明SD卡已经挂载到linux系统中了。现在开始可以对SD卡映像进行解压、装载、然后改变其配置(此处是我们的一切工作的关键)、然后在进行压缩、之后卸载SD卡

1、首先解压映像、并装载,具体命令为:

zynq>cp /sdcard/ramdisk8M.image.gz /tmp/

zynq>gunzip /tmp/ramdisk8M.image.gz

zynq>mount -o loop /tmp/ramdisk8M.image /mnt/

[  605.300000] EXT4-fs (loop0): couldn't mount as ext3 due to feature incompatibilities

[  605.350000] EXT4-fs (loop0): mounting ext2 file system using the ext4 subsystem

[  605.350000] EXT4-fs (loop0): warning: mounting unchecked fs, running e2fsck is recommended

[  605.360000] EXT4-fs (loop0): mounted filesystem without journal. Opts: (null)

zynq>cd /mnt

zynq>ls

bin         lib         lost+found  proc        sys         var

dev         licenses    mnt         root        tmp

etc         linuxrc     opt         sbin        usr

zynq>

从命令中可以看出,映像已装载,但还不能进行编辑。因此,可以在根目录下/root下创建一个文件,命令为zynqgeek.txt,随便写一些内容进去,以便稍等我们可以证明已经改变。具体命令为:

zynq>cd /mnt/root/

zynq>ls

logo.bin

zynq>touch zynqgeek.txt

zynq>cat > zynqgeek.txt

The ZynqGeek Blog Rocks!

^C

zynq>ls -al

total 4

drwxr-xr-x    2 12319    300           1024 Jan  1 00:11 .

drwxr-xr-x   17 12319    300           1024 Jul 12  2012 ..

-rw-r--r--    1 root     0              512 Jul 12  2012 logo.bin

-rw-r--r--    1 root     0               25 Jan  1 00:11 zynqgeek.txt

zynq>cat zynqgeek.txt

The ZynqGeek Blog Rocks!

zynq>

由此,我们可以看到,该文件以创建,大小为25KB,内容为 "The ZynqGeek Blog Rocks!"

现在已经对镜像内容进行了自定义修正,现在需要卸载影响、重新压缩,并且卸载SD卡。然后重新启动zedboard板子,就可以发现新修正的ramdisk 映像。具体命令为:

zynq> umount -l /mnt

zynq> gzip -9 /tmp/ramdisk8M.image

zynq> mv /tmp/ramdisk8M.image.gz /sdcard/

zynq> umount -l /sdcard/

zynq> mount

none on /proc type proc (0)

none on /sys type sysfs (0)

none on /tmp type tmpfs (0)

devpts on /dev/pts type devpts (0)

zynq>

其中gzip命令 会花费几秒钟。重启板子后,可以发现根目录的变化。

zynq>cd /root

zynq>ls

logo.bin      zynqgeek.txt

zynq>cat zynqgeek.txt

The ZynqGeek Blog Rocks!

zynq>

至此,已经全部完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值