もっと詳しく

こんにちは、山田ハヤオです。Alter Linuxの開発リーダーです。

今回は新しく開発が開始されたAlterISO 4.0の開発開始の経緯とロードマップについてお話します。

AlterISO 3.1までの経緯

現在、Alter LinuxのビルドにはArchiso 43をベースにしたAlterISO 3.1が使用されています。

AlterISO 1.0以前

もともとArchiso 43のrelengをベースに改造していました。

この頃はまだAlterISOという名称はなく、Archiso 43にPlymouthを統合しただけの簡単なものでした。

他にはカーネルを切り替える機能も追加されましたがまだ簡易的なものでした。

AlterISO 1.0

上記のものにチャンネルという設定ファイルを切替える機能が追加されました。

この頃からAlterISOという名称が使われるようになりましたが、まだ上流から大きな変更はありませんでした。

AlterISO 2.0

2.0ではx86_64だけでなくi686に対応するために大幅に仕様が変更されました。

Pacman設定ファイルなどを各ファイル名なども大幅に変更されました。

日本語版のビルドもここで追加されました。

このあたりからArchisoとはかけ離れたコードになってきました。

AlterISO 3.0

カーネル設定ファイル、言語設定ファイル、AURパッケージ、PKGBUILDと大幅に機能が変更され、チャンネルの仕様も変わりました。

この頃にArchisoも大幅な方向転換をし、いよいよ全く別物になりました。

Archiso v48以降の追従はしていません。

AlterISO 3.1

3.0時代の仕様を引きつぎながら、モジュールとプリセットを導入し、機能の切り替えが容易になりました。

AlterISO 4.0の開発の動機

機能的にはAlterISO 3.1で十分なのですが、Archisoと仕様がかけ離れてしまいました。

Archiso 1.0の開発時にはかなり機能が不足していたArchisoですが、AlterISOに既に実装されていた機能もArchisoに加わって大幅に変化しました。

コードが全く別物になっている今、上流の変更に追従することは不可能です。

そこで、AlterISO 3.1までのbuild.shの大半を破棄し、Archiso 58のコードをもとに再構築しようというのがAlter ISO 4.0です。

他にも汚くなっていたコードを一掃するという目的もあります。

開発の方針

AlterISO 4.0の完成は2023年を目標に行われます。

(ハヤオの大学受験もあるのであまり期待しないでください。)

Archiso 58からのコードの変更を最小限にし、将来的にArchisoがアップデートされてもそれに追従しやすいような設計をする予定です。

その他の細かい開発方針は以下のとおりです。

  • チャンネル、モジュールの構成は維持
  • Archiso 58に準拠し、少しずつbuild.shを書き直す
    • 最初はAlterISO 3.1のコードを残しつつ、Archisoのコードを無理やり追加してビルドが通るようにする
    • ある程度のコードが固まったら余分な部分の削除を行う
    • toolsにあるbuild.shからしか呼び出されない外部コマンドを削除し、関数として再実装(※1)
  • 関数名を整理する
  • mkinitcpio-archisoとの統合は行わず、引き続き/system/initcpioを使用する(※2)
  • /system/の各アーキテクチャのファイルを整理する
  • カーネルパラメータを統一し、現在boot_splashの有無で分かれているEFIやSyslinuxの設定ファイルを統一する
  • menuconfigのディレクトリ構成を整理する
  • ドキュメントを整理する
  • 2022年後半の完成を目指す
  • kokkiemouse主導だった旧AlterISO-4はobs_alteriso-4に変更。

チャンネルやモジュールなどの仕様は変更せず、build.sh側を全て書き直します。

AlterISO 4.0は3.0以上の大幅な変更になるので、開発には相当の時間がかかります。

気長に待っていただけるとありがたいです。作業は全てalteriso-4.0ブランチで行っています。

AlterISO 4.0が完成するまでの間は引き続き3.1を使用していきます。

最後に

9月分のイメージファイル更新も予定していますのでお楽しみに。

(特にバグが無い限り10月分の更新は予定していません。)

The post AlterISO 4.0の開発が始まりました。 first appeared on FascodeNetwork Blog.