なんか1ヶ月あった春休みよりも充実しているきがしますね…
しかし課題、テメーはダメだ(?)
えー、Qua Stationをいじる過程でネットが欲しくなり、ArchLinuxARM-aarch64-latest.tar.gzで作ったHDDにqemu-aarch64-staticを入れてPCからchrootしてみたのですがうまく行かず…
もしかしたらパッケージがバグってるのかもしれんと思いpacstrapを使って新しくシステムを作ることにしました。ついでに好きなパッケージ入れれますしね。
ただ、pacmanは/etc/pacman.confなどを使います。ここにアーキテクチャやarchlinuxarmのミラーなどを書くと問題が発生するかもしれません。(多分大丈夫ですが、戻すのがめんどいという理由も含みます)
そこで配布されているpacstrap用のrootを使い、専用のシステム上で作業することにしました。終わればディレクトリを消すだけでお手軽です。
ほとんどhttps://wiki.archlinux.org/index.php/Install_from_existing_Linuxのとおりやるだけなのですが…
今はarchlinux-bootstrap-2019.05.02-x86_64.tar.gzが最新みたいなのでこれを使います。
1 2 3 |
cd /tmp wget https://mirrors.ocf.berkeley.edu/archlinux/iso/latest/archlinux-bootstrap-2019.05.02-x86_64.tar.gz tar xzf archlinux-bootstrap-2019.05.02-x86_64.tar.gz |
まんまコピペですねw
そしてミラーをarchlinuxarmのものに変更します。
1 |
echo 'Server = http://tw.mirror.archlinuxarm.org/$arch/$repo/' > root.x86_64/etc/pacman.d/mirrorlist |
あと信頼できない的なこと言われるので一旦全レポジトリをTrustALLにするのとアーキテクチャをaarch64に設定します。
nano root.x86_64/etc/pacman.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
(略) # # GENERAL OPTIONS # [options] # The following paths are commented out with their default values listed. # If you wish to use different paths, uncomment and update the paths. #RootDir = / #DBPath = /var/lib/pacman/ #CacheDir = /var/cache/pacman/pkg/ #LogFile = /var/log/pacman.log #GPGDir = /etc/pacman.d/gnupg/ #HookDir = /etc/pacman.d/hooks/ HoldPkg = pacman glibc #XferCommand = /usr/bin/curl -L -C - -f -o %o %u #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u #CleanMethod = KeepInstalled #UseDelta = 0.7 Architecture = aarch64 (略) [core] SigLevel = TrustAll Include = /etc/pacman.d/mirrorlist [extra] SigLevel = TrustAll Include = /etc/pacman.d/mirrorlist [community] SigLevel = TrustAll Include = /etc/pacman.d/mirrorlist (略) |
厳格に行きたいときは
1 |
pacman -S archlinuxarm-keyring |
したあとTrustAllにしたところをすべてコメントアウトしてください
たまに初期設定スクリプトが走るので実行できるようにqemu-aarch64-staticを/usr/binにコピーします
※入ってない場合aurのqemu-arm-staticを入れてください
1 |
cp /usr/bin/qemu-aarch64-static root.x86_64/usr/bin/ |
ルートにしたいデバイスをrbindでマウントします
1 2 |
mount /dev/sda1 /mnt mount --rbind /mnt root.x86_64/mnt |
※環境に合わせてください
あとはインストールするだけです
1 2 3 4 |
/tmp/root.x86_64/bin/arch-chroot /tmp/root.x86_64/ pacstrap /mnt base base-devel echo 'QuaStation' > /mnt/etc/hostname pacstrap /mnt networkmanager |
今のうちにNetworkManagerを入れとくとWi-Fiにつなげて便利です。
まあそこまで厳格にやらなくてもあとから修正できるのでこんだけやってれば十分じゃないですかね、というわけで後処理
1 2 3 |
exit umount root.x86_64/mnt umount /mnt |
あとは今インストールしたHDDなりUSBメモリなりをQua Stationに刺すだけです