Qbilinux 日記

Linux に関係することだけではなく,最近は一般的なコンピュータやガジェット関係についても記載してます.

Qbilinux 開発について(その77): インストーラを使わないインストール方法 (メモ)

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 の設定などを適宜行えば普通に使えるようになるかと思います.

余談ですが,これまではラズパイ用の実行環境イメージはインストーラ経由で作成したイメージを配布していましたが,今後は上記手順で作成したイメージに変更しようかと思っています.上記手順の方が作成時間がかなり短くて済みますので.ドキュメント等は必要に応じて修正します.

まぁ特定の方しか関係なさそうな説明ですが,まぁこんなこともやっていますという参考程度まで.