対象は RapsberryPI でも OrangePIでもなくNanoPI M1 という allwinner H3/armhf の 512MB メモリの機種です。作業はこちらのDebianの文書をもとにしましたが、一部をのぞきほぼ説明通りにしたところOKでした。
なお u-boot のコンパイルは作業用PC(amd64)でクロスコンパイルしました。また、インストーラ MicroSDを作成するにあたり、USBカードリーダーを使いました。さらに、インストール対象となるインストーラとは別のMicroSDカードを用意し、それをUSBカードリーダに差し込んでUSBハブに接続し、インストーラを立ち上げてそこにインストールしました。
以下作業内容です。
ガイドには unsupportedとは書いてはいますが、意外とあっさり動いたので u-boot でサポートされていてかつcpuがカーネルメインラインでもサポートされているなら他の機種でも動く可能性はありそうです。
今回は以上です。それでは。
なお u-boot のコンパイルは作業用PC(amd64)でクロスコンパイルしました。また、インストーラ MicroSDを作成するにあたり、USBカードリーダーを使いました。さらに、インストール対象となるインストーラとは別のMicroSDカードを用意し、それをUSBカードリーダに差し込んでUSBハブに接続し、インストーラを立ち上げてそこにインストールしました。
以下作業内容です。
# on amd64(作業用PCで) sudo apt-get install git bison flex gcc-arm-linux-gnueabihf python3-setuptools swig python3-dev libssl-dev build-essential cd /usr/src sudo mkdir u-boot sudo chown YourUID:YourGID u-boot cd u-boot git clone https://source.denx.de/u-boot/u-boot.git cd u-boot git checkout v2025.07 mkdir ../u-boot-build make CROSS_COMPILE=arm-linux-gnueabihf- O=../u-boot-build/ nanopi_m1_defconfig cd ../u-boot-build make CROSS_COMPILE=arm-linux-gnueabihf- -j20 # on amd64(作業用PCにて)インストーラ MicroSD card の作成(カードリーダ要) fdisk /dev/sdx #以下コマンドで 先頭1Gに W95 FAT32 (LBA) パーティションを作成 o n # enter # enter # enter +1G t c #残りをパーティション タイプ linux にしておく(使いませんが) n # enter # enter # enter # enter # 書き込み w # fatパーティションをフォーマット sudo mkfs -t vfat -n UBOOT /dev/sdx1 # インストーラ mscro sd カードに u-bootを書き込む cd /usr/src/u-boot sudo dd if=u-boot-build/u-boot-sunxi-with-spl.bin of=/dev/sdx bs=1024 seek=8 # インストーラが起動できるようにする cd ~/Downloads wget https://ftp.debian.org/debian/dists/stable/main/installer-armhf/current/images/hd-media/hd-media.tar.gz mkdir hd-media cd hd-media tar -axf ../hd-media.tar.gz sudo mount /dev/sdx1 /mnt sudo cp boot.scr initrd.gz vmlinuz /mnt sudo mkdir /mnt/dtbs sudo cp dtbs/sun8i-h3-nanopi-m1.dtb /mnt/dtbs # インストーライメージをダウンロードし micro sd カード にコピー wget https://cdimage.debian.org/debian-cd/current/armhf/iso-cd/debian-12.11.0-armhf-netinst.iso sudo cp -a debian-12.11.0-armhf-netinst.iso /mnt/ # 出来上がったインストーラをアンマウント sudo umount /mntこれでインストーラ micro sd カードの作成はOKです。カードを対象機に入れ、usb キーボードとhdmiを接続しインストール対象となる別のMicroSD カードをUSBカードリーダーに入れ、USBポートに差し込んでください。ここで電源を入れるとインストーラが立ち上がりますので、あとは画面の指示に従ってamd64と同じようにインストールを続けてください。インストール先は/dev/sdaになるはずです。なお nanopi-m1 の bookwormインストールの場合、debian のインストールガイドの説明とは異なり、必要なファイルは パーティション1にインストールされますが、ブートローダの書き込みができていないので、インストール終了後、対象機の電源を切りカードリーダを作業用PCに差し込んで以下のようにしてブートローダ(u-boot)を書き込んで下さい。
cd /usr/src/u-boot sudo dd if=u-boot-sunxi-with-spl.bin of=/dev/sdx bs=1024 seek=8書き込みが済んだらSD Cardを差し込みブートできればOKです。
ガイドには unsupportedとは書いてはいますが、意外とあっさり動いたので u-boot でサポートされていてかつcpuがカーネルメインラインでもサポートされているなら他の機種でも動く可能性はありそうです。
今回は以上です。それでは。
コメント
コメントを投稿