gpt4 book ai didi

linux - 修改 rootfs (petalinux on zynq)

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:36:44 24 4
gpt4 key购买 nike

我已经在我的 Zynq 开发板上安装了 Petalinux 2014.4,但是当我启动开发板时 NAND 闪存没有安装。我想知道是否可以通过提取包来更改 rootfs.cpio,然后对 fstab 进行更改,从而恢复 cpio arhcive。如果是,那么仅运行 petalinux-build 就足够了吗?

谢谢:)

最佳答案

如果您有权访问 ramdisk 镜像文件,那么是的,您可以修改其内容。我假设您的图像文件是使用 gzip 压缩的。此外,我假设您使用 U-Boot 并且您的压缩 ramdisk 镜像具有 U-Boot 序言。

首先你需要剥离 U-Boot header:

dd bs=64 skip=1 if=uramdisk.cpio.gz of=ramdisk.cpio.gz

接下来,我们解压:

gunzip ramdisk.cpio.gz

最后我们提取 CPIO 存档:

mkdir ramdisk && cd ramdisk
cpio -i -F ../ramdisk.cpio

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

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-Boot 的一部分,位于工具目录的相应源中。

我不熟悉 PetaLinux,所以我不知道这个笼统的答案是否符合您的需求和期望。

关于linux - 修改 rootfs (petalinux on zynq),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28545706/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com