こんにちは、山田ハヤオです。先日Alter Linuxが発表されました。
GitHubのリポジトリを見てもらうとわかりますが、ソースコードはほとんど私が書いてます。
そこで、Alter Linuxを簡単にビルドする方法をまとめてみました。
Alter Linuxって何
公式サイトをご覧ください。
Aler LinuxはArch Linuxをベースに現在開発が進んでいるOSです。
日本で開発されているArchベースのOSはこれまでになく、日本語入力やミラーの最適化がしっかりと行われているのが特徴です。
ビルドする必要ある?
通常のインストールをするだけなら必要はないと思います。
「特殊なカーネルを使いたい」「ライブ起動のパスワードを変えたい」
という特別な場合です。
また、Alter Linuxはローリングリリースなので、
「最新のパッケージを入れ直したい」
という場合にも利用できます。
ただし、Alter LinuxをベースにOSを開発する場合、この記事と同じ方法でビルドをしていくことになりますので、開発を始める前にAlterLinuxで練習をしていきましょう。
ビルドの準備をする
Alter Linuxをビルドするには、既にインストールされたArch LinuxかAlter Linuxが必要になります。(Dockerを利用する方法もありますがここでは触れません。)
まだ環境がない方は公式サイトよりビルド済みのイメージファイルをダウンロードして環境を構築して下さい。
ソースコードを取得する
Gitからもってきます。
$ git clone https://github.com/SereneTeam/alterlinux.git
$ cd alterlinux
鍵を追加する
AlterLinuxをビルドするためにはリポジトリの鍵を追加する必要があります。
簡単に追加するスクリプトがあるので以下のコマンドで実行します。
sudo ./add-key.sh -a
-
aを付けなければ全ての鍵を更新しますが時間がかかるので短縮版です。
ビルドするバージョンを決める
Alter Linuxのソースコードには3つの種類があります。
master
は最も安定しているものです。リリースや、リリース直前のものになり、最も安定しています。ただし、非常にバージョンが古い場合があります。
dev-stable
は、リリース候補です。大きな問題は取り除かれたが、まだ小さな問題がある場合がある…というバージョンです。
dev
は最も最新のバージョンです。常に最新のコードになっていますが、そのぶん大きなバグを孕んでいる可能性もあります。
デフォルトはdev-stable
ですが、もし不安な人や冒険したい人がいたら以下のコマンドでバージョンを切り替えます。
# masterに切り替えたい人
git checkout master
# devに切り替えたい人
git checkout dev
ビルドする方法について
実際にビルドをしましょう。実機でビルドを行う方法は2種類あります。
1つめはウィザードを使用する方法です。日本語のウィザードに沿って質問に答えるだけで簡単にビルドできます。
2つめは直接ビルドスクリプトを実行する方法です。
ウィザードでビルドする
ウィザードで設定する
ビルドは様々なオプションを利用できますが、ウィザードを利用するのが最も簡単な方法です。
今回はウィザードを使ってビルドをしていこうと思います。
ビルドウィザードは対話形式でどのようなオプションでビルドを行うかを設定して簡単にAlterLinuxのビルドを実行できるようにするものです。
早速ウィザードを実行しましょう。
./wizard.sh
すると「依存関係を確認しています…」と表示されその後にパスワードを要求されます。
これはビルドに必要なパッケージをインストールするためですのでパスワードを入力してインストールが完了するのを待って下さい。
しばらくすると「AlterLinuxの鍵を追加しますか?」と質問されます。
ビルドをする上で鍵の追加は必須ですので「yes」と入力してください。
この後は実際にビルドのオプションを質問されます。
日本語を有効化しますか?
この質問はbuild.sh
に-j
をを付けるかどうかの判定です。
有効化されると日本語用パッケージが追加でインストールされ、ライブ環境の言語設定やタイムゾーン、ミラーなどが日本に最適化されます。
これを実行するとファイル名に-jp-
と追加されます。
Plymouthを有効化しますか?
Plymouthとはいわゆる起動画面のことです。
ログイン画面が出るまでの待ち時間にアニメーションを表示してくれます。
Plymouthを有効化するとmkinitcpioのフックにplymouthが追加され、configで指定されたテーマパッケージとplymouthがインストールされます。
また、SysLinuxのブートの項目も変更されます。
デフォルト(zen)以外のカーネルを使用しますか?
AlterLinuxのデフォルトのカーネルはlinux-zen
ですが、それ以外のカーネルを利用することもできます。
この質問に「yes」と答えた場合、次にどのカーネルを利用するか質問されます。
個人的なおすすめはlinux-lqx
やlinux-lts
ですがこだわりがない人はデフォルトのカーネルを変更する必要はありません。
圧縮方式を設定しますか?
AlterLinux本体はSquashfsと呼ばれるファイルに圧縮されます。その圧縮方式を選択します。
ArchLinuxではxzがデフォルトになっていますが、AlterLinuxではzstdをデフォルトに採用しています。
この質問に「yes」と回答した場合、次にどの圧縮方式を使用するか聞かれます。
速度優先や圧縮率優先などのこだわりがない人はデフォルトのままで問題ないと思います。
圧縮の詳細を設定しますか?
先程上で設定した圧縮の更に詳細を設定します。
例えばzstdを選択した場合、更にその圧縮率が質問されます。
それぞれ選択された圧縮方式に対応した質問を行います。
開発者以外は使用することはないと思います。
デフォルトではないユーザー名を設定しますか?
ここではライブ環境のユーザ名を設定できます。
デフォルトのユーザ名はalter
ですが、ユーザ名に変更することが可能です。
例えば私が自分用にビルドするときはいつもユーザ名を自分の本名にしています。
デフォルトではないパスワードを設定しますか?
上で設定したライブ環境のユーザのパスワードを設定します。
ここで「yes」と答えた場合、次にパスワードを二回聞かれますので同じパスワードを入力して下さい。
ターミナルには何も表示されませんがしっかりと入力されています。
デフォルト(xfce)以外のチャンネルを使用しますか?
チャンネルとはパッケージやファイルなどの設定ファイルのまとまりです。
ここでPlasmaのチャンネルを選択すればPlasmaが、Xfceを選択すればXfceがインストールされます。
もしchannels
に非公式チャンネルを追加している場合、そのチャンネルも表示されます。(わからない方は気にしなくて大丈夫です。)
非公式チャンネルの開発方法は別の記事で説明しています。
イメージファイルの所有者を入力してください。
さてウィザードも終わりが近づいてきました。
ビルド後のイメージファイルはrootユーザーが所有しているため一般ユーザーは手出しができません。
そのためウィザードではビルド完了後にイメージファイルの所有者を変更できるようになっています、
存在するユーザ名を入力して下さい。
この設定で続行します。よろしいですか?
この質問が最後の質問です。
今まで設定した内容が一覧で表示されます。
設定ミスがある場合は最初から設定をやり直すことができます。
問題がなければ「yes」と入力して下さい。
ビルド開始
このままウィザードにより自動的にbuild.sh
を実行します。
ここで、ビルドの最終確認が行われます(メッセージは英語です。)
[Info] The settings have been overwritten by the /home/hayao/Git/alterlinux/config.
[Info] The settings have been overwritten by the /home/hayao/Git/alterlinux/channels/plasma/config.
[Info] Checking archiso ...
[Info] Checking git ...
[Info] Checking make ...
[Info] Checking arch-install-scripts ...
[Info] Checking squashfs-tools ...
[Info] Checking libisoburn ...
[Info] Checking dosfstools ...
[Info] Checking lynx ...
[Info] Checking alterlinux-keyring ...
[Info] Boot splash is enabled.
[Info] Theme is used alter-logo.
[Info] Use the lqx kernel.
[Info] Live username is hayao.
[Info] Live user password is hayao0819.
[Info] The compression method of squashfs is xz.
[Info] Use the plasma channel.
[Info] Japanese mode has been activated.
Press Enter to continue or Ctrl + C to cancel.
ここでEnterを押すとビルドが開始されます。
この後はビルドを全自動で行います。
ビルドが終わったらoutディレクトリにイメージファイルが作成されます。
直接実行する
build.sh
を直接実行する方法です。
日本語の完全なビルド方法は全て公式リポジトリにあります。
GitHub FascodeNet/AlterLinux AlterLinuxをビルドする
よくわからないエラーが出た
ディスクサイズやネットワーク接続などを確認し、問題がない場合は再起動してから作業ディレクトリを削除してもう一度試してみて下さい。
また、2020年4月18日のdev-stable
では一部環境で正常にビルドできない問題が発生しています。
dev
ブランチでは修正されているためそちらを利用するか、以下のコマンドで修正することができます。
sudo modprobe loop
最後に
ビルドしたイメージファイルは煮るなり焼くなり好きにできます。
AlterLinuxはウィザードにより簡単にビルドできます。
難しいのはArch、Alterの環境を用意することでしょうか。
わからないことがありましたらコメント欄で質問を受け付けていますのでお気軽に
もしウィザードやビルドでエラーが出たら遠慮なくこちらで報告してください。
PR
FascodeNetworkではグッズも販売してます。購入していただけると活動の支援になります。
売上は全てサイトの維持費や開発費に割り当てられます。
コメント