- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我已经在我的 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/
我有一个 rootfs 引导镜像,我想通过挂载到我的本地文件系统来测试它。我该怎么做? 编辑:该文件是一个 rootfs.img 但事实证明我的自定义内核中没有正确的文件系统支持。一旦有 fs 支持,
我正在使用 buildroot 为 Raspberry PI 创建操作系统。如何将补丁应用于生成的 rootfs 中的文件? 例如添加行 auto eth0 iface eth0 inet dhcp
我在我的 debian strech 系统上使用 qt 修订版 5.7.1。我已使用 overlayfs 将 rootfs 安装为只读,我已使用 QStorageInfo 检查我的 SD 卡大小。 将
如果您在嵌入式 Linux 上开发任何东西,您需要一个 Rootfs 来启动 Linux。 Rootfs 对我来说一直是个问题。我需要一些帮助。 我的目标系统是ARM,简单的U-Boot Linux。
我有一个安装了 Emdebian 的树莓派,想交叉编译项目。 关于如何获取工具链并使用它构建简单项目的文档很多。我自己设法用 crosstool-ng 构建了一个工具链,并编写了一个运行良好的 hel
我创建了一个 bitbake 配方,它将我的 2 个文件(VPU 的固件二进制文件)复制到目标根文件系统上的/lib/firmware/目录中。 我尝试了很多选择,所以我现在不确定我的食谱中什么是不必
我想将 docker 图像保存为 rootfs 格式(例如由 /etc /var ... 组成的目录),就像 docker export 一样做。还有 docker save也不能满足我的需要,因为它
我使用可以使用 sd 卡或 emmc 启动的 imx.6 sabresd 板。我可以使用 u-boot 与它们一起正确启动 linux,并为适当的 bootargs 提供 rootfs 的正确位置。但
我正在尝试将 32 位 ncurses 添加到我的根文件系统中 我正在使用 intel yocto bsp 相扑分支 这是我的 local.conf: require conf/multilib.co
任务:加载内核和rootfs镜像并执行到ram中而不存储到spi flash上 我加载了可刷新图像(zimage 位于 0x200000)和可闪存 rootfs(jffs2 位于 0x200000
我使用 Intel Joule 570x 主板作为引用,它具有 64 位 x86 架构。 我使用 GRUB2 作为引导加载程序和主线内核 4.9。我构建了内核,还有 busybox rootfs,然后
我已经在我的 Zynq 开发板上安装了 Petalinux 2014.4,但是当我启动开发板时 NAND 闪存没有安装。我想知道是否可以通过提取包来更改 rootfs.cpio,然后对 fstab 进
是否可以导出(用于挂载 nfs)tmpfs 或 rootfs 目录?我有许多 linux 节点,它们被引导到一个基于 ram 的文件系统中,只有 rootfs 和 tmpfs。我希望每个节点都能看到其
到目前为止,我一直在使用 buildroot,最近切换到 Yocto。在 buildroot 中,根文件系统存在于“目标”文件夹中。 Yocto 中根文件系统的位置是什么。我知道它将位于“build/
我正在从 Dokerfile 为 Jetson 构建图像。这是它的摘录: FROM nvcr.io/nvidia/l4t-pytorch:r32.4.4-pth1.6-py3 # some insta
我有一个 OLinuxXino 开发板。我下载了 ArchLinux img 文件 (ArchLinuxARM-2013.02-olinuxino-rootfs.img) 并使用 dd 将其写入 SD
我对整个 WSL 情况感到非常困惑。有时我觉得我明白了,但实际上,我没有。我的主要困惑是 Ubuntu(我使用 Ubuntu 20.04)在哪里保存文件?它们如何与我使用 Windows 命令行 安装
我正在学习 linux 内核启动过程并尝试在我的 beagleboard xM 上安装 linux。我遇到了两种使用 SD 卡的方法。 1. 将 MLO、initrd、uboot.bin 和 uIma
我正在尝试删除一些附加了 GPLv3 许可的开源软件包,我们无法将其作为最终生产镜像的一部分进行分发。虽然可以在 local.conf 中使用“INCOMPATIBLE_LICENSE=GPLv3”删
我正在尝试使用 initramfs 作为 linux 内核引导的文件系统。我希望我的文件系统是最小的,所以我只使用没有 rootfs 的 initramfs。现在,一旦内核启动,它就会从 initra
我是一名优秀的程序员,十分优秀!