ちょっと変わり種のディストリビューションも入れておきたいなと思ったので、 Kali Linuxをマルチブート端末 Thinkpad T480s にインストールする。
LinuxのパーティションはBTRFSにしているので、少しインストール方法が変わってきます。 ありがたいことにドキュメントが整理されています。
https://www.kali.org/docs/base-images/kali-linux-btrfs-install/
詳細に書いてありますが、マルチOSということは考慮に入っていないようなので、 自分の環境に調整しました。
自分(マルチOS)のためのメモでもあるので、インストールを行う方はマニュアルを参照にされてください。
ディスクの作成などは割愛します。こちらからLiveDVDをダウンロードして下さい。
1. LIVE MODEで起動
他のディストリビューションと違いインストーラーはインストールしないと無い。探しちゃいましたよ。。 そしてbtrfsのツールもインストール。
$ apt install btrfs-progs debian-installer-launcher
端末がスリープしてしまった時には
2. インストールをネットワーク設定のドメイン名の登録のところまで進める
ここで作業をいったん止めて、ターミナルを開く。
3. ターミナルでの作業
ディスクの設定
自分の環境ではすでにbtrfsはフォーマットされて すでにサブボリュームも制作済み。
$ mount /dev/nvme0n1p5 /mnt
$ btrfs subvolume create /mnt/@kali
$ btrfs subvol list /mnt
ID 257 gen 6911 top level 5 path @manjaro
ID 258 gen 6792 top level 5 path @debian
ID 259 gen 3914 top level 5 path @arch
ID 260 gen 6723 top level 5 path @kali
$ btrfs subvol set-default 260 /mnt
!!!ここ重要なり!!!:指定したサブボリュームIDがマウントオプションが指定されていない時のマウント先になる。
この場合ID260の@kaliがmount /dev/nvme0n1p5 /mnt
実行時にマウントされるという事。
マニュアルでは、home, var/log, root, /.snapshotと切り分けているが、 ペネトレーションテストなどでの利用を考えているので、homeは共有せず少し調整。
$ btrfs subvolume create /mnt/@root
$ btrfs subvolume create /mnt/@log
$ mkdir -p /mnt/@kali/root
$ mkdir -p /mnt/@kali/var/log
$ umount /mnt
ターミナルでの作業は終了。インストーラーに戻りパーティションの設定まで進める。
4. パーティション設定
スワップファイルの設定とBTRFSをインストール先に設定する。フォーマットはしないように。
これでsubvol set-default
で指定したサブボリュームにインストールされる。
Mnount Point: /
Format: no keep existing data
スワップ領域はフォーマットをしないと先に進めない。
UUIDが変わるので他の環境にて/etc/fstab/
の調整が必要。
最後までインストールを進める。特に変わった設定・変更などはなく、順調に終了の様子。
5. インストール終了の作業
はたまたターミナル、ちとアナログな感じの作業がある。
まず必要かわからないけれど、先にbtrfsの設定したデフォルト値をリセット。 なはずですが、うまくいかない。まぁ問題はないのですが、、。
$ mount /dev/nvme0n1p5 /mnt
$ btrfs subvolume set-default 0 /mnt
$ umount /mnt
追記:こちらのコマンドでデフォルトの状態に戻りました。
% sudo btrfs subvol set-default 5 /mnt
インストールはサブボリュームにインストールされているので、 切り分けるいくつかのサブボリュームを作成・登録する。 ファイルのコピーとfstabの編集が必要。
インストールされたファイルはまだ圧縮されていないのでこの時点で行う。 マウントオプションはマンジャーロのものを流用。
$ mount /dev/nvme0n1p5 /mnt/kali -o rw,noatime,compress=lzo,ssd,space_cache,commit=120,subvol=@kali
$ btrfs filesystem defragment -r -v -clzo /mnt/kali/
その他のサブボリュームもマウントしてファイルを移動する。 mvでエラーが出るが問題はない。
$ mount /dev/nvme0n1p5 /mnt/root -o rw,noatime,compress=lzo,ssd,space_cache,commit=120,subvol=@root
$ mount /dev/nvme0n1p5 /mnt/log -o rw,noatime,compress=lzo,ssd,space_cache,commit=120,subvol=@log
$ mv /mnt/kali/root/.* /mnt/root/
$ mv /mnt/kali/var/log/* /mnt/log/
そして/etc/fstab/
をデビアンから取ってきて編集する。
Manjaroでのオプション
rw,noatime,compress=lzo,ssd,space_cache,commit=120
を付け加える。
$ cat /mnt/debian/etc/fstab/ >> /mnt/root/etc/fstab
$ vi /mnt/root/etc/fstab
6. 再起動後に最後の仕上げ
再起動するもGrubのインストールができていないよう。
Manjaroで立ち上げ、sudo update-grub
でブートローダーを更新して起動させると問題はないので、
ブートローダーを多分USB側に書き込んでいるのか、すっきりせず。
ログインをして必要なファイルをインストール、そして更新・アップデートをする。
$ apt install btrfs-progs
$ apt update
$ apt upgrade
これで、あとは無線LANドライバーのインストール・Wifi設定 多分デビアンと同じ作業で自分の環境を作ることができる。 (ただ、ZFSのインストール時にエラーが出るのはちょっと、、)
Sanpshotを使ったリカバリー方法も記載されていますが、 思っているやり方とちがうのでそちらは保留してます。
References:
- Kali Install on Btrfs: https://www.kali.org/docs/base-images/kali-linux-btrfs-install/
- Btrfs Wiki, Btrfs Debian site, apt-btrfs-snapshot, Snapper: http://snapper.io/
- kali linuxの基本設定をしてみた。: https://ameblo.jp/shinnaka54/entry-12420242361.html