五 荔枝派Nano燒錄映象生成 映象打包及燒錄篇

2021-09-24 01:33:47 字數 3722 閱讀 7103

一、映象打包

目前,我的buildroot/uboot/linux的資料夾組織如下圖所示

我的打包指令碼如下:

#! /bin/bash 

rm -rf ./output

mkdir ./output

cd ./output

out_filename="flashimg.bin"

uboot_file=../u-boot/u-boot-sunxi-with-spl.bin

kernel_dir=../linux

kernel_modules_dir=$kernel_dir/out/*

dtb_file=$kernel_dir/arch/arm/boot/dts/suniv-f1c100s-licheepi-nano.dtb

kernel_file=$kernel_dir/arch/arm/boot/zimage

rootfs_file=../buildroot-2019.02.2/output/images/rootfs.tar

spec_file=./custom/*

scriptes=./scripts/*.sh

dd if=/dev/zero of=$out_filename bs=1m count=16

dd if=$uboot_file of=$out_filename bs=1k conv=notrunc

dd if=$dtb_file of=$out_filename bs=1k seek=1024 conv=notrunc

dd if=$kernel_file of=$out_filename bs=1k seek=1088 conv=notrunc

mkdir rootfs

tar xf $rootfs_file -c ./rootfs

cp -r $kernel_modules_dir rootfs/usr/

cp -r $spec_file rootfs/

# add some custom modify

#for f in $scriptes; do

# rootfs_path=./rootfs bash "$f" -h

#done

fakeroot mkfs.jffs2 -s 0x100 -e 0x10000 --pad=0xaf0000 -r rootfs -o rootfs.img -d rootfs

fakeroot mkfs.jffs2 -s 0x100 -e 0x10000 --pad=0x400000 -o jffs2.img -d overlay

dd if=rootfs.img of=$out_filename bs=1k seek=5184 conv=notrunc

dd if=jffs2.img of=$out_filename bs=1m seek=12 conv=notrunc

rm -rf rootfs rootfs.img jffs2.img

通過如上指令碼,會在output的目錄下生成乙個16mb大小的 flashimg.bin 檔案

讓裝置進去燒錄模式後(參考之前的文章 荔枝派nano燒錄 ),通過如下指令碼將打包好的 flashimg.bin 燒錄到lichee開發板裡面

#! /bin/bash 

sunxi-fel -p spiflash-write 0 ./output/flashimg.bin

三、開機啟動

荔枝派nano例子

買回來,先短接flash晶元的14腳,然後上電,再斷開14腳,開始怎麼折騰都不行,最後發現是android線的問題,換成jlink ob送的android線就能找到裝置了,真崩潰 lsusb,應該能看到乙個flash mode的裝置,這個就是 sudo sunxi fel p spiflash wr...

荔枝派nano上手記錄

關於jlink裸機除錯可參考 還沒有弄過,以後有問題再記錄 參考哇酷開發者社群帖子 我用的編譯工具鏈和樓主略有不同,gcc linaro 7.3.1 2018.05 i686 arm linux gnueabi.tar 站內可找到,安裝的時候發現環境配置一直有問題 提示錯誤找不到檔案,是因為缺少32...

製作荔枝派sd映象

uboot製作參考 鏈結 步驟如下 查詢sd卡裝置 fdisk l,記下裝置名,比如sdb 先解除掛載 sudo umount dev sdb1,sudo umount dev sdb2 然後分割槽 fdisk dev sdb 輸入n,回車,跟隨提示設定第一分區起始扇區和結束扇區 重複此操作建立第二...