订阅
纠错
加入自媒体

一文了解如何制作rootfs?

2021-04-26 14:06
一口Linux
关注

五、制作ramdisk文件系统

通过NFS测试以后,就可以制作ramdisk文件系统了,具体如下:

1、制作一个大小为8M的镜像文件 $ cd  ~

$ dd  if=/dev/zero  of=ramdisk  bs=1k  count=8192 (ramdsik为8M)

If: input file

Of: output file

2、格式化这个镜像文件为ext2$ mkfs.ext2  -F  ramdisk

3、在mount下面创建initrd目录作为挂载点$ sudo  mkdir  /mnt/initrd

4、将这个磁盘镜像文件挂载到/mnt/initrd下

注意这里的ramdisk不能存放在rootfs目录中

$ sudo  mount  -t  ext2   ramdisk  /mnt/initrd
5、将测试好的文件系统里的内容全部拷贝到 /mnt/initrd目录下面$ sudo  cp  /source/rootfs   /mnt/initrd  –a

如果拷贝遇到错误,需要再次删除不需要的库,比如c++库

6、卸载/mnt/initrd$ sudo  umount  /mnt/initrd

7、压缩ramdisk为ramdisk.gz$ gzip  --best  -c  ramdisk  >  ramdisk.gz

8、格式化为uboot识别的格式并拷贝到/tftpboot下$ mkimage -n "ramdisk" -A arm -O linux -T ramdisk -C gzip  -d ramdisk.gz  ramdisk.img
$ cp  ramdisk.img  /tftpboot

9、配置内核支持RAMDISK

制作完 initrd.img.gz后,需要配置内核支持RAMDISK作为启动文件系统

make menuconfig
File systems  --->
 <*> Second extended fs support
Device Drivers
 SCSI device support  --->
  <*> SCSI disk support
 Block devices  --->
  <*>RAM  block  device  support  
  (16)Default number of RAM disks  
  (8192) Default RAM disk size (kbytes)   (修改为8M)
General setup  --->
 [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support

重新编译内核,复制到/tftpboot

10、在U-BOOT命令行重新设置启动参数:# setenv bootcmd tftp 41000000 uImage;tftp 42000000 exynos4412-fs4412.dtb;tftp 43000000  ramdisk.img;bootm 41000000 43000000 42000000
# saveenv

重新启动开发板查看能否正常启动

【注意】因为各个开发板命令会有所差异,uboot命令的设置要厂家出厂的手册操作。

<上一页  1  2  3  4  
声明: 本文由入驻维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

人工智能 猎头职位 更多
扫码关注公众号
OFweek人工智能网
获取更多精彩内容
文章纠错
x
*文字标题:
*纠错内容:
联系邮箱:
*验 证 码:

粤公网安备 44030502002758号