Skip to content

Commit 8a3cfce

Browse files
committed
[add] : Added kernel documents
1 parent 655aad8 commit 8a3cfce

File tree

2 files changed

+45
-0
lines changed

2 files changed

+45
-0
lines changed

docs/jp/CHANNEL.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,10 @@ rt
221221
#lqx
222222
```
223223

224+
## kernel-<arch>
225+
`/system/kernel-<arch>`を置き換える役割を果たします。そのためファイル構文は`/system/kernel-<arch>`と変わりません。
226+
`kernek_list-<arch>`とは違って使用可能なカーネルの詳細を設定します。
227+
224228
## README
225229
チャンネルの詳細を書いたテキストファイルです。ビルドには一切影響されませんが、GitHub上で見た際に表示されるので、簡単なガイドの役割を果たします。作成しておいて損はないでしょう。
226230

docs/jp/ORIGINAL_KERNEL.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
## チャンネルで独自に新しいカーネルをサポートする
2+
AlterISO3ではカーネルに関する処理が大幅に変更され、チャンネルのみで独自にカーネルを追加することができるようになりました。
3+
ここではAlterISO本体のコードを変更せずにチャンネルだけで独自のカーネルを使用する方法を解説します。
4+
5+
## 追加したいカーネルの情報を把握する
6+
カーネルを追加するにはいくつかの設定ファイルを編集する必要があります。
7+
それぞれの設定ファイルの詳細については[CHANNEL.md](./CHANNEL.md)を参考にして下さい。
8+
9+
カーネルを設定するには以下の情報が必要です。
10+
- カーネルのパッケージ名
11+
- (AURからビルドする以外は)そのカーネルのパッケージがホストされているリポジトリの情報
12+
- リポジトリ名
13+
- 公開鍵
14+
- サーバのURL
15+
- `mkinitcpio`によって`/boot`以下に作成されるカーネルのファイル名
16+
- `mkinitcpio -p`で指定するプロファイル名
17+
- カーネルの略称(他のカーネルと重複しない名前ならなんでもOK)
18+
19+
## カーネル設定ファイルを作成する
20+
カーネルの情報を`/system/kernel-<arch>`を参考に作成して下さい。その後作成した設定ファイルをチャンネル内に配置して下さい。
21+
ビルドスクリプトは、`/system/kernel-<arch>`の代わりにチャンネル内の設定ファイルを使用します。
22+
その設定ファイル内の記述されているカーネルしか使用できなくなるので、`/system/kernel-<arch>`で既に設定されているカーネルも記述して下さい。
23+
24+
## カーネルリストを作成する
25+
そのチャンネルが使用可能なカーネルの一覧を書いたファイル(`kernel_list-<arch>`)にカーネル設定ファイルで指定したカーネル名を追記して下さい。
26+
カーネルリストに書かれていないとビルドに使用できません。逆に言えば、一時的にカーネルを無効化したい場合はカーネル設定ファイルを編集するのではなくカーネルリストでコメントアウトして下さい。
27+
28+
## カーネルのパッケージファイルを作成する
29+
`packages.<arch>/kernel/<kernel_name>`ディレクトリを作成して下さい。このディレクトリ内のパッケージはそのカーネルが指定された場合のみインストールされます。
30+
デフォルトで使用可能な`zen``lts`などのカーネルパッケージは`share`チャンネルで指定されています。
31+
参考: [shareチャンネルのlinux-ltsのパッケージファイル1](https://github.com/FascodeNet/alterlinux/blob/dev/channels/share/packages.x86_64/kernel/lts.x86_64)
32+
33+
## pacman-<arch>.confにリポジトリを追加する
34+
チャンネルの`pacman-<arch>.conf`にそのカーネルのパッケージが存在しているリポジトリの情報を追記して下さい。
35+
AURから直接ビルドすることもできますが、ビルドに非常に時間がかかるのでおすすめできません。
36+
リポジトリによっては公開鍵を追加する必要があります。
37+
38+
## config.<arch>でデフォルトカーネルを設定する
39+
`config.<arch>`内の`defaultkernel`変数でユーザーがカーネルを指定しなかった場合のデフォルトを指定できます。
40+
`releng`チャンネルでは`core`カーネルがデフォルトに設定されています。
41+
参考: [https://github.com/FascodeNet/alterlinux/blob/dev/channels/releng/config.any](https://github.com/FascodeNet/alterlinux/blob/dev/channels/releng/config.any)

0 commit comments

Comments
 (0)