「NanoPi M1」の版間の差分
Kusakata.bot (トーク | 投稿記録) 細 (文字列「http://archlinuxarm.org」を「https://archlinuxarm.org」に置換) |
(英語版と同期) |
||
70行目: | 70行目: | ||
=== Linux のアップデート === |
=== Linux のアップデート === |
||
+ | まず、SSH でシステム内に入り、{{ic|passwd}} で root パスワードを変更してください。 |
||
+ | |||
以下のコマンドで Linux 環境をアップデートしてください: |
以下のコマンドで Linux 環境をアップデートしてください: |
||
# pacman -Syu |
# pacman -Syu |
||
− | {{Grp|base-devel}} グループをインストール |
+ | {{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 |
2019年5月3日 (金) 15:32時点における版
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 https://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 のインストール
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 のアップデート
まず、SSH でシステム内に入り、passwd
で root パスワードを変更してください。
以下のコマンドで Linux 環境をアップデートしてください:
# pacman -Syu
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