Orange Pi
Orange Pi (One) は ARMv7-A アーキテクチャで構成されたミニマルなコンピュータです。プロジェクトの詳細は 公式ホームページ を見てください。
この記事は Banana Pi を元にしています。また、Arch 環境を既に立ち上げたことがある読者を対象にしており、セットアップについて包括的な説明は行いません。
目次
インストール
以下では Arch Linux ARM の armv7 ベース環境を Orange Pi One にインストールします。メインラインによってサポートされている他の Orange Pi でも上手く行く可能性があります。
SD カードにベース環境をインストール
最初に SD カードを初期化してください:
dd if=/dev/zero of=/dev/sdX bs=1M count=8
fdisk を使用して SD カードのパーティショニングを行ってから、mkfs.ext4 -O ^metadata_csum,^64bit /dev/sdX1
でフォーマットしてください。
フォーマットしたファイルシステムをマウント (sda1
は適切なパーティションに置き換えてください):
# mkdir mnt # mount /dev/sda1 mnt
ルートファイルシステムをダウンロードして展開:
# wget https://archlinuxarm.org/os/ArchLinuxARM-armv7-latest.tar.gz # bsdtar -xpf ArchLinuxARM-armv7-latest.tar.gz -C /mnt/
以下のブートスクリプトを作成してください:
boot.cmd
part uuid ${devtype} ${devnum}:${bootpart} uuid setenv bootargs console=${console} root=PARTUUID=${uuid} rw rootwait if load ${devtype} ${devnum}:${bootpart} ${kernel_addr_r} /boot/zImage; then if load ${devtype} ${devnum}:${bootpart} ${fdt_addr_r} /boot/dtbs/${fdtfile}; then if load ${devtype} ${devnum}:${bootpart} ${ramdisk_addr_r} /boot/initramfs-linux.img; then bootz ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r}; else bootz ${kernel_addr_r} - ${fdt_addr_r}; fi; fi; fi if load ${devtype} ${devnum}:${bootpart} 0x48000000 /boot/uImage; then if load ${devtype} ${devnum}:${bootpart} 0x43000000 /boot/script.bin; then setenv bootm_boot_mode sec; bootm 0x48000000; fi; fi
uboot-tools パッケージを使って SD カードに書き込み:
# mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "Orange Pi One boot script" -d boot.cmd /mnt/boot/boot.scr # umount /mnt
U-Boot ブートローダーのコンパイルとコピー
次に U-Boot イメージを作成します。arm-none-eabi-gcc, dtc, git, uboot-tools パッケージをインストールしてください。One 以外の H3 Orange Pi を使用する場合、orangepi_one_config
を適切な文字列に置き換えてください。
U-Boot のソースコードを複製してから Orange Pi のイメージをコンパイル:
$ git clone --depth 1 -b v2016.09.01 git://git.denx.de/u-boot.git $ cd u-boot $ make -j4 ARCH=arm CROSS_COMPILE=arm-none-eabi- orangepi_one_defconfig $ make -j4 ARCH=arm CROSS_COMPILE=arm-none-eabi-
上記のコマンドが成功すると U-Boot イメージ (u-boot-sunxi-with-spl.bin
) が出来上がります。
dd でイメージを SD カードに書き込んでください (/dev/sdX
を SD カードのデバイスに置き換えてください):
# dd if=u-boot-sunxi-with-spl.bin of=/dev/sdX bs=1024 seek=8
ログイン / SSH
root の SSH ログインはデフォルトで無効になっています。デフォルトのユーザーアカウントを使ってログインしてから su を使ってください。
タイプ | ユーザー名 | パスワード |
---|---|---|
Root | root
|
root
|
ユーザー | alarm
|
alarm
|
トラブルシューティング
linux-armv7-4.11.0-1 のアップグレード
# pacman -Syu
linux を最新版にアップグレードすると起動ができなくなります。ブートローダーのアップグレードが必要です。
最新版の u-boot イメージを作成してください:
$ git clone --depth 1 git://git.denx.de/u-boot.git $ cd u-boot $ make -j4 ARCH=arm CROSS_COMPILE=arm-none-eabi- orangepi_one_defconfig $ make -j4 ARCH=arm CROSS_COMPILE=arm-none-eabi-
そして sd カードにイメージを書き込んでください (/dev/sdX
は適切なデバイスに置き換えてください):
# dd if=u-boot-sunxi-with-spl.bin of=/dev/sdX bs=1024 seek=8