前提条件
- Xperia Z2 Tablet の root 化済み
- BusyBox インストール済み
自分が入れた BusyBox はこれ。BusyBox - Google Play の Android アプリ
やったこと
sd カードに arch 用のパーティションを作る
busybox の fdisk, mkfs を使用。詳細は略す。
arch 格納用のディレクトリ準備
# 読み書きできるように再マウント
mount -o rw,remount /
# マウントポイントを作成
mkdir /mnt/arch
# sd カードの arch 用パーティションをマウント
cd /mnt
mount -t ext2 /dev/block/mmcblk1p2 arch
arch のベースシステム(?)を配置
cd /mnt/arch
# ベースシステムが格納されたファイルをダウンロード
wget http://os.archlinuxarm.org/os/ArchLinuxARM-armv7-latest.tar.gz
# 解凍
tar zxfv ArchLinuxARM-armv7-latest.tar.gz
[2015/01/6更新]:armv7でなく、armv5だったので修正。
[2015/01/7更新]:やっぱりarmv7だったので修正。
chroot しても問題なく動くように設定を書き換える
# dns につながるように設定を書き換える
rm /mnt/arch/etc/resolv.conf
echo 'nameserver 8.8.8.8' > /mnt/arch/etc/resolv.conf
# chroot 環境から proc が見えるようにする
mount -t proc /proc /mnt/arch/proc
# /dev が必要なプログラムも多いので bind しておく
mount -o bind /dev /mnt/arch
arch 環境を整える
# 既存パッケージのアップグレード
pacman -Syu
# 必要なパッケージをインストール
pacman -S vim
pacman -S git
pacman -S ghc
pacman -S cabal-install
cabal update
cabal install cabal-install
cabal install pandoc
pacman -S graphviz
pacman -S go
pacman -S base-devel
pacman -S imagemagick
pacman -S otf-ipafont
とりあえず、 golang と imagemagick が動くことは確認できた。
xperia z2 tablet に chroot arch linux を入れ、android 版 mlterm で imagemagick を使い sixel 出力した。 pic.twitter.com/gKjrVGYawL
— 大雪 命 (@mikoto2000) 2014, 12月 26