Ubuntu Linuxを採用していますので、apt-getコマンドにより追加ソフトウェアの導入が可能です。
root@plum:~# apt-get update 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 Get:1 http://ports.ubuntu.com saucy-updates Release.gpg [933 B] Get:2 http://ports.ubuntu.com saucy-security Release.gpg [933 B] Hit http://ports.ubuntu.com saucy Release Get:3 http://ports.ubuntu.com saucy-updates Release [49.6 kB] Get:4 http://ports.ubuntu.com saucy-security Release [49.6 kB] 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 Get:5 http://ports.ubuntu.com saucy-updates/main armhf Packages [212 kB] Get:6 http://ports.ubuntu.com saucy-updates/restricted armhf Packages [14 B] Get:7 http://ports.ubuntu.com saucy-updates/universe armhf Packages [147 kB] 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 Get:8 http://ports.ubuntu.com saucy-security/main armhf Packages [103 kB] Get:9 http://ports.ubuntu.com saucy-security/restricted armhf Packages [14 B] Get:10 http://ports.ubuntu.com saucy-security/universe armhf Packages [32.6 kB] 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 Fetched 596 kB in 11s (50.7 kB/s) Reading package lists... Done root@plum:~# apt-get install build-essential Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: binutils cpp cpp-4.8 dpkg-dev fakeroot g++ g++-4.8 gcc gcc-4.8 libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libasan0 libatomic1 libc-dev-bin libc6-dev libclass-isa-perl libcloog-isl4 libdpkg-perl libfile-fcntllock-perl libgcc-4.8-dev libgdbm3 libgomp1 libisl10 libmpc3 libmpfr4 libstdc++-4.8-dev libswitch-perl libtimedate-perl linux-libc-dev make manpages manpages-dev patch perl perl-modules Suggested packages: binutils-doc cpp-doc gcc-4.8-locales debian-keyring g++-multilib g++-4.8-multilib gcc-4.8-doc libstdc++6-4.8-dbg gcc-multilib autoconf automake1.9 libtool flex bison gdb gcc-doc gcc-4.8-multilib libmudflap0-4.8-dev libgcc1-dbg libgomp1-dbg libitm1-dbg libatomic1-dbg libasan0-dbg libtsan0-dbg libbacktrace1-dbg libquadmath-dbg libmudflap0-dbg binutils-gold glibc-doc libstdc++-4.8-doc make-doc man-browser ed diffutils-doc perl-doc libterm-readline-gnu-perl libterm-readline-perl-perl libpod-plainer-perl The following NEW packages will be installed: binutils build-essential cpp cpp-4.8 dpkg-dev fakeroot g++ g++-4.8 gcc gcc-4.8 libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libasan0 libatomic1 libc-dev-bin libc6-dev libclass-isa-perl libcloog-isl4 libdpkg-perl libfile-fcntllock-perl libgcc-4.8-dev libgdbm3 libgomp1 libisl10 libmpc3 libmpfr4 libstdc++-4.8-dev libswitch-perl libtimedate-perl linux-libc-dev make manpages manpages-dev patch perl perl-modules 0 upgraded, 37 newly installed, 0 to remove and 0 not upgraded. Need to get 37.9 MB of archives. After this operation, 102 MB of additional disk space will be used. Do you want to continue [Y/n]? y Get:1 http://ports.ubuntu.com/ubuntu-ports/ saucy/main libgdbm3 armhf 1.8.3-12build1 [31.1 kB] Get:2 http://ports.ubuntu.com/ubuntu-ports/ saucy-updates/main libasan0 armhf 4.8.1-10ubuntu9 [67.5 kB] Get:3 http://ports.ubuntu.com/ubuntu-ports/ saucy-updates/main libatomic1 armhf 4.8.1-10ubuntu9 [6768 B] Get:4 http://ports.ubuntu.com/ubuntu-ports/ saucy/main libisl10 armhf 0.11.2-1 [365 kB] Get:5 http://ports.ubuntu.com/ubuntu-ports/ saucy/main libcloog-isl4 armhf 0.18.0-2 [53.6 kB] Get:6 http://ports.ubuntu.com/ubuntu-ports/ saucy-updates/main libgomp1 armhf 4.8.1-10ubuntu9 [25.1 kB] Get:7 http://ports.ubuntu.com/ubuntu-ports/ saucy/main libmpfr4 armhf 3.1.1-2 [184 kB] Get:8 http://ports.ubuntu.com/ubuntu-ports/ saucy/main libmpc3 armhf 1.0.1-1 [35.2 kB] Get:9 http://ports.ubuntu.com/ubuntu-ports/ saucy/main manpages all 3.54-1ubuntu1 [627 kB] Get:10 http://ports.ubuntu.com/ubuntu-ports/ saucy/main binutils armhf 2.23.52.20130913-0ubuntu1 [3430 kB] Get:11 http://ports.ubuntu.com/ubuntu-ports/ saucy/main libc-dev-bin armhf 2.17-93ubuntu4 [70.2 kB] Get:12 http://ports.ubuntu.com/ubuntu-ports/ saucy-updates/main linux-libc-dev armhf 3.11.0-18.32 [936 kB] Get:13 http://ports.ubuntu.com/ubuntu-ports/ saucy/main libc6-dev armhf 2.17-93ubuntu4 [2218 kB] Get:14 http://ports.ubuntu.com/ubuntu-ports/ saucy-updates/main cpp-4.8 armhf 4.8.1-10ubuntu9 [5186 kB] Get:15 http://ports.ubuntu.com/ubuntu-ports/ saucy/main cpp armhf 4:4.8.1-2ubuntu3 [28.2 kB] Get:16 http://ports.ubuntu.com/ubuntu-ports/ saucy-updates/main libgcc-4.8-dev armhf 4.8.1-10ubuntu9 [300 kB] Get:17 http://ports.ubuntu.com/ubuntu-ports/ saucy-updates/main gcc-4.8 armhf 4.8.1-10ubuntu9 [5913 kB] Get:18 http://ports.ubuntu.com/ubuntu-ports/ saucy/main gcc armhf 4:4.8.1-2ubuntu3 [5132 B] Get:19 http://ports.ubuntu.com/ubuntu-ports/ saucy-updates/main libstdc++-4.8-dev armhf 4.8.1-10ubuntu9 [1806 kB] Get:20 http://ports.ubuntu.com/ubuntu-ports/ saucy-updates/main g++-4.8 armhf 4.8.1-10ubuntu9 [6372 kB] Get:21 http://ports.ubuntu.com/ubuntu-ports/ saucy/main g++ armhf 4:4.8.1-2ubuntu3 [1458 B] Get:22 http://ports.ubuntu.com/ubuntu-ports/ saucy/main make armhf 3.81-8.2ubuntu3 [105 kB] Get:23 http://ports.ubuntu.com/ubuntu-ports/ saucy/main libswitch-perl all 2.16-2 [19.2 kB] Get:24 http://ports.ubuntu.com/ubuntu-ports/ saucy/main libclass-isa-perl all 0.36-5 [9686 B] Get:25 http://ports.ubuntu.com/ubuntu-ports/ saucy/main perl-modules all 5.14.2-21build1 [3404 kB] Get:26 http://ports.ubuntu.com/ubuntu-ports/ saucy/main perl armhf 5.14.2-21build1 [3634 kB] Get:27 http://ports.ubuntu.com/ubuntu-ports/ saucy/main libtimedate-perl all 1.2000-1 [41.6 kB] Get:28 http://ports.ubuntu.com/ubuntu-ports/ saucy/main libdpkg-perl all 1.16.12ubuntu1 [188 kB] Get:29 http://ports.ubuntu.com/ubuntu-ports/ saucy/main patch armhf 2.7.1-3 [86.2 kB] Get:30 http://ports.ubuntu.com/ubuntu-ports/ saucy/main dpkg-dev all 1.16.12ubuntu1 [769 kB] Get:31 http://ports.ubuntu.com/ubuntu-ports/ saucy/main build-essential armhf 11.6ubuntu5 [5610 B] Get:32 http://ports.ubuntu.com/ubuntu-ports/ saucy/main fakeroot armhf 1.20-1 [82.2 kB] Get:33 http://ports.ubuntu.com/ubuntu-ports/ saucy/main libalgorithm-diff-perl all 1.19.02-3 [50.0 kB] Get:34 http://ports.ubuntu.com/ubuntu-ports/ saucy/main libalgorithm-diff-xs-perl armhf 0.04-2build3 [12.0 kB] Get:35 http://ports.ubuntu.com/ubuntu-ports/ saucy/main libalgorithm-merge-perl all 0.08-2 [12.7 kB] Get:36 http://ports.ubuntu.com/ubuntu-ports/ saucy/main libfile-fcntllock-perl armhf 0.14-2 [15.4 kB] Get:37 http://ports.ubuntu.com/ubuntu-ports/ saucy/main manpages-dev all 3.54-1ubuntu1 [1820 kB] Fetched 37.9 MB in 57s (665 kB/s) Extracting templates from packages: 100% Selecting previously unselected package libgdbm3:armhf. (Reading database ... 17467 files and directories currently installed.) Unpacking libgdbm3:armhf (from .../libgdbm3_1.8.3-12build1_armhf.deb) ... Selecting previously unselected package libasan0:armhf. Unpacking libasan0:armhf (from .../libasan0_4.8.1-10ubuntu9_armhf.deb) ... Selecting previously unselected package libatomic1:armhf. Unpacking libatomic1:armhf (from .../libatomic1_4.8.1-10ubuntu9_armhf.deb) ... Selecting previously unselected package libisl10:armhf. Unpacking libisl10:armhf (from .../libisl10_0.11.2-1_armhf.deb) ... Selecting previously unselected package libcloog-isl4:armhf. Unpacking libcloog-isl4:armhf (from .../libcloog-isl4_0.18.0-2_armhf.deb) ... Selecting previously unselected package libgomp1:armhf. Unpacking libgomp1:armhf (from .../libgomp1_4.8.1-10ubuntu9_armhf.deb) ... Selecting previously unselected package libmpfr4:armhf. Unpacking libmpfr4:armhf (from .../libmpfr4_3.1.1-2_armhf.deb) ... Selecting previously unselected package libmpc3:armhf. Unpacking libmpc3:armhf (from .../libmpc3_1.0.1-1_armhf.deb) ... Selecting previously unselected package manpages. Unpacking manpages (from .../manpages_3.54-1ubuntu1_all.deb) ... Selecting previously unselected package binutils. Unpacking binutils (from .../binutils_2.23.52.20130913-0ubuntu1_armhf.deb) ... Selecting previously unselected package libc-dev-bin. Unpacking libc-dev-bin (from .../libc-dev-bin_2.17-93ubuntu4_armhf.deb) ... Selecting previously unselected package linux-libc-dev:armhf. Unpacking linux-libc-dev:armhf (from .../linux-libc-dev_3.11.0-18.32_armhf.deb) ... Selecting previously unselected package libc6-dev:armhf. Unpacking libc6-dev:armhf (from .../libc6-dev_2.17-93ubuntu4_armhf.deb) ... Selecting previously unselected package cpp-4.8. Unpacking cpp-4.8 (from .../cpp-4.8_4.8.1-10ubuntu9_armhf.deb) ... Selecting previously unselected package cpp. Unpacking cpp (from .../cpp_4%3a4.8.1-2ubuntu3_armhf.deb) ... Selecting previously unselected package libgcc-4.8-dev:armhf. Unpacking libgcc-4.8-dev:armhf (from .../libgcc-4.8-dev_4.8.1-10ubuntu9_armhf.deb) ... Selecting previously unselected package gcc-4.8. Unpacking gcc-4.8 (from .../gcc-4.8_4.8.1-10ubuntu9_armhf.deb) ... Selecting previously unselected package gcc. Unpacking gcc (from .../gcc_4%3a4.8.1-2ubuntu3_armhf.deb) ... Selecting previously unselected package libstdc++-4.8-dev:armhf. Unpacking libstdc++-4.8-dev:armhf (from .../libstdc++-4.8-dev_4.8.1-10ubuntu9_armhf.deb) ... Selecting previously unselected package g++-4.8. Unpacking g++-4.8 (from .../g++-4.8_4.8.1-10ubuntu9_armhf.deb) ... Selecting previously unselected package g++. Unpacking g++ (from .../g++_4%3a4.8.1-2ubuntu3_armhf.deb) ... Selecting previously unselected package make. Unpacking make (from .../make_3.81-8.2ubuntu3_armhf.deb) ... Selecting previously unselected package libswitch-perl. Unpacking libswitch-perl (from .../libswitch-perl_2.16-2_all.deb) ... Selecting previously unselected package libclass-isa-perl. Unpacking libclass-isa-perl (from .../libclass-isa-perl_0.36-5_all.deb) ... Selecting previously unselected package perl-modules. Unpacking perl-modules (from .../perl-modules_5.14.2-21build1_all.deb) ... Selecting previously unselected package perl. Unpacking perl (from .../perl_5.14.2-21build1_armhf.deb) ... Selecting previously unselected package libtimedate-perl. Unpacking libtimedate-perl (from .../libtimedate-perl_1.2000-1_all.deb) ... Selecting previously unselected package libdpkg-perl. Unpacking libdpkg-perl (from .../libdpkg-perl_1.16.12ubuntu1_all.deb) ... Selecting previously unselected package patch. Unpacking patch (from .../patch_2.7.1-3_armhf.deb) ... Selecting previously unselected package dpkg-dev. Unpacking dpkg-dev (from .../dpkg-dev_1.16.12ubuntu1_all.deb) ... Selecting previously unselected package build-essential. Unpacking build-essential (from .../build-essential_11.6ubuntu5_armhf.deb) ... Selecting previously unselected package fakeroot. Unpacking fakeroot (from .../fakeroot_1.20-1_armhf.deb) ... Selecting previously unselected package libalgorithm-diff-perl. Unpacking libalgorithm-diff-perl (from .../libalgorithm-diff-perl_1.19.02-3_all.deb) ... Selecting previously unselected package libalgorithm-diff-xs-perl. Unpacking libalgorithm-diff-xs-perl (from .../libalgorithm-diff-xs-perl_0.04-2build3_armhf.deb) ... Selecting previously unselected package libalgorithm-merge-perl. Unpacking libalgorithm-merge-perl (from .../libalgorithm-merge-perl_0.08-2_all.deb) ... Selecting previously unselected package libfile-fcntllock-perl. Unpacking libfile-fcntllock-perl (from .../libfile-fcntllock-perl_0.14-2_armhf.deb) ... Selecting previously unselected package manpages-dev. Unpacking manpages-dev (from .../manpages-dev_3.54-1ubuntu1_all.deb) ... Setting up libgdbm3:armhf (1.8.3-12build1) ... Setting up libasan0:armhf (4.8.1-10ubuntu9) ... Setting up libatomic1:armhf (4.8.1-10ubuntu9) ... Setting up libisl10:armhf (0.11.2-1) ... Setting up libcloog-isl4:armhf (0.18.0-2) ... Setting up libgomp1:armhf (4.8.1-10ubuntu9) ... Setting up libmpfr4:armhf (3.1.1-2) ... Setting up libmpc3:armhf (1.0.1-1) ... Setting up manpages (3.54-1ubuntu1) ... Setting up binutils (2.23.52.20130913-0ubuntu1) ... Setting up libc-dev-bin (2.17-93ubuntu4) ... Setting up linux-libc-dev:armhf (3.11.0-18.32) ... Setting up libc6-dev:armhf (2.17-93ubuntu4) ... Setting up cpp-4.8 (4.8.1-10ubuntu9) ... Setting up cpp (4:4.8.1-2ubuntu3) ... Setting up libgcc-4.8-dev:armhf (4.8.1-10ubuntu9) ... Setting up gcc-4.8 (4.8.1-10ubuntu9) ... Setting up gcc (4:4.8.1-2ubuntu3) ... Setting up libstdc++-4.8-dev:armhf (4.8.1-10ubuntu9) ... Setting up g++-4.8 (4.8.1-10ubuntu9) ... Setting up g++ (4:4.8.1-2ubuntu3) ... update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode update-alternatives: warning: skip creation of /usr/share/man/man1/c++.1.gz because associated file /usr/share/man/man1/g++.1.gz (of link group c++) doesn't exist Setting up make (3.81-8.2ubuntu3) ... Setting up libclass-isa-perl (0.36-5) ... Setting up patch (2.7.1-3) ... Setting up fakeroot (1.20-1) ... update-alternatives: using /usr/bin/fakeroot-sysv to provide /usr/bin/fakeroot (fakeroot) in auto mode update-alternatives: warning: skip creation of /usr/share/man/man1/fakeroot.1.gz because associated file /usr/share/man/man1/fakeroot-sysv.1.gz (of link group fakeroot) doesn't exist update-alternatives: warning: skip creation of /usr/share/man/man1/faked.1.gz because associated file /usr/share/man/man1/faked-sysv.1.gz (of link group fakeroot) doesn't exist update-alternatives: warning: skip creation of /usr/share/man/es/man1/fakeroot.1.gz because associated file /usr/share/man/es/man1/fakeroot-sysv.1.gz (of link group fakeroot) doesn't exist update-alternatives: warning: skip creation of /usr/share/man/es/man1/faked.1.gz because associated file /usr/share/man/es/man1/faked-sysv.1.gz (of link group fakeroot) doesn't exist update-alternatives: warning: skip creation of /usr/share/man/fr/man1/fakeroot.1.gz because associated file /usr/share/man/fr/man1/fakeroot-sysv.1.gz (of link group fakeroot) doesn't exist update-alternatives: warning: skip creation of /usr/share/man/fr/man1/faked.1.gz because associated file /usr/share/man/fr/man1/faked-sysv.1.gz (of link group fakeroot) doesn't exist update-alternatives: warning: skip creation of /usr/share/man/sv/man1/fakeroot.1.gz because associated file /usr/share/man/sv/man1/fakeroot-sysv.1.gz (of link group fakeroot) doesn't exist update-alternatives: warning: skip creation of /usr/share/man/sv/man1/faked.1.gz because associated file /usr/share/man/sv/man1/faked-sysv.1.gz (of link group fakeroot) doesn't exist Setting up manpages-dev (3.54-1ubuntu1) ... Setting up libswitch-perl (2.16-2) ... Setting up perl-modules (5.14.2-21build1) ... Setting up perl (5.14.2-21build1) ... update-alternatives: using /usr/bin/prename to provide /usr/bin/rename (rename) in auto mode update-alternatives: warning: skip creation of /usr/share/man/man1/rename.1.gz because associated file /usr/share/man/man1/prename.1.gz (of link group rename) doesn't exist Setting up libtimedate-perl (1.2000-1) ... Setting up libdpkg-perl (1.16.12ubuntu1) ... Setting up dpkg-dev (1.16.12ubuntu1) ... Setting up build-essential (11.6ubuntu5) ... Setting up libalgorithm-diff-perl (1.19.02-3) ... Setting up libalgorithm-diff-xs-perl (0.04-2build3) ... Setting up libalgorithm-merge-perl (0.08-2) ... Setting up libfile-fcntllock-perl (0.14-2) ... Processing triggers for libc-bin ... localepurge: Disk space freed in /usr/share/locale: 0 KiB localepurge: Disk space freed in /usr/share/man: 0 KiB Total disk space freed by localepurge: 0 KiB root@plum:~#
gccなど開発環境が導入され、セルフ環境で開発が可能となります。
root@plum:~# gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/4.8/lto-wrapper Target: arm-linux-gnueabihf Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.8.1-10ubuntu9' --with-bugurl =file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ - -prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib -- without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 --libdir =/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libst dcxx-time=yes --enable-gnu-unique-object --disable-libitm --disable-libquadmath --enable-plugin --wi th-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/u sr/lib/jvm/java-1.5.0-gcj-4.8-armhf/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5 .0-gcj-4.8-armhf --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-armhf --with-arch-direct ory=arm --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --enable- multilib --disable-sjlj-exceptions --with-arch=armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with -mode=thumb --disable-werror --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux- gnueabihf --target=arm-linux-gnueabihf Thread model: posix gcc version 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu9)
導入後は、overlaycfg コマンドにより、tmpfs上の更新分ファイルをオーバーレイ領域に保存しておくことができます。
上記パッケージを導入した環境の場合、保存に6分ほどかかります。
root@plum:~# overlaycfg -s other
これにより導入したパッケージ類は保存され、再起動後も使用することができます。
保存されたファイルの状況を確認しても、まだ60%弱の使用率となっていることがわかります。
root@plum:~# ls -l /rw.tmpfs/.overlay/ total 22272 -rw-r--r-- 1 root root 980 Mar 12 15:02 overlays_etc.tar.xz -rw-r--r-- 1 root root 108 Mar 12 15:02 overlays_home.tar.xz -rw-r--r-- 1 root root 78192 Mar 12 15:02 overlays_log.tar.xz -rw-r--r-- 1 root root 22714188 Mar 12 15:41 overlays_other.tar.xz root@plum:~# df Filesystem 1K-blocks Used Available Use% Mounted on rootfs 253828 138092 115736 55% / udev 244440 4 244436 1% /dev tmpfs 50768 236 50532 1% /run /dev/mtdblock8 55296 55296 0 100% /ro overlay-tmpfs 253828 22984 230844 10% /rw.tmpfs overlay-persist 253828 138092 115736 55% /rw /dev/loop0 1024 1024 0 100% /ro/lib/modules /dev/loop1 21504 21504 0 100% /ro/usr/lib/jvm overlay 253828 138092 115736 55% / overlay.log 253828 22984 230844 10% /var/log overlay.kmod 253828 138092 115736 55% /lib/modules overlay.jvm 253828 138092 115736 55% /usr/lib/jvm ubi0:overlay 40292 21904 16328 58% /rw.tmpfs/.overlay <--- 保存用領域使用状況 none 4 0 4 0% /sys/fs/cgroup none 5120 0 5120 0% /run/lock none 253828 0 253828 0% /run/shm none 102400 0 102400 0% /run/user