at_kazutaka.bito
2017年7月10日 16時48分
Armadillo-440で、USBメモリにDebianルートファイルシステムを構築する方法です。
(ブートローダーとカーネルは、ROMに書き込んだもので動作します。)
Armadillo-400 シリーズソフトウェアマニュアル
第8章 カーネル/ユーザーランドの配置
8.2. ストレージに配置する
に記載のSDカードにDebian環境を構築する方法をベースにします。
下記手順内の詳細な説明については、上記マニュアル内の記述を参照願います。
1.パーティションの作成
Armadillo-440にUSBメモリを挿入します。
fdiskコマンドでパーティションを作成します。
[root@armadillo440-0 (ttymxc1) ~]# fdisk /dev/sda Command (m for help): d // dと入力 Selected partition 1 Command (m for help): n // nと入力 Command action e extended p primary partition (1-4) p // pと入力 Partition number (1-4): 1 // 1と入力 First cylinder (1-487, default 1): Using default value 1 // Enter Last cylinder or +size or +sizeM or +sizeK (1-487, default 487): Using default value 487 // Enter Command (m for help): w // wと入力 The partition table has been altered. Calling ioctl() to re-read partition table sd 0:0:0:0: [sda] No Caching mode page found sd 0:0:0:0: [sda] Assuming drive cache: write through sda: sda1
2.ファイルシステムの作成
mke2fsコマンドでファイルシステムを作成します。
[root@armadillo440-0 (ttymxc1) ~]# mke2fs -j /dev/sda1 mke2fs 1.25 (20-Sep-2001) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 489600 inodes, 977949 blocks 48897 blocks (4%) reserved for the super user First data block=0 30 block groups 32768 blocks per group, 32768 fragments per group 16320 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736 Writing inode tables: done Creating journal (8192 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 27 mounts or -i to override.
3.ルートファイルシステムの構築
Armadillo-440から手順2のUSBメモリを抜いて、PCに挿してATDEに認識させます。
ATDEにdebianルートファイルシステム(下記では、debian-wheezy-armel_a440_20151218.tar.gz)をダウンロード済みを前提としています。
下記のコマンドでUSBメモリにdebianルートファイルシステムを展開します。
atmark@atde5:~$ ls debian* debian-wheezy-armel_a440_20151218.tar.gz atmark@atde5:~$ mkdir sd atmark@atde5:~$ sudo mount -t ext3 /dev/sdb1 sd atmark@atde5:~$ sudo tar zxf debian-wheezy-armel_a440_20151218.tar.gz -C sd atmark@atde5:~$ sudo umount sd atmark@atde5:~$ rmdir sd
4.カーネルパラメーターの設定
Armadillo-440に手順4のUSBメモリを挿して、保守モードで起動します。
(保守モードにするには、SW1を押しながら、電源ONします。)
setenvコマンドで、USBメモリのDebianルートファイルシステムで起動するように設定します。
hermit> setenv console=ttymxc1,115200 root=/dev/sda1 noinitrd rootwait
以降、USBメモリのDebianルートファイルシステムで起動します。
気づいたこと)
起動中に10秒くらいログがでない状態になりますが、待っていると起動しました。