Gigabit Ethernet の Android TV Box で linuxをインストールできそうなものを探していたところ、HDMIとUSB3はまだ使えないのですが、u-bootとmain line カーネルのサポートがあるとのことだったのでX96Q Pro Plusという機種をポチり、 パッチ類を集め armbian をインストールしたところ、殻割り・はんだ付け作業は必要なのですが、シリアルコンソールで動作確認できたので備忘録として載せておくことにしました。 まず初めに、armbianを git clone します。 sudo mkdir -p /usr/src/armbian cd /usr/src/armbian sudo chown YourID . git clone https://github.com/armbian/build build-h728 クローンしただけの状態だとパッチ類はなにも含まれていないので、パッチを適用できるようにしておきます。以下差分です。 cat > update-sun55iw3.conf-to-kernel-v6.17-rc3.patch 続いてパッチ類をコピーしておきます。パッチ類は こちら からダウンロードしました。画面右上の”コードボタン”をクリックして、"ソースコードをダウンロード"以下からダウンロードできます。 mkdir -p /usr/src/armbian/build-h728/patch/kernel/archive/sunxi-dev-6.17 cd /usr/src/armbian/build-h728/patch/kernel/archive/sunxi-dev-6.17 # ダウンロードし解凍したパッチ類をコピー cp -a ~/patches/????-*.patch . 続いてメニューに対象機が選択できるようにしておきます。 cd /usr/src/armbian/build-h728 cat > config/boards/x96q-pro-plus.tvb これで準備はOKですのでビルドします。 ./compile.sh メニューが出てきますので、カーネルのコンフィグを変える場合は、"Show a kernel c...
amd64 以外のアーキテクチャー用にkernel パッケージをdistccを使ってビルドしてみたのですが、思ったより処理が分散されず時間がかかりすぎていました。どうしたものかと思案したのですが、amd64機(20core 40threads)でのネィティブビルドでは3分ほどで済んだので、クロスコンパイルの方が早いかもとおもいやってみたところ、アーキテクチャによっては4分から10分ほどかかりましたが、distccをつかったネィティブビルドよりもずっと早く済んだのでメモ代わりに挙げてみることにしました。 以下、arm64, armhf, riscv64向けクロスビルドの作業内容です。 ## kernel bindeb-pkg cross compile memo sudo mkdir -p /usr/src/linux-build/linux-6.16 sudo chown -R user1000:user1000 /usr/src/linux-build cd /usr/src/linux-build/linux-6.16 git clone https://github.com/torvalds/linux -b v6.16 cp -a linux linux-6.16.bkup ## arm64 sudo dpkg --add-architecture arm64 sudo apt-get update sudo apt install crossbuild-essential-arm64 libssl-dev:arm64 export ARCH=arm64 export CROSS_COMPILE=aarch64-linux-gnu- cd /usr/src/linux-build/linux-6.16/linux time make distclean time make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- defconfig time make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j 40 bindeb-pkg -- real 10m53.514s user 325m48.438s sys 48m1.326s ## armhf sudo d...