Open3

[記事未満] Slax のテスト

mnodmnod

Slax のテスト

kvm 仮想マシンを利用して、テストしてみます。

Slax のメディアのダウンロード

https://www.slax.org/ より、Debian ベースの Slax をダウンロードします。
ここでは、iso/slax.iso に保存しています。

仮想マシンの起動

作業領域として利用する仮想ディスクを作成

qemu-img create -f qcow2 slax.iso_vm0_0.qcow2 16G

ダウンロードしたメディアで仮想マシンを起動

kvm -m 4096 -cpu host -vnc :0 -daemonize
 -device virtio-net,netdev=net0,mac=52:54:00:00:00:01
 -netdev tap,id=net0,ifname=tap0,script=no,downscript=no
 -device virtio-blk,drive=sda -drive id=sda,if=none,file=slax.iso_vm0_0.qcow2,format=qcow2
 -boot d -cdrom iso/slax.iso

準備

OS が起動したらターミナルを開きアドレスを設定する

# ip addr add 10.2.0.10/24 dev ens3
# ip link set ens3 up

デフォルトゲートウェイを設定する

# ip route add default via 10.2.0.1

アタッチしている仮想ディスクでパーティションを切って、ファイルシステムを作成する。

# fdisk -l /dev/vda
(fdisk の操作については割愛)
# mkfs -t vfat /dev/vda1

ファイルシステムを作成すると /media/vda1 にマウントされる。

パッケージのインストール

通常のDebian のように、apt コマンドでインストール

# cd /media/vda1
# cat << END >> packages.txt
> parted
> END
# grep -v '#' packages.txt | xargs apt install --no-install-recommends -y

変更の保存と再利用

カレントディレクトリの packages.sb に保存

# savechanges packages.sb

再起動後の再利用

# slax activate packages.sb

再利用の停止

# slax deactivate packages.sb
mnodmnod

USB メディアの作成

iso イメージの内容を書き込み

USBメディアを挿入し、パーティションを切って、ファイルシステムを作成する
(USB メディアが/dev/sdx であると想定)

$ sudo parted /dev/sdx mklabel msdos
$ sudo parted /dev/sdx mkpart primary ext4 0% 100%
$ sudo parted /dev/sdx set 1 boot on

ファイルシステムを作成してマウントする

$ sudo mkfs -t vfat /dev/sdx1
$ sudo mount /dev/sdx1 /meda/tmp

iso イメージをマウントする

$ sudo mount -o loop iso/slax.iso /media/cdrom

iso イメージの内容をUSBメディアへ書き込む

$ sudo cp -pri /media/cdrom/* /meda/tmp

iso イメージを unmount

$ sudo umount /media/cdrom

メディアのブート可能設定

所定のディレクトリへ移動して、所定のスクリプトを実行

$ cd /media/tmp/slax/boot
$ sudo sh bootinst.sh

仮想ディスクに保存した変更をUSBメディアへコピー

仮想ディスクをマウント

$ lsmod | grep nbd
$ sudo modprobe nbd
$ sudo qemu-nbd -c /dev/nbd0 /backup/tmp/kvm/slax.iso_vm0_0.qcow2                                                                                
$ sudo kpartx -av /dev/nbd0
$ sudo mount /dev/mapper/nbd0p1 /media/chroot/

仮想ディスクに保存した変更をUSBメディアへコピー

$ mkdir /meda/tmp/work
$ sudo cp -pri /media/chroot/*sb /media/chroot/*txt /meda/tmp/work

仮想ディスクをアンマウント

$ sudo umount /media/chroot 
$ sudo kpartx -dv /dev/nbd0
$ sudo qemu-nbd -d /dev/nbd0
$ sudo rmmod nbd

USB メディアをアンマウント

$ sudo umount /meda/tmp
mnodmnod

USBメディアから起動

BIOS の起動順設定を変更して、接続したUSBメディアで立ち上がるようにする。
(レガシーモードに設定する必要がある)

自分のPCでの実行例

  • マシンにUSBメディアを接続して、マシンを起動。
  • BIOS に入る
  • Bootオプションの secureboot を disabled に変更
    (無効にしないと、NOT AUTHENTICATE でエラーになる)
  • 変更を保存して再起動
  • 画面の案内に従い、表示された数字を入力してエンター
  • 再起動してBOOTオプションに入る
  • SLAX を入れたメディアを選択する

保存した設定内容の再利用

ターミナルを開いて以下を実行する

$ cd work
$ slax activate packages.sb

再利用の終了

$ cd work
$ slax deactivate packages.sb