- 前回記事
- 基本システムのインストール
- 各種設定ファイルの作成
- ルートファイルシステムの切り替え
- パッケージ情報の更新
- D-Busとinitctlのインストール
- 基本パッケージのインストール
- ユーザーパッケージのインストール
前回記事
基本システムのインストール
Ubuntuのルートファイルシステムを構成する最小限の環境を作成するには、以下のようにdebootstrap
コマンドを実行します。自作Linuxを作成するフォルダーを~/mylinux
とします。ここでベースにするのはUbuntu 16.04.5 LTS(xenial)
とします。
$ mkdir ~/mylinux $ sudo debootstrap --arch=amd64 xenial ~/mylinux
--arch=
にはアーキテクチャを指定します。指定できるアーキテクチャはamd64
, arm64
, armel
, armhf
, i386
, mips
, mips64el
, mipsel
, powerpc
, ppc64el
, s390x
となってるようです。
各種設定ファイルの作成
Ubuntuをカスタマイズするにはchroot
コマンドを用いて、現在利用しているルートファイルシステムを自作Linuxのルートファイルシステムに切り替えて作業をする必要があります。ルートファイルシステムを切り替えるためネットワーク設定やリポジトリ設定は、自作Linuxのものを利用することになるため、その設定ファイルを作成する必要があります。とりあえずは現行のUbuntuから設定ファイルをコピーします。
を以下のようにコピーします。
$ sudo cp /etc/hosts ~/mylinux/etc/. $ sudo cp /etc/resolv.conf ~/mylinux/etc/. $ sudo cp -p /etc/apt/sources.list ~/mylinux/etc/apt/.
ルートファイルシステムの切り替え
コピーが終わったらルートファイルシステムを自作Linuxに切り替えていきます。
$ sudo mount --bind /dev ~/mylinux/dev $ sudo chroot ~/mylinux # mount -t proc none /proc # mount -t sysfs none /sys # mount -t devpts none /dev/pts
ファイルシステムを切り替えることで、自作Linuxのルートファイルシステムを実際に使用しながらカスタマイズ作業を行うことができます。また、ルートファイルシステムを切り替えたので
- デバイスファイルを格納する:
/dev
- システムのリソース情報を管理する:
/proc
,/sys
などについては、再マウントしてあることに注意してください。さらには、ホームディレクトリを表すHOME
とロケールに関する環境変数マスタのLC_ALL
を以下のように設定しておきます。
# export HOME=/root # export LC_ALL=C
パッケージ情報の更新
ここからは基本システムに好みのパッケージをインストールしていく作業になります。まず初めにパッケージの更新を行います
# apt-get update
D-Busとinitctlのインストール
D-Bus
LinuxのGNOMEやKDEなどのGUI環境は「D-Bus」と呼ばれるメッセージングパスを通してデータやり取りをやってるみたいです。なので、最初にD-Bus
をインストールして、新たなマシンIDファイル(machine-id)*1を作成します。
# apt-get install dbus # dbus-uuidgen > /var/lib/dbus/machine-id
initctl
また、起動スクリプトを制御しているinitctl
コマンドが実行されても何も動作しないように、正常終了ステータスを返すだけのtrue
コマンドのシンボリックリンクとして作成します。そのあとで、dpkg-divert
を使ってinitctl
コマンドとしてパッケージを管理するデータベースに登録します。
# ln -s /bin/true /sbin/initctl # dpkg-divert --local --rename --add /sbin/initctl
基本パッケージのインストール
まずはUbuntuをライブ起動したりインストールしたりするための必要なパッケージをインストールしていきます。ここではUbuntuのメタパッケージを利用します。
# apt-get install ubuntu-standard
さらにcasper
, lupin-casper
, os-prober
, linux-generic
, ubiquity-frontend-gtk
, ubiquity-slideshow-ubuntu
等のパッケージもインストールします。
# apt-get install casper lupin-casper # apt-get install linux-generic # apt-get install ubiquity-frontend-gtk ubiquity-slideshow-ubuntu
これらのパッケージインストール中に、ブートローダーである「GRUB」のインストールが促されますが、インストールしませんので回避します。「OK」「Enter」「Yes」の順番で回避します。
ここまでが基本的な設定になります。そして、ここから自分が実際に必要としているパッケージ等をインストールしていく作業になります。ここでは、日本語環境で利用するのに最低限必要なパッケージを紹介しつつ、インストールしていきたいと思います。
ユーザーパッケージのインストール
ここでインストールする予定のパッケージは以下の通りです。
- デスクトップ環境:
lxde
,lxdm
- 日本語入力システム:
ibus-mozc
- ネットワークマネジャー:
network-manager
- 日本語用フォント:
fonts-takao
,fonts-vlgothic
# apt-get install ibus-mozc # apt-get install network-manager # apt-get install fonts-takao fonts-vlgothic
その他必要なパッケージは、自作LinuxではなくオリジナルLinuxで以下のコマンドを実行すると、インストールされているパッケージを見ることができます。
$ dpkg -l | less
自作Linuxで必要なパッケージをインストールしたら、最新版に更新して、キャッシュや依存関係のないファイルを削除しましょう。
# apt-get upgrade # apt-get clean # apt-get autoremove
次回は、自作Linuxの不要ファイルを削除していき、さらには不要なプロセスも止めます。そのあとインストールイメージを作成して完成させていきたいと思います!