今日のパッケージのアップデートで、GNOME41.1に更新されました。
Archベースのインストールが簡単なディストリビューションで、Manjaroも良かったですが、日本発のディストリビューションで日本語入力もデフォルトで設定されているし、32ビット(LXDE,xfce)にも対応しているので、Alterlinuxは、古いPCにも良いかもしれません。
GNOME41.1が思ったよりも早く導入できたので、ちょっと嬉しいです。
Alterで個人的に設定を変えたのは、
カーネルを独自にビルドしなおしたこと。
mkinitcpioでcompressをlz4にしたこと。
makepkgでccacheを有効にすること。くらいでした。
それ以外は、インストールされた環境で、そのまま利用しています。
GNOMEの最新版を使いたいなら、ぜひ試してみてください。
- カーネルビルド時の留意点(make localmodconfig)
カーネルビルドで必要なモジュールのみビルドしてサイズを減らす場合、make localmodconfigを用いますが、その場合にはUSBディスクなどの外部ストレージも装着しておいて、動的に読み込まれるモジュールも読み込んだ上でビルドしましょう。
単純にlsmodでリストを作ると、外部ストレージなど動的に読み込まれるものが含まれない可能性もあります。localmodconfigを使う場合にはその点に留意しましょう。特にファイルシステムのモジュールに留意するほうがいいです。CDROMやDVDも読み込ませてからのほうがいいかもしれません。
例
usbディスクにchromeosをインストールしていて、ext4が必要だとします。
Linuxではbtrfsを利用している。
この場合、カーネルでファイルシステムのext4がモジュールとして読み込まれる設定になっている場合、USBディスクを繋がないで、lsmodすると、ext4モジュールが読み込まれていない場合もありえます。
デュアルブート構成でWindowsパーティションを読み込みたい場合などにも、当てはまります。
カーネルのサイズや、モジュールが減って、ファイルサイズや起動時間短縮に貢献するかもしれませんし、カーネルのビルド時間短縮にもなるかと思いますが、ハードウェア構成が固定化していて、はっきりしている場合のみでいい気もします。
特に自分にとって必須なファイルシステムについては、カーネルビルド時にモジュールではなく、カーネルに埋め込んだ形でオプションを設定するのもありかと思います。
make localmodconfig を使うときには、少し留意が必要そうです。
diff --git a/repos/core-x86_64/PKGBUILD b/repos/core-x86_64/PKGBUILD
index 16ff3af..1aa6dfe 100644
--- a/repos/core-x86_64/PKGBUILD
+++ b/repos/core-x86_64/PKGBUILD
@@ -1,6 +1,6 @@
# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
-pkgbase=linux
+pkgbase=linux-custom
pkgver=5.14.16.arch1
pkgrel=1
pkgdesc='Linux'
@@ -16,7 +16,7 @@ makedepends=(
options=('!strip')
_srcname=archlinux-linux
source=(
- "$_srcname::git+https://github.com/archlinux/linux?signed#tag=$_srctag"
+ "$_srcname.tar.gz::https://github.com/archlinux/linux/archive/refs/tags/$_srctag.tar.gz"
config # the main kernel config file
)
validpgpkeys=(
@@ -33,6 +33,7 @@ export KBUILD_BUILD_USER=$pkgbase
export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})"
prepare() {
+ mv linux-${pkgver%.*}-${pkgver##*.} $_srcname
cd $_srcname
echo "Setting version..."
@@ -54,6 +55,9 @@ prepare() {
make olddefconfig
diff -u ../config .config || :
+ #lsmod > `pwd`/lsmod.txt && make LSMOD=`pwd`/lsmod.txt localmodconfig
+
+ make menuconfig
make -s kernelrelease > version
echo "Prepared $pkgbase version $(<version)"
}
@@ -192,7 +196,7 @@ _package-docs() {
ln -sr "$builddir/Documentation" "$pkgdir/usr/share/doc/$pkgbase"
}
-pkgname=("$pkgbase" "$pkgbase-headers" "$pkgbase-docs")
+pkgname=("$pkgbase" "$pkgbase-headers")
for _p in "${pkgname[@]}"; do
eval "package_$_p() {
$(declare -f "_package${_p#$pkgbase}")