嵌入式文件系统镜像制作及烧写

时间:2021-09-14 18:46:39
一、cramfs 文件系统+ jffs2文件系统。
  
  1.cramfs 文件系统:存放系统文件:只读。
  
  jffs2文件系统:存放用户文件:读写。
  
  修改文件系统的自启动脚本:vim /etc/init.d/rcS
  
  在其中添加:
  
  mount -t jffs2 /dev/mtdblock3 /home/y (给用户)
  
  2.通过虚拟机制作cramfs文件系统:
  
  sudo mkfs.cramfs ./rootfs ./rootfs.cramfs
  
  在虚拟机中,将做好的文件系统拷贝到tftp目录下,以备下载用:
  
  cp rootfs.cramfs /tftpboot
  
  开发板下载cramfs文件系统到内存中:
  
  tftp 20008000 rootfs.cramfs
  
  擦写nand flash:
  
  nand erase 400000 6400000 (此为分区大小)
  
  将下载的文件系统烧写到开发板的nand flash中:
  
  nand write 20008000 400000 文件系统实际大小
  
  同时擦写/dev/mtdblock3所在的文件系统(用户)
  
  nand erase 6800000 9800000 (此为分区大小)
  
  设置u-boot 环境变量:
  
  setenv bootargs root=/dev/mtdblock2 init=/linuxrc console=ttySAC0,115200
  
  二、jffs2文件系统
  
  1. 通过虚拟机制作jffs2文件系统:
  
  sudo mkfs.jffs2 -r ./rootfs -o ./rootfs.jffs2 -e 0x20000(块大小) --pad=0x6400000(分区大小) –n
  
  将做好的文件系统拷贝到tftp目录下,以备下载用:
  
  cp rootfs.jffs2 /tftpboot
  
  开发板下载jffs2文件系统到内存中:
  
  tftp 20008000 rootfs.jffs2
  
  擦写nand flash:
  
  nand erase 400000 6400000(此为分区大小)
  
  将下载的文件系统烧写到开发板的nand flash中:
  
  nand write 20008000 400000文件系统实际大小
  
  或:nand write 20008000 400000 6400000
  
  设置u-boot 环境变量:
  
  setenv bootargs root=/dev/mtdblock2 init=/linuxrc rootfstype=jffs2 rw console=ttySAC0,115200
  
  本文作者:任程明, 华清远见嵌入式学院讲师。
  
  原文地址:http://www.embedu.org/Column/Column508.htm ,转载请注明!