.config (linux-5.15.19 用)

Slackの標準カーネル
に、変更が必要になる度に、.configを追加調整しカーネルを再構築する。
(メンドクサイことはしないつもりだったが、結局はこうなったか)

$ cp /proc/config.gz . ; gunzip config.gz ; cp -a -i config linux-5.15.19/.config
$ cd linux-5.15.19/
$ LANG=C LC_ALL=POSIX TERM=vt100 make oldconfig CROSS_COMPILE=
$ LANG=C LC_ALL=POSIX TERM=vt100 make -j2 bzImage CROSS_COMPILE=
scripts/extract-cert.c:21:10: fatal error: openssl/bio.h: No such file or directory
21 | #include <openssl/bio.h>
| \^\~\~\~\~\~\~\~\~\~\~\~\~\~\~
compilation terminated.
$ sudo installpkg /mnt2/slackware64/n/openssl-1.1.1m-x86_64-1.txz
$ LANG=C LC_ALL=POSIX TERM=vt100 make -j2 bzImage CROSS_COMPILE=
$ vi .config
(CONFIG_CMDLINE=”” が見当たらないが今でも 有効なのか?)
https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html
$ LANG=C LC_ALL=POSIX TERM=vt100 make menuconfig CROSS_COMPILE=
(それらしいのが無かった。saveしないでexit)
$ vi .config
CONFIG_CMDLINE_BOOL=y
CONFIG_CMDLINE=”ro root=/dev/sda9 rootfstype=ext4 rootdelay=1 debug”
$ LANG=C LC_ALL=POSIX TERM=vt100 make oldconfig CROSS_COMPILE=
CONFIG_CMDLINE_OVERRIDE=y
(oldconfigをやるとcmdline上書きやるかと聞いてきたのでy、上が追加されていた)
$ LANG=C LC_ALL=POSIX TERM=vt100 make -j2 bzImage CROSS_COMPILE=

/*************************************************************************************/
以降は試した履歴:
最初の状況(2023.01):
https://shirakawa.weblike.jp/blog-page/2023/01/04
で、elilo無しで/dev/sda5を”/”でmountするカーネルが欲しかったのでmakeした。
$ vi .config
CONFIG_CMDLINE=”ro root=/dev/sda5 rootfstype=ext3 rootdelay=1 debug”
$ sudo mount -t vfat /dev/sda1 /mnt2
$ sudo cp -i -a arch/x86/boot/bzImage /mnt2/EFI/Boot/vmlinuz-sda5
起動時BIOSメニューから、
UEFI menu > Boot Device Options > Boot From EFI File… > Select vmlinuz-sda5
EFI_bootから直接linux-5.15.19を起動するようにした。
とりあえず、vmlinuz-sda5、vmlinuz-sda9、をmakeして/dev/sda1に置いておいた。
その後、eliloを使ってbootできるようになったが、HDDを入れ替える度に/dev/sda1にelilo-x86_64.
efi置いて、
$ sudo efibootmgr -c -d /dev/sda -p 1 -l “\\EFI\\Boot\\elilo-x86_64.efi” -L “Slackware”
を実行しなきゃならないなら、/dev/sda1にvmlinuz-sda9置くだけで起動できる方が速い。Winへの切り
替えが起動時BIOSメニューからしかできないのも同じ。どうせそのうちkernel再構築が必要になるだろ
うし、こっちを使うことにした。その後、Winへの切替えはBIOSメニューからではなく、efibootmng_-n
で行うようになった。

2025.05:
ユーザーランドについて、最近は ext4 だよなと思い、うっかりユーザーランド側だけ ext3 から
ext4 に変えてしまった。
https://shirakawa.weblike.jp/blog-page/2025/05/27…
起動できなくなったので、BIOSでレガシーモードにしてUSBブートし、以下を参考に/dev/sda9を
mountし、chrootし、.configを変更し、kernel側をmakeし直した。
https://seesaawiki.jp/lifewithopenzaurus/d/…
($ mount -vt devpts devpts $LFS/dev/pts -o gid=5,mode=620 は実行しなかった)
$ vi .config
CONFIG_CMDLINE_BOOL=y
CONFIG_CMDLINE=”ro root=/dev/sda9 rootfstype=ext4 rootdelay=1 debug”

最近のmountコマンドは、-tによってFSのタイプを指定しなくともmountできているが、kernelの再構築時にCONFIG_CMDLINEからrootfstype=ext4を外しても、boot時に”/”をmountできるか? (->ChatGPT)
結論から言うと:
### ✅ **`CONFIG_CMDLINE` で `rootfstype=ext4` を指定しなくても `/` をマウントできる場合は多い**ですが、**状況に依存します**。
* カーネルに `ext4` ドライバが組み込まれている(モジュールではダメ)
* カーネルが自力でルートのファイルシステムタイプを認識できる
🔧 `rootfstype` を指定しないと、**ext3としてマウントしようとして失敗**するケースがあります(今回のあなたの状況がこれですね)。
### 3. **mountコマンドの自動判別との違い**
* 起動後の `mount` コマンドは、**`/etc/filesystems` や `libblkid` などを使って自動判別**します。
* カーネル起動中の `/` のマウントは、それらに頼れず、**カーネル内のドライバとパラメータに依存**します。

## ✅ 結論(まとめ)
| 条件                             | `rootfstype` なしで OK? | 補足                          |
| -------------------------------- | ----------------------- | ----------------------------- |
| `initramfs` 使用                 | ✅ たいていOK           | initがfstabやblkidを参照      |
| `initramfs` なし+ext4組込       | ✅ たいていOK           | ドライバがあれば自動検出可能  |
| `initramfs` なし+ext4モジュール | ❌ 失敗する可能性あり   | ドライバがロードできない      |
| `/etc/fstab` のみで判別          | ❌ 起動中には使われない | 起動後の mount 時に使用される |


参考情報:
.config (linux-3.4.67.sz 用) – SlackwareARM-14.0 spitz,Z200 GPE メモ
https://seesaawiki.jp/lifewithslackarmzaurus/d

installまたは展開時のメッセージ:
# openssl (Secure Sockets Layer toolkit)
# The OpenSSL certificate management tool and the shared libraries that
# provide various encryption and decryption algorithms and protocols.
# This product includes software developed by the OpenSSL Project for
# use in the OpenSSL Toolkit (http://www.openssl.org). This product
# includes cryptographic software written by Eric Young
# (eay@cryptsoft.com). This product includes software written by Tim
# Hudson (tjh@cryptsoft.com).

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です