Port-i386 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

GENERIC and INSTALL kernels (was: Re: CVS commit: src/sys/arch/i386/conf)

On 11.02.2011 10:15, Izumi Tsutsui wrote:
>> both MFS and TMPFS. I hardly ever use CD9660 or EXT2FS while I use
>> NFS a lot. There will however be people with is opposite requirements
>> which is why those should really be modules.
> For install, root on CD9660 is possible.
> (though we can put cd9660.kmod into the cd9660fs)
>>> e.g. the typical file-systems we may have to use, without having to rely
>>> on modules that could be absent or non accessible at boot time.
>> I don't think it needs typical file-systems. IMHO the kernel should
>> contain the file-systems required for booting.
> Not booting, but mountroot.
> I.e. even EXEC_ELF32/EXEC_SCRIPT and MFS/TMPFS can be loaded after mountroot.
> "Typical" file-systems should be compiled in kernel for floppies and tapes
> (or lazy users who don't bother to put module files into root file system)
> but not for CD and USB images because we can put module files into them.
> NFS might be problematic because it isn't clear if all pxeboot
> (or other bootloaders) can simply load nfs.kmod via network.

IMHO, the real question is whether we should have a self-sufficient
GENERIC kernel for _booting_ a minimum system, or not.

Current NetBSD bootloader is capable of loading modules on-demand, but
we are not forcing everyone to use NetBSD's bootloader (some may want to
use Grub, Grub2, uboot, whatever).

Problem 1:
Things can boil down to this scenario: people just want to update their
kernel, and expect that /netbsd replacement with current GENERIC will
work out of the box. Thing is, it won't, and you eventually end up with
a non-bootable system (even single user). oops.

Problem 2:
Being able to mountroot the ramdisk that contains the modules is
sufficient in itself. However, for install ramdisks, you would have to
include modules + sysinst + some tools needed for install. You end up
having a ramdisk with a size close to 25MiB (count 10MiB for /stand, and
some more MiB for tools/sysinst).

Executive summary (personal choices):

- yes, having a minimum GENERIC kernel that can boot and rescue the
system is preferable. As third party modules are not guaranteed to be
present, this means FFS, EXEC_ELF{32,64}, EXEC_SCRIPT are needed.
Probably CD9660 and NFS too, so people can mount ISO/NFS shares to get
modules (no external network access, for example).

- 25MiB ramdisk for installation is ridiculous. I'd prefer to have a
third party INSTALL kernel with additional file-systems statically
compiled in. Rest can stay modular (AIO, MQUEUE...) as it is not needed
for installation (and modules won't be part of the ramdisk).


Jean-Yves Migeon

Home | Main Index | Thread Index | Old Index