当前位置:   article > 正文

FriendlyArm--开发完成后 制作用于批量烧录的SD卡_disable overlay filesystem

disable overlay filesystem

记录一下制作生产使用的SD卡过程,官方给的文档描述的不是很清楚。

  • 用开发使用的固件版本制做一张 tf 卡
  • 用 tf 卡启动,进入烧写预览界面,选中 Disable overlay filesystem, 烧写系统
  • 拨出 tf 卡,用 emmc 启动到 friendlycore
  • 配置系统和自己的软件、密码、脚本等
  • 准备一个 u盘(或SD卡),格式化分区为 ext4 格式
  • 再次用 tf 卡启动系统,插上U盘
  • 在虚拟机上使用ssh root@192.168.1.231 (固定是这个IP) 
  • 挂载 emmc 的 rootfs 分区到 /mnt/rootfs目录(6818是k0p2)
    1. mkdir /mnt/rootfs
    2. mount /dev/mmcblk1p2 /mnt/rootfs
  • 挂载 u盘下到 /mnt/udisk
    1. mount /dev/sdb1 /mnt/udisk
    2. mkdir /mnt/udisk/rootfs
  • 安装 rsync 工具
    1. wget http://112.124.9.243/cn-apt-source.sh
    2. chmod 755 cn-apt-source.sh
    3. ./cn-apt-source.sh
    4. apt-get update
    5. apt-get -y install rsync
  • 将 emmc 的 rootfs 分区文件拷贝到 u盘,忽略掉特殊文件:
    rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found","/swapfile"} /mnt/rootfs/* /mnt/udisk/rootfs
  • 将 u盘拷到ubuntu电脑上,挂载u盘到 /media/udisk  虚拟机可能会自动挂载到/media/user_name/udisk_name(对应自己的用户名和u盘卷标)
  • 用 sd-fuse_s5p4418 重新制作 rootfs.img:(mkdir friendlycore 这一步得手动创建 否则make_ext4fs -s -a root -L rootfs -l 2847932416 friendlycore/rootfs.img /media/udisk/rootfs这一步会报错)
    1. git clone https://github.com/friendlyarm/sd-fuse_s5p4418.git
    2. cd sd-fuse_s5p4418
    3. mkdir friendlycore
    4. ./build-rootfs-img.sh /media/udisk/rootfs friendlycore

 制作完文件系统后不着急打包成emmc-img,先制作内核,把自己的设备树和内核配置好。

下载官方镜像

  1. wget http://112.124.9.243/dvdfiles/S5P4418/images-for-eflasher/friendlycore-images.tgz
  2. tar xzf friendlycore-images.tgz
  1. wget http://112.124.9.243/dvdfiles/S5P4418/images-for-eflasher/emmc-flasher-images.tgz
  2. tar xzf emmc-flasher-images.tgz

 此处我用的是自己之前编译的内核(把自己的Linux文件夹拷贝到out/kernel中)

  1. cd sd-fuse_s5p4418
  2. git clone https://github.com/friendlyarm/linux.git -b nanopi2-v4.4.y --depth 1 out/kernel-s5p4418

 修改build-kernel.sh  将其中的make xxdeconfig make xx等屏蔽掉,因为之前已经编译好了。(在这一步之前可能需要再执行一次build-rootfs-img)

LOGO=/home/smart4418/Desktop/logo.bmp ./build-kernel.sh friendlycore

编译自己的镜像文件

sudo ./mk-emmc-image.sh friendlycore

使用dd命令烧录到一张新的sd卡中

dd if=out/s5p4418-eflasher-friendlycore-xenial-4.4-xxxx.img of=/dev/sdc bs=32M

4418打包顺序是:

./build-rootfs-img.sh /media/udisk/rootfs/ friendlycore  
LOGO=/home/smart4418/Desktop/logo.bmp ./build-kernel.sh friendlycore
sudo ./mk-emmc-image.sh friendlycore
dd if=out/s5p4418-eflasher-friendlycore-xenial-4.4-xxxx.img of=/dev/sdc bs=32M

6818打包顺序是:

./build-rootfs-img.sh /media/udisk/rootfs/ friendlycore-arm64
LOGO=/home/easen/Desktop/logo.bmp ./build-kernel.sh friendlycore-arm64
./mk-emmc-image.sh friendlycore-arm64
  1. mv out/s5p6818-eflasher-friendlycore-xenial-4.4-arm64-yyyymmdd.img out/s5p6\
  2. 818-eflasher-friendlycore-xenial-4.4-arm64-AppName-Version.img

补充:

打包根文件目录的另一种方式,不需要设置是否为overlay filesystem。首先挂载好U盘到板子/mnt/rootfs/目录。切换到Root,命令如下:

  1. tar --warning=no-file-changed -cvpzf /mnt/rootfs/rootfs.tar.gz \
  2. --exclude=/rootfs.tar.gz \
  3. --exclude=/mnt/rootfs/rootfs.tar.gz \
  4. --exclude=/var/lib/docker/runtimes \
  5. --exclude=/etc/firstuser \
  6. --exclude=/etc/friendlyelec-release \
  7. --exclude=/usr/local/first_boot_flag \
  8. --one-file-system /


 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小舞很执着/article/detail/953908
推荐阅读
相关标签
  

闽ICP备14008679号