「Orange Pi」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(Warning から Note に変更し、注意書きを変更)
(アーカイブを提案)
1行目: 1行目:
  +
{{Archive|英語版から削除されています}}
 
[[Category:ARM アーキテクチャ]]
 
[[Category:ARM アーキテクチャ]]
 
[[en:Orange Pi]]
 
[[en:Orange Pi]]

2022年5月9日 (月) 15:30時点における版

この記事はアーカイブすることが検討されています。
理由: 英語版から削除されています (議論: トーク:Orange Pi#)

Orange Pi (One) は ARMv7-A アーキテクチャで構成されたミニマルなコンピュータです。プロジェクトの詳細は 公式ホームページ を見てください。

ノート:
  • Orange Pi は ALARM プロジェクトによる公式のサポートがありません。つまり、パッチ、機能リクエストおよびバグレポートを送信しないでください。

この記事は 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 のアップグレード

ノート: 以下の手順は Orange Pi Zero で確認しています。
# 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

参照