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

记录一下制作生产使用的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)
    mkdir /mnt/rootfs
    mount /dev/mmcblk1p2 /mnt/rootfs
  • 挂载 u盘下到 /mnt/udisk
    mount /dev/sdb1 /mnt/udisk
    mkdir /mnt/udisk/rootfs
  • 安装 rsync 工具
    wget http://112.124.9.243/cn-apt-source.sh
    chmod 755 cn-apt-source.sh
    ./cn-apt-source.sh
    apt-get update
    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这一步会报错)
    git clone https://github.com/friendlyarm/sd-fuse_s5p4418.git
    cd sd-fuse_s5p4418
    mkdir friendlycore
    ./build-rootfs-img.sh /media/udisk/rootfs friendlycore
    

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

下载官方镜像

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

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

cd sd-fuse_s5p4418
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
mv out/s5p6818-eflasher-friendlycore-xenial-4.4-arm64-yyyymmdd.img out/s5p6\
818-eflasher-friendlycore-xenial-4.4-arm64-AppName-Version.img

补充:

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

tar --warning=no-file-changed -cvpzf /mnt/rootfs/rootfs.tar.gz \     
--exclude=/rootfs.tar.gz \
--exclude=/mnt/rootfs/rootfs.tar.gz \
--exclude=/var/lib/docker/runtimes \     
--exclude=/etc/firstuser \ 
--exclude=/etc/friendlyelec-release \     
--exclude=/usr/local/first_boot_flag \ 
--one-file-system /


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值