「NanoPi M1」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(英語版と同期)
(アーカイブ)
タグ: 置換
 
(他の1人の利用者による、間の1版が非表示)
1行目: 1行目:
[[Category:ARM アーキテクチャ]]
 
[[en:NanoPi M1]]
 
NanoPi M1 は小型の ARM 搭載コンピュータです。Allwinner H3 プロセッサと 512 または 1024 MB のメモリを搭載しています。この記事は [[Orange Pi]] の記事を基にしています。
 
   
  +
#redirect [[ArchWiki:アーカイブ]]
== ベースシステムの作成 ==
 
  +
[[Category:アーカイブ]]
NanoPi M1 は Das U-Boot でイメージ化された ext4 のシングルパーティションから起動します。その後 ArchLinuxArm の RootFS をカードにダウンロードすることが可能です。
 
 
=== 開発環境の作成 ===
 
開発ファイルを保存するためのディレクトリを作成:
 
$ mkdir -p nanopi_arch/mnt
 
 
=== SD カードのパーティションとマウント ===
 
fdisk を使って SD カードをパーティションして {{ic|mkfs.ext4 -O ^metadata_csum,^64bit /dev/sdX1}} でフォーマットしてください (デバイス名は適当に置き換えてください)。カードをマウントするには:
 
# mount /dev/sdX1 mnt
 
 
=== ArchLinuxArm RootFS のインストール ===
 
RootFS from ArchLinuxArm のウェブサイトから RootFS をダウンロード:
 
$ wget https://archlinuxarm.org/os/ArchLinuxARM-armv7-latest.tar.gz
 
SD カードに RootFS を展開:
 
# bsdtar -xpf ArchLinuxARM-armv7-latest.tar.gz -C mnt/
 
# sync
 
 
=== U-Boot の設定 ===
 
以下のブートスクリプトを作成:
 
{{hc|boot.cmd|<nowiki>
 
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</nowiki>}}
 
{{Pkg|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 のインストール ===
 
{{Note|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-
 
{{ic|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 電源で給電してください。起動しない場合、[http://linux-sunxi.org/FriendlyARM_NanoPi_M1#Locating_the_UART こちら] や[[シリアルコンソール]]の記事に書かれているように UART シリアルデバッガを接続してください。
 
 
{{ic|alarm/alarm}} で SSH にログインできます。
 
 
Root パスワード: {{ic|root}}。
 
 
=== Linux のアップデート ===
 
まず、SSH でシステム内に入り、{{ic|passwd}} で root パスワードを変更してください。
 
 
以下のコマンドで Linux 環境をアップデートしてください:
 
# pacman -Syu
 
{{Grp|base-devel}} グループおよび [[Git]] をインストールしてください。
 
 
そして、SoC にある Mali グラフィクスカードのドライバーをインストールします。
 
 
# git clone https://github.com/mripard/sunxi-mali.git
 
# cd sunxi-mali
 
# export CROSS_COMPILE=$TOOLCHAIN_PREFIX
 
# export KDIR=$KERNEL_BUILD_DIR
 
# export INSTALL_MOD_PATH=$TARGET_DIR
 
# ./build.sh -r r6p2 -b
 
# ./build.sh -r r6p2 -i
 
 
最後に、ユーザースペースのブロブを次のようにして導入します:
 
 
# git clone https://github.com/free-electrons/mali-blobs.git
 
# cd mali-blobs
 
# cp -a r6p2/fbdev/lib/lib_fb_dev/lib* $TARGET_DIR/usr/lib
 

2022年5月21日 (土) 09:13時点における最新版