Plamo Linux 6.x のソース一式からブランチして,Qbilinux という linux ディストリビューションをぼちぼちと作成.
いつまで続くのか.
情報などを記載したホームページは https://qbilinux.org/ に,ビルドスクリプトは https://github.com/qbilinux/qbilinux,バイナリは https://qbilinux.org/pub/ 以下にあります.
手元で開発している時にインストーラ経由ではなく,コマンドラインからインストールすることがあるので,その手順をメモがわりに記載しておきます.たまにやろうとするとどうだったっけ?ってなるので自分用の備忘録代わりです.
下記記載は Qbilinux 上で作業しているものとしています.もしかしたら Plamo Linux とか Slackware など,同じ管理方法・管理コマンドを採用しているディストリビューションでも同様の方法でインストールできるかもしれないですが,私自身は確認していません.
また,ブートローダーは別途自分で用意して,インストールしたパーティションから起動できるように修正してください.手動でインストールすることもできますがここでは説明しません.
1. インストールするパーティションを用意
あらかじめインストールするパーティションを作成して ext4 などでフォーマットしておきます.
ex)
% mkfs.ext4 /dev/nvme0n1p4
2. インストールするパーティションをどこか作業用ディレクトリにマウント
ex)
% mount /dev/nvme0n1p4 /mnt
3. パッケージ類を上記ディレクトリにインストール
installpkg コマンドを使ってマウントしたディレクトリ以下にパッケージ類をインストールします.パッケージ単位,ディレクトリ単位のどちらでも構いません.当然,パッケージファイル一式を手元に置いておく必要があります.引数のパッケージ名,ディレクトリ名はインストールしたいアーキテクチャのものを指定してください.
installpkg コマンドの引数 -root の後ろにインストールしたいパーテションをマウントしたディレクトリを指定します.絶対 path での指定が必要です.
00_base から 12_lxqt まですべてのディレクトリをインストールすればフルインストール状態になります.00_base と 01_minimum のみをインストールすれば最小環境になります.
ex)
% installpkg qbilinux/00_base -root /mnt
% installpkg qbilinux/01_minimum/perl-5.32.0-x86_64-1.txz -root /mnt
4. fstab ファイルを作成
/etc/fstab ファイルをインストールしたいディレクトリ以下に手作業で作成します./mnt ディレクトリ以下で作業している場合には /mnt/etc/fstab ファイルを作成します.下記は作成する fstab の例です./ を /dev/nvme0n1p3 に,swap を /dev/nvme0n1p4 にしています./, swap などを自分の環境に合わせて修正してください.
/dev/nvme0n1p4 swap swap defaults 0 0
/dev/nvme0n1p3 / ext4 defaults 1 1
/dev/sr0 /cdrom iso9660 user,ro,noauto,exec,iocharset=euc-jp 0 0
none /proc proc defaults 0 0
none /sys sysfs defaults 0 0
none /dev tmpfs defaults 0 0
none /tmp tmpfs defaults 0 0
none /dev/pts devpts gid=5,mode=620 0 0
none /proc/bus/usb usbfs noauto 0 0
/home などのマウントが必要なら適宜
/dev/sda1 /home ext4 defaults 1 2
などを追加してください.(パーティション名,各種オプションなどは適当に変更してください)
5. 使用するブートローダーを設定
上記の例では /dev/nvme0n1p3 にインストールしたので,このパーティションから linux ブートできるように使用するブートローダーを設定してください.
デフォルトの grub で使用しているオプションは /etc/default/grub 中に記載していますが下記になります.
vga16 panic_output=7 net.ifnames=0
net.ifnames=0 がないとネットワーク I/F が eth0 になりませんので,手動で調整する必要があります.
6. ブートローダーをつかって起動
各自の使用しているブートローダーを使ってインストールしたディレクトリから起動してください.
必要な初期設定などは起動時に行われます.また,root のパスワードなどは入力する画面で止まりますので,適宜入力してください.
login プロンプトが出れば,root ユーザーでログインできます.
7. 必要な初期設定
手作業でインストールを行なった場合には,当然のことですがネットワークの設定,時刻などの設定が行われていません.
ネットワークの設定は /sbin/netconfig.tradnet コマンドを,時刻の設定は /usr/sbin/timeconfig コマンドを使って行ってください.
日本語が化ける場合には LANG を設定してから実行してください.
インストーラを使ってインストールしている場合には /var/log/setup 以下に入っているスクリプトがインストーラ中で実行されています.先頭に e がついているものが英語版のコマンドで,ついていないものが日本語版のコマンドです.これらを実行しても問題ないかと思います.(が,試したことはありません)
ex)
export LANG=ja_JP.UTF-8
/sbin/netconfig.tradnet
/usr/sbin/timeconfig
手順としては以上です.あとはユーザーの追加,X の設定などを適宜行えば普通に使えるようになるかと思います.
余談ですが,これまではラズパイ用の実行環境イメージはインストーラ経由で作成したイメージを配布していましたが,今後は上記手順で作成したイメージに変更しようかと思っています.上記手順の方が作成時間がかなり短くて済みますので.ドキュメント等は必要に応じて修正します.
まぁ特定の方しか関係なさそうな説明ですが,まぁこんなこともやっていますという参考程度まで.