荔枝派Zero 製作TF啓動卡詳細過程(絕對能用)

我是參考以下的帖子完成TF卡的製作的,非常感謝暈哥的帖子和論壇!

https://whycan.cn/t_561.html

https://whycan.cn/t_547.html

 

注意!所有操作均在root權限下執行!

注意!所有操作均在root權限下執行!

注意!所有操作均在root權限下執行!

第一步 準備工作

首先下載製作荔枝派zero TF卡需要用的文件。

1、u-boot:https://github.com/Lichee-Pi/u-boot/archive/v3s-current.zip

2、Linux kernel:https://github.com/Lichee-Pi/linux/archive/zero-4.10.y.zip

3、Buildroot:https://buildroot.org/downloads/buildroot-2017.08.1.tar.gz

還有一些編譯器gcc、g++、arm-linux-gnueabihf-gcc之類的,都需要apt-get安裝。

 

第二步 編譯u-boot、Linux kernel和Buildroot源碼

一、u-boot編譯

1、在解壓好的u-boot文件夾下輸入以下命令(這個是默認設置):

現修改u-boot的一些配置,讓他能夠從TF卡啓動:

修改u-boot源碼文件夾下的 include/configs/sun8i.h:

添加如下代碼:

#define CONFIG_BOOTCOMMAND   "setenv bootm_boot_mode sec; " \
                            "load mmc 0:1 0x41000000 zImage; "  \
                            "load mmc 0:1 0x41800000 sun8i-v3s-licheepi-zero-dock.dtb; " \
                            "bootz 0x41000000 - 0x41800000;"

#define CONFIG_BOOTARGS      "console=ttyS0,115200 panic=5 rootwait root=/dev/mmcblk0p2 earlyprintk rw  vt.global_cursor_default=0"

然後準備編譯,添加配置:

ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make LicheePi_Zero_defconfig

如果要使用通用4.3寸屏請輸入:

ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make LicheePi_Zero_480x272LCD_defconfig

羣主網店5寸屏:

ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make LicheePi_Zero_800x480LCD_defconfig

2、輸入以下命令,進行menuconfig

ARCH=arm make menuconfig

會彈出配置頁面:

不動它,直接退出。

當然,向自己修改修改配置也是可以的。

3、開始編譯

ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make

注意:生成了u-boot文件:u-boot-sunxi-with-spl.bin

這個文件我們之後要燒寫進TF卡中。

二、Linux kernel編譯

輸入以下命令,這是默認配置:

CROSS_COMPILE=arm-linux-gnueabihf- ARCH=arm make licheepi_zero_defconfig

開始編譯內核( j4的意思是用四個CPU核心去多線程編譯 ):

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4

內核編譯比較久,大家可以喝杯茶或者刷個B站等一等。

編譯好了,結果如下:

編譯好的內核鏡像在/arch/arm/boot下,文件名叫zImage。

這個zImage就是內核鏡像,我們之後要燒寫到TF卡中。

下一步是設備樹的編譯:

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- dtbs

編譯好的設備樹文件在/arch/arm/boot/dts文件夾下:

我們把這個sun8i-v3s-licheepi-zero-dock.dtb文件考出來,這個是設備樹文件,等下也要燒到TF卡中。

三、Buildroot編譯

執行以下命令:

make menuconfig

然後照着官網:https://licheezero.readthedocs.io/zh/latest/%E7%B3%BB%E7%BB%9F%E5%BC%80%E5%8F%91/buildroot.html

一步一步配置。

官網的看不懂,亂七八糟的看不懂,我去暈哥的whycan上找了個帖子,裏面有個配製好的文件:

https://whycan.cn/files/members/4/buildroot-v3s-20171122.zip

具體使用方法我一步一步講,因爲帖子上有的小白也看不懂。

先複製到虛擬機裏面,然後解壓,得到文件 buildroot-v3s-20171122.config

然後這裏注意了啊,使用mv命令把這個文件移動到buildroot-2017.08這個源碼文件夾下,並把這個文件名字改成.config

具體命令如下(我目前的路徑就在這個配置文件的地方):

mv buildroot-v3s-20171122.config buildroot-2017.08/.config

然後這個配置文件就挪到了buildroot裏面,裏面的配置就會按照這個文件進行編譯。

然後make它:

期間會下載很多軟件包,下載速度非常慢,有一個方法是在控制檯上覆制他們的下載鏈接,用迅雷等下載器下載,然後複製到buildroot文件夾下的dl文件夾中,要是dl文件夾沒有,那就先make一下,在ctrl+C取消掉,就會生成了。

然後再重新make,就會在/output/images下生成roofs.tar這個文件。

這個文件就是我們的文件系統,要燒錄到TF卡中。

至此,需要的鏡像全部編譯完,拿到需要的四個文件:

三、開始燒寫TF卡

那個這種讀卡器,懟到USB口上。

先裝個ubuntu上的分區軟件:

sudo apt-get install gparted

右上角選擇自己的TF卡,然後把這個TF分區全都卸載刪除,點這個綠色的√,確定。我們接下來分區。

1、創建放zImage和dtb設備樹文件的分區:

新建這個boot這個分區,32M大小,fat16格式

新建rootfs這個分區,剩餘空間都給了,ex4格式。

點確定:

拔插一下U盤:

會識別出兩個盤符,分區完成:

2、開始燒錄

首先使用命令將u-boot燒寫到TF卡8k偏移處:

注意,我是root權限下!

dd if=u-boot-sunxi-with-spl.bin of=/dev/sdb bs=1024 seek=8

這個/dev/sdb 指的是TF卡,你的可能是sdb也有可能是sdc,主要還是用命令 fdisk -l 來查看:

接着把zImage和dtb文件直接拷貝到boot這個分區下:

然後把rootfs.tar這個文件直接解壓到rootfs這個分區下:

tar xvf rootfs.tar -C /media/momo/rootfs/

你的U盤自動掛載在/media這個文件夾下。

然後彈出TF卡,TF製作完成!

 

四、插上TF卡,上電測試啓動

成功啓動!

登錄賬號:root

密碼:無密碼

有問題可以在下方留言,或者是在https://whycan.cn/可以向很多大神提問!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章