首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对rootfs (zynq上的petalinux)进行修改

对rootfs (zynq上的petalinux)进行修改
EN

Stack Overflow用户
提问于 2015-02-16 16:13:35
回答 3查看 8.2K关注 0票数 1

我已经安装了Petalinux 2014.4在我的Zynq板,但NAND闪光灯没有安装时,我启动板。我想知道是否有可能通过提取包来更改rootfs.cpio,然后对fstab进行更改,从而使cpio返回。如果是的话,那之后只运行petalinux就够了吗?

谢谢:)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-03-03 12:46:10

如果您可以访问ramdisk映像文件,则可以修改其内容。我假设您的图像文件是使用gzip压缩的。此外,我假设您使用use和压缩的ramdisk映像有一个use前导。

首先,您需要删除U头:

代码语言:javascript
复制
dd bs=64 skip=1 if=uramdisk.cpio.gz of=ramdisk.cpio.gz

接下来,我们解压:

代码语言:javascript
复制
gunzip ramdisk.cpio.gz

最后,我们提取CPIO存档:

代码语言:javascript
复制
mkdir ramdisk && cd ramdisk
cpio -i -F ../ramdisk.cpio

要么以root身份执行后一个命令,要么在再次存档之前将文件所有权更改为root。这对于您的init程序启动是必要的。修改后,您可以再次创建图像文件:

代码语言:javascript
复制
find . | cpio -o -H newc | gzip -9 > ../ramdisk_new.cpio.gz
mkimage -A arm -T ramdisk -C gzip -d ramdisk_new.cpio.gz uramdisk.image.gz

注意,mkimage工具是U的一部分,位于tools目录中的各个源中。

我不熟悉PetaLinux,所以我不知道这个一般的答案是否适合你的需求和期望。

票数 2
EN

Stack Overflow用户

发布于 2015-11-06 07:31:53

使用cpio包工具是可以的。但每次更新rootfs时都需要这样做。

您还可以使用PetaLinux内置工具来完成这一任务。它不需要额外的步骤,一旦你设置它。

创建应用程序:

代码语言:javascript
复制
petalinux-create -t apps -n fstab_mount_sd --template install --enable

在创建的components/apps/fstab_mount_sd目录中,修改Makefile以将内容附加到当前的fstab文件中,或者用您版本的fstab文件替换原始的fstab。

下面是fstab_mount_sd Makefile的一个示例:

代码语言:javascript
复制
install:    
    $(TARGETINST) -a "/dev/mmcblk0p1       /media/card          auto           defaults,sync,noauto      0  0" /etc/fstab

$(TARGETINST) -a意味着将以下文本附加到目标文件中。

注意: makefile中的命令应该以Tab开头。将以前代码块中的$(TARGETINST)之前的空格替换为Tab。

您可以通过转到$(TARGETINST)安装目录并运行components/rootfs/targetroot-inst.sh来读取PetaLinux命令的帮助

票数 2
EN

Stack Overflow用户

发布于 2018-08-21 15:04:46

更方便,而开发是使用任何标准发行版。Petalinux可以用来创建内核,u引导文件。然后在sd卡上安装一个您喜欢的Linux并启动它。例如,您可以使用标准工具来安装软件包。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28545706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档