====== PC上で root filesystem を変更する(QEMU使用) ======
[[mae3xx_devel:build_firmware:start]] の手順でファームウェアを作成することはできますが、\\
パッケージの追加・削除 については "apt-get" コマンドを実行する必要があります。\\
実機で NFSやSDカード、USBメモリなどを root filesystem として起動し、作業を行なってもよいのですが、\\
環境の準備に手間がかかりますので、ここではPC上で作業する方法を紹介します。
\\
===== ターゲット root filesystem の準備 =====
ターゲットの root filesystem は、[[download_software:mae3xx:start|ダウンロード:MA-E3xxシリーズ]] からダウンロードして\\
展開しておきます。
user1@lubuntu-vpc:~/work$ ls -l
合計 55464
-rw-r--r-- 1 user1 user1 56777748 3月 31 10:39 MAE320_rootfs_base_rc1.tar.xz
-rwxr-xr-- 1 user1 user1 4680 3月 26 16:05 build_firm.sh
drwxr-xr-x 20 root root 4096 3月 4 16:32 mae320_rootfs <---- ここに展開した
user1@lubuntu-vpc:~/work$
user1@lubuntu-vpc:~/work$ ls -l mae320_rootfs/
合計 72
drwxr-xr-x 2 root root 4096 3月 11 09:44 bin
drwxr-xr-x 2 root root 4096 3月 31 10:44 boot
drwxr-xr-x 2 root root 4096 3月 31 10:43 dev
drwxr-xr-x 80 root root 4096 3月 31 10:35 etc
drwxr-xr-x 3 root root 4096 2月 18 14:22 home
drwxr-xr-x 16 root root 4096 3月 6 10:04 lib
drwxr-xr-x 2 root root 4096 2月 17 12:55 media
drwxr-xr-x 6 root root 4096 3月 7 12:13 mnt
drwxr-xr-x 2 root root 4096 3月 10 16:25 opt
drwxr-xr-x 2 root root 4096 10月 14 05:42 proc
drwx------ 5 root root 4096 3月 25 16:47 root
drwxr-xr-x 2 root root 4096 2月 17 12:59 run
drwxr-xr-x 2 root root 4096 3月 26 13:57 sbin
drwxr-xr-x 2 root root 4096 2月 17 12:55 srv
drwxr-xr-x 2 root root 4096 6月 5 2013 sys
drwxrwxrwt 5 root root 4096 3月 31 11:46 tmp
drwxr-xr-x 10 root root 4096 2月 17 12:55 usr
drwxr-xr-x 11 root root 4096 2月 17 12:55 var
user1@lubuntu-vpc:~/work$
\\
===== chroot スクリプトの準備 =====
このファイルをダウンロードしておきます。
^ filename ^ stat ^ sha1sum ^ info |
|{{:mae3xx_devel:chroot_qemu:chroot_arm.sh|}}|2014/03/31 12:16 611 B|5140784dd478dc194180e3a6ec454d78b302f7b5| |
\\
===== ターゲット root filesystem へ chroot =====
下記の通り、ターゲット root filesystem のパスを指定して実行します。
user1@lubuntu-vpc:~/work$ sudo ./chroot_arm.sh mae320_rootfs/
[sudo] password for user1:
root@lubuntu-vpc:/#
とくに変化はないように見えます。\\
uname コマンドで確認してみます。
root@lubuntu-vpc:/# uname -a
Linux lubuntu-vpc 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 armv7l armv7l armv7l GNU/Linux
root@lubuntu-vpc:/#
machine/processor/hardware-platform が **"armv7l"** となっており、ARM環境になっていることがわかります。
\\
===== ターゲット root filesystem 上での作業 =====
apt-get コマンドが動作するか、確認してみます。
root@lubuntu-vpc:/# apt-get update
0% [Working]qemu: Unsupported syscall: 374
Ign http://ports.ubuntu.com saucy InRelease
Ign http://ports.ubuntu.com saucy-updates InRelease
Ign http://ports.ubuntu.com saucy-security InRelease
Hit http://ports.ubuntu.com saucy Release.gpg
Hit http://ports.ubuntu.com saucy-updates Release.gpg
Hit http://ports.ubuntu.com saucy-security Release.gpg
Hit http://ports.ubuntu.com saucy Release
Hit http://ports.ubuntu.com saucy-updates Release
Hit http://ports.ubuntu.com saucy-security Release
Hit http://ports.ubuntu.com saucy/main armhf Packages
Hit http://ports.ubuntu.com saucy/restricted armhf Packages
Hit http://ports.ubuntu.com saucy/universe armhf Packages
Hit http://ports.ubuntu.com saucy/main Translation-en
Hit http://ports.ubuntu.com saucy/restricted Translation-en
Hit http://ports.ubuntu.com saucy/universe Translation-en
Hit http://ports.ubuntu.com saucy-updates/main armhf Packages
Hit http://ports.ubuntu.com saucy-updates/restricted armhf Packages
Hit http://ports.ubuntu.com saucy-updates/universe armhf Packages
Hit http://ports.ubuntu.com saucy-updates/main Translation-en
Hit http://ports.ubuntu.com saucy-updates/restricted Translation-en
Hit http://ports.ubuntu.com saucy-updates/universe Translation-en
Hit http://ports.ubuntu.com saucy-security/main armhf Packages
Hit http://ports.ubuntu.com saucy-security/restricted armhf Packages
Hit http://ports.ubuntu.com saucy-security/universe armhf Packages
Hit http://ports.ubuntu.com saucy-security/main Translation-en
Hit http://ports.ubuntu.com saucy-security/restricted Translation-en
Hit http://ports.ubuntu.com saucy-security/universe Translation-en
Reading package lists... Done
root@lubuntu-vpc:/#
動作することが確認できました。\\
あとは、通常と同じ手順でパッケージの追加・削除が可能です。