ソースコードから Debian 11 をコンパイルする
Debianファームウェアをコンパイルするには、Linuxのディストリビューション版であるUbuntuを使用することが推奨される。Debianファームウェアをコンパイルするためには、Ubuntu PC上で必要な環境を構築する必要があります。
1.コンパイルの準備
推奨コンピュータ構成は以下の通り:
64ビットCPU(システム設定→バージョン情報→xxビットシステムを開いて確認する)
16GB物理メモリ+スワップメモリ(システム設定→バージョン情報→xxメモリを開いて確認する)
250GBのディスク空き容量(ターミナルを開き、"df -h "コマンドを入力して確認する) 公式に推奨されているオペレーティングシステムはUbuntu 20.04です。(システム設定 -> バージョン情報 -> システムバージョンを開いて確認してください)
2.チェックアウトコード
git clone https://github.com/mixtile-rockchip/build.git
cd ビルド
3.LFSのチェックアウト
git lfs fetch && git lfs checkout
4.依存関係のインストール
sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install -y git ssh make gcc libssl-dev \
liblz4-tool expect g++ patchelf chrpath gawk texinfo ୧-͈ᴗ-͈)◞ʱʱ
chrpath diffstat software-properties-common bison flex ୧-͈ᴗ-͈)◞ʱʱ
fakeroot cmake gcc-multilib g++-multilib unzip device-tree-compiler \
libncurses-dev python3-pip python3-pyelftools bc make build-essential \
libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl ୧-͈ᴗ-͈)◞ʱʱ
llvm libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev ୧-͈ᴗ-͈.
liblzma-dev uuid-dev lzma-dev liblzma-dev libbluetooth-dev python-parted-doc ୧-͈ᴗ-͈.
u-boot-tools sudo time rsync libmpc-dev bsdmainutils python2 xz-utils
5.PPAの依存関係をインストールする
sudo apt-get update && sudo apt-get install -y binfmt-support qemu-user-static live-build
6.debian_prepare をインストールする。
sudo cp debian-rk3588.tar.gz /opt/ && sudo tar -xvf debian-rk3588.tar.gz -C /opt/ && \
sudo apt-get update && sudo apt-get install -y xxd && \
sudo chmod a+x debian_prepare.sh && sudo ./debian_prepare.sh
7.レポをインストールする
mkdir -p ~/.bin && \
sudo curl https://storage.googleapis.com/git-repo-downloads/repo -o ~/.bin/repo && \
sudo cp ~/.bin/repo /usr/bin/repo && sudo chmod a+x /usr/bin/repo
8.ダウンロードコード
repo init -u https://github.com/mixtile-rockchip/manifests.git -b master -m mixtile_edge2_release.xml && \
リポジトリ同期
9.ビルドイメージ
echo '19' >> input.txt && \
echo '8' >> input.txt && \
sudo ./build.sh chip < input.txt && sudo rm input.txt && \
sudo ./build.sh all
10.ビルド出力
ディレクトリ: output/update/Image
.
├── boot.img -> ../../../kernel/boot.img
├── MiniLoaderAll.bin -> ../../../u-boot/rk356x_spl_loader_v1.18.112.bin
├── oem.img -> ../../firmware/oem.img
├── パッケージファイル
├── parameter.txt -> ../../../device/rockchip/.chips/rk3566_rk3568/parameter-buildroot-fit.txt
├── recovery.img -> ../../recovery/ramboot.img
├── rootfs.img -> ../../../debian/linaro-rootfs.img
├── uboot.img -> ../../../u-boot/uboot.img
├── update.img
├── update.raw.img
└── userdata.img -> ../../firmware/userdata.img
update.imgはrockchip形式のイメージです。
update.raw.imgはraw形式のイメージです。