前言
手邊有一片很久沒有動過的 Raspberry Pi 3 B+。剛好最近工作上需要在 imx8 進行開發。藉此順便先練練手。
主要內容
準備 Yocto 環境
- 建立我們要開發的資料夾
my-rpi
,接下來我們都會在這個資料夾中進行操作。 - 下載 poky 。
1
2
| mkdir my-rpi && cd my-rpi
git clone -b hardknott git://git.yoctoproject.org/poky.git
|
準備 meta-raspberrypi 層
1
| git clone -b hardknott git://git.yoctoproject.org/meta-raspberrypi
|
初始化開發環境
1
| source poky/oe-init-build-env build-rpi
|
加入 meta-raspibary 層
1
| bitbake-layers add-layer ../meta-raspberrypi
|
修改配置
1
2
3
4
5
6
| sed -i 's/^MACHINE.*/MACHINE ?= "raspberrypi3"/g' conf/local.conf
sed -i '/^#DL_DIR ?= "${TOPDIR}\/downloads"/ a DL_DIR ?= \"${HOME}/yocto/downloads"' conf/local.conf
sed -i 's/^PACKAGE_CLASSES.*/PACKAGE_CLASSES ?= "package_ipk"/g' conf/local.conf
echo 'RPI_USE_U_BOOT = "1"' >> conf/local.conf
echo 'ENABLE_UART = "1"' >> conf/local.conf
|
開始編譯
1
| bitbake core-image-minimal
|
寫入 SD Card
1
2
| bzip -Dk core-image-minimal-raspberrypi3.wic.bz2
sudo dd if=core-image-minimal-raspberrypi3.wic of=${SD_CARD} bs=40960
|
小結
編譯出來的系統已可以開始,並在UART 終端機看到開始時的輸出,以及可以使用root 進入系統。
參考連結