一、映象打包
目前,我的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,回車,跟隨提示設定第一分區起始扇區和結束扇區 重複此操作建立第二...