「NanoPi M1」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(翻訳)
 
(同期)
8行目: 8行目:
 
=== 開発環境の作成 ===
 
=== 開発環境の作成 ===
 
開発ファイルを保存するためのディレクトリを作成:
 
開発ファイルを保存するためのディレクトリを作成:
$ mkdir nanopi_arch
+
$ mkdir -p nanopi_arch/mnt
$ cd nanopi_arch
 
$ mkdir mnt
 
   
 
=== SD カードのパーティションとマウント ===
 
=== SD カードのパーティションとマウント ===
50行目: 48行目:
 
# umount mnt
 
# umount mnt
 
=== U-Boot のインストール ===
 
=== U-Boot のインストール ===
  +
{{Note|2017年5月現在、上流の U-Boot リポジトリにはグラフィックのサポートがありません。}}
git リポジトリの master ブランチから U-Boot をクローン:
 
  +
jernejsk の git リポジトリから U-Boot をクローン:
$ git clone --depth 1 git://git.denx.de/u-boot.git
 
  +
$ git clone --depth 1 https://github.com/jernejsk/u-boot.git
  +
Arch 用の U-Boot コードにはバグが存在します。以下のコマンドで修正します:
  +
$ sed -i -e 's/\#\!\/usr\/bin\/env\ python/\#\!\/usr\/bin\/env\ python2/g' tools/binman/binman
 
NanoPi は OrangePi PC と共通している部分が多いため、OrangePi のターゲットを使用することができます。U-Boot をビルド:
 
NanoPi は OrangePi PC と共通している部分が多いため、OrangePi のターゲットを使用することができます。U-Boot をビルド:
 
$ cd u-boot
 
$ cd u-boot
62行目: 63行目:
 
== ベースシステムの設定 ==
 
== ベースシステムの設定 ==
 
=== NanoPi の起動 ===
 
=== NanoPi の起動 ===
NanoPi に 5V 電源で給電してください。起動しない場合、[http://linux-sunxi.org/FriendlyARM_NanoPi_M1#Locating_the_UART こちら] に書かれているように UART シリアルデバッガを接続してください。
+
NanoPi に 5V 電源で給電してください。起動しない場合、[http://linux-sunxi.org/FriendlyARM_NanoPi_M1#Locating_the_UART こちら] や[[シリアルコンソール]]の記事に書かれているように UART シリアルデバッガを接続してください。
   
 
{{ic|alarm/alarm}} で SSH にログインできます。
 
{{ic|alarm/alarm}} で SSH にログインできます。
71行目: 72行目:
 
以下のコマンドで Linux 環境をアップデートしてください:
 
以下のコマンドで Linux 環境をアップデートしてください:
 
# pacman -Syu
 
# pacman -Syu
  +
{{Grp|base-devel}} グループをインストールすることを推奨します。

2017年8月4日 (金) 23:42時点における版

NanoPi M1 は小型の ARM 搭載コンピュータです。Allwinner H3 プロセッサと 512 または 1024 MB のメモリを搭載しています。この記事は Orange Pi の記事を基にしています。

ベースシステムの作成

NanoPi M1 は Das U-Boot でイメージ化された ext4 のシングルパーティションから起動します。その後 ArchLinuxArm の RootFS をカードにダウンロードすることが可能です。

開発環境の作成

開発ファイルを保存するためのディレクトリを作成:

$ mkdir -p nanopi_arch/mnt

SD カードのパーティションとマウント

fdisk を使って SD カードをパーティションして mkfs.ext4 -O ^metadata_csum,^64bit /dev/sdX1 でフォーマットしてください (デバイス名は適当に置き換えてください)。カードをマウントするには:

# mount /dev/sdX1 mnt

ArchLinuxArm RootFS のインストール

RootFS from ArchLinuxArm のウェブサイトから RootFS をダウンロード:

$ wget http://archlinuxarm.org/os/ArchLinuxARM-armv7-latest.tar.gz

SD カードに RootFS を展開:

# bsdtar -xpf ArchLinuxARM-armv7-latest.tar.gz -C mnt/
# sync

U-Boot の設定

以下のブートスクリプトを作成:

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 "NanoPi M1 Boot Script" -d boot.cmd mnt/boot/boot.scr

SD カードのアンマウント

# umount mnt

U-Boot のインストール

ノート: 2017年5月現在、上流の U-Boot リポジトリにはグラフィックのサポートがありません。

jernejsk の git リポジトリから U-Boot をクローン:

$ git clone --depth 1 https://github.com/jernejsk/u-boot.git

Arch 用の U-Boot コードにはバグが存在します。以下のコマンドで修正します:

$ sed -i -e 's/\#\!\/usr\/bin\/env\ python/\#\!\/usr\/bin\/env\ python2/g' tools/binman/binman

NanoPi は OrangePi PC と共通している部分が多いため、OrangePi のターゲットを使用することができます。U-Boot をビルド:

$ cd u-boot
$ make -j4 ARCH=arm CROSS_COMPILE=arm-none-eabi- orangepi_pc_defconfig
$ make -j4 ARCH=arm CROSS_COMPILE=arm-none-eabi-

u-boot-sunxi-with-spl.bin という名前のイメージが生成されるので SD カードに書き込む:

# dd if=u-boot-sunxi-with-spl.bin of=/dev/sdX bs=1024 seek=8
$ cd ..

ベースシステムの設定

NanoPi の起動

NanoPi に 5V 電源で給電してください。起動しない場合、こちらシリアルコンソールの記事に書かれているように UART シリアルデバッガを接続してください。

alarm/alarm で SSH にログインできます。

Root パスワード: root

Linux のアップデート

以下のコマンドで Linux 環境をアップデートしてください:

# pacman -Syu

base-devel グループをインストールすることを推奨します。