DIY-xilinx预编译的根文件系统

由于项目要向根文件系统中添加一些文件,所以要自己DIY下,从官方下载下来的预编译好的文件是uramdisk.image.gz,从官网上看到的方法在操作时发现不可行,请参考:http://www.wiki.xilinx.com/Build+and+Modify+a+Rootfs,由于这个gz文件是带有u-boot头部信息的,而且内部并不是镜像文件,而只是一个cpio归档文件,所以不用像文中一样挂载(我就是挂载时出了问题)。

由于这是带有u-boot头部信息的根文件系统,因此要去掉头部信息,才可解压。

dd if=./uramdisk.image.gz of=./ramdisk.image.gz skip=16 bs=4

然后在ramdisk.image.gz所在目录输入以下命令行

mkdir tmp_mnt/
gunzip -c ramdisk.image.gz | sudo sh -c ‘cd tmp_mnt/ && cpio -i‘

cd tmp_mnt/

在tmp_mnt目录中修改你的文件系统。

完成后在tmp_mnt目录下输入以下命令行

find . | sudo cpio -H newc -o > ../rootfs.cpio

然后在上级目录中就会有rootfs.cpio文件,把它压缩

gzip rootfs.cpio

生成rootfs.cpio.gz,修改文件名为ramdisk.image.gz

再用mkimage工具为它加上头部信息就可以了。

mkimage -A arm -T ramdisk -C gzip -d ramdisk.image.gz uramdisk.image.gz

由于手头目前没有开发板测试,未验证可不可以用,因此本文仅作参考。

时间: 2024-10-16 09:03:26

DIY-xilinx预编译的根文件系统的相关文章

debian下为stm32f429i-discovery编译uboot、linux内核和根文件系统

交叉编译器:arm-uclinuxeabi-2010q1 交叉编译器下载下来后解压,然后将其中bin文件夹路径加入到PATH变量中. 根据<debian下烧写stm32f429I discovery裸机程序>安装openocd. 安装genromfs,使用下面命令: sudo apt-get install genromfs 已经有人提供好脚本,只要执行几条命令即可.使用git下载文件并进行编译: git clone https://github.com/jserv/stm32f429-lin

第4阶段——制作根文件系统之编译配置安装busybox(3)

在上一节分析出制作一个最小的根文件系统至少需要: (1)/dev/console(终端控制台, 提供标准输入.标准输出以及标准错误) /dev/null  (为空的话就是/dev/null, 所有写到这个文件中的数据都会被丢弃掉.) (2)init进程的程序(也就是busybox,因为init程序位于busybox中) (3)/etc/inittab(用于init进程读取配置, 然后执行inittab里的指定应用程序) (4)应用程序(被inittab配置文件调用的应用程序) (5)C库(gli

制作根文件系统、使用NFS烧写、编译使用驱动程序(2)

1.制作根文件系统 1.1 先解压文件系统,/wok/nfs_root 目录下是已经构造好的各种文件系统:① fs_mini.tar.bz2 是最小的根文件系统,里面的设备节点是事先建立好的:② fs_mini_mdev.tar.bz2 是最小的根文件系统,里面的设备节点是等系统启动后使用mdev 自动建立的:③ fs_qtopia.tar.bz2 是 JZ2440 使用的支持触摸屏的根文件系统:④ fs_xwindow.tar.bz2 是书上的基于 X 的根文件系统. 执行

一步一步学ZedBoard &amp; Zynq(七):制作ZedBoard上linux根文件系统(ramdisk)

一步一步学ZedBoard & Zynq(七):制作ZedBoard上linux根文件系统(ramdisk) 网址:http://xilinx.eetrend.com/blog/3935 Digilent的OOB设计给出了一个ZedBoard上完整的运行的linux系统所需要的所有文件,包括配置FPGA的bit文件. 配置ARM PS系统的First-Stage boot loader(FSBL)和引导linux需要的Second-Stage boot loader(SSBL).Linux内核z

第17章- 构建Linux根文件系统

本章目标 l 了解Linux的文件系统层次标准(FHS) l 了解根文件系统下各目录的作用 l 掌握构建根文件系统的方法:移植Busybox.构造各个目录.文件等 l 掌握制作yaffs.jffs2文件系统映象文件的方法 推广: 想了解更多嵌入式知识请移步到 100ask.taobao.com 17.1  Linux文件系统概述 17.1.1  Linux文件系统的特点 类似于Windows下的C.D.E等各个盘,Linux系统也可以将磁盘.Flash等存储设备划分为若干个分区,在不同分区存放不

Busybox构建根文件系统和制作Ramdisk

定制根文件系统的方法很多,最常用的是使用BusyBox来构建定制根文件系统.它集成压缩了Linux的许多工具和命令,可以使用户迅速方便地建立一套相对完整.功能丰富的文件系统,其中包括大量常用的应用程序.下面详细介绍有关Busybox定制根文件系统. 一.系统环境: 1.操作系统:Ubuntu140.4 2.交叉编译工具:gcc version 6.1.1 20160711 (Linaro GCC 6.1-2016.08) 3.busybox源码包:busybox-1.26.2 二.构建rootf

2017.3.2学习笔记----------nfs以及根文件系统

根文件系统的制作烧写,nfs,驱动程序的编译 <1> 根文件系统的制作烧写: 类似于前一节,步骤可以参考手册,将补丁文件打入虚拟机,再安装即可. 具体步骤参考开发板应用手册3.4节 <2> 使用flash上的根文件系统启动沪,手工MOUNT NFS: mount -t nfs -o nolock,vers=2 192.168.1.132:/work/nfs_root /mnt ls  /mnt <3>使用nfs作为根文件系统来启动 进入uboot: set bootar

根文件系统挂载过程

目录 注册挂载rootfs文件系统 解压initramfs到rootfs中 prepare_namespace挂载磁盘上的文件系统 注册挂载rootfs文件系统 首先是rootfs的注册和挂载,rootfs作为一切后续文件操作的基石. start_kernel vfs_caches_init mnt_init init_rootfs注册rootfs文件系统 init_mount_tree 挂载rootfs文件系统 vfs_kern_mount mount_fs type->mount其实是roo

Linux之根文件系统的构建20160611

说一下LINUX根文件系统的构建: 制作文件系统 1. 交叉编译busybox 安装:make install CONFIG_PREFIX=/work/nfs_root/fs_mini_mdev_new 2. 安装库 mkdir /work/nfs_root/fs_mini_mdev_new/lib mkdir /work/nfs_root/fs_mini_mdev_new/usr/lib -p cp /usr/local/arm/4.3.2/arm-none-linux-gnueabi/lib