at_ito
2017年8月7日 8時09分
Armadillo-X1, Armadillo-IoT G3/G3Lでは、SDカードをルートファイルシステムとして構築できず、USBメモリに構築する必要がある場合があります。その際のUSBメモリにルートファイルシステムを構築する手順を紹介します。
1. USBメモリのパーティション設定
ATDEにUSBメモリを接続した後、以下のコマンドを実行し、USBメモリのパーティション設定を行ってください。
[atde ~]$ sudo fdisk /dev/sdb
[sudo] password for atmark:
Welcome to fdisk (util-linux 2.25.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): o
Created a new DOS disklabel with disk identifier 0x2cf79549.
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-7913471, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-7913471, default 7913471):
Created a new partition 1 of type 'Linux' and of size 3.8 GiB.
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
2. USBメモリのフォーマット
以下のコマンドを実行しUSBメモリをEXT4でフォーマットしてください。
[atde ~]$ sudo mkfs.ext4 /dev/sdb1
mke2fs 1.42.12 (29-Aug-2014)
Creating filesystem with 988928 4k blocks and 247504 inodes
Filesystem UUID: a29a9d20-dcd5-4c70-8e72-62b5d7b8120b
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736
Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done
3. USBメモリにルートファイルシステムを展開
事前にArmadillo用の「Debian GNU/Linux 8(jessie)ユーザーランド」をATDEにダウンロードしておき、以下のコマンドを実行しUSBメモリにルートファイルシステムを展開してください。
[atde ~]$ mkdir usb
[atde ~]$ sudo mount -t ext4 /dev/sdb1 usb
[atde ~]$ sudo tar zxf debian-jessie-armhf_ax1_20170419.tar.gz -C usb
[atde ~]$ sudo umount usb
[atde ~]$ rmdir usb
4. Armadilloのブートローダーの設定
USBメモリをPCから抜去した後、Armadilloに挿入し、保守モードで起動してください。
保守モードで起動した後、以下のコマンドを実行し、USBメモリのルートファイルシステムを使用するように設定してください。
=> printenv mmcroot
mmcroot=/dev/mmcblk2p2 rootwait rw
=> setenv mmcroot /dev/sda1 rootwait rw
=> printenv mmcroot
mmcroot=/dev/sda1 rootwait rw
※: 次回以降もUSBメモリから起動したい場合はsaveenvコマンドを実行してください。
5. Armadilloの起動
以下のコマンドを実行し、Linuxを起動してください。
=> boot