at runtime and to support distributing additional kernels:
o remove kernel from the base tarball
o add new kernel tarballs
o build + package both SMP and GENERIC kernels when an <arch>/conf/SMP
config file is present
o add sysinstall support for multiple kernels
o update sysinstall to probe for the number of cpus on a system
and auto-select smp/up kernel accordingly
o add a post-kernels install hook to fixup /boot/kernel
o add -ldevinfo to boot crunch for sysinstall's cpu probing logic
Notes:
1. On HEAD this code is not currently used because GENERIC kernels
include SMP. This work is mainly intended for RELENG_6 where the
GENERIC kernel is UP. If HEAD changes to match then just enable
WITH_SMP in sysinstall/Makefile.
2. The cpu probing support is done with acpi and MPTable; this means
some systems will require work for auto-detection to work.
3. The handling of /boot/kernel may need to be revisited; for now
we rename one kernel at the last moment (SMP if installed, otherwise
GENERIC). There are other, possibly better, approaches.
Lots of help from ru, emaste, scottl, and jhb.
Also make sure bsdlabel(8) (along with the disklabel(8) compat
link) still appear on the fixit floppies of platforms that use
it natively (alpha, i386, and pc98).
Approved by: re (scottl)
If we have no UFS_ACL kernel, users who already uses UFS1/2 attributes
get confused since no access control is performed for an update install.
Still, pc98 and alpha doesn't have UFS_ACL since I don't know about them.
Nyan-san, if kern.flp on tatsu has enough spaces (4k or more spaces),
please back UFS_ACL for pc98 also.
Data collected from: 5.0-CURRENT-20030221-JPSNAP on snapshots.jp.FreeBSD.org
aacp is a passthrough driver for aac, but it seems that aac kernel
module has a feature provided by aacp; so it can be removed safely.
_KPOSIX_PRIORITY_SCHEDULING provides P1003.1B realtime extension.
However, in an installation phase, it seems that it helps a little
for us, so we can remove this option from a kernel for floppy installation.
I know _KPOSIX_PRIORITY_SCHEDULING option is defined in other architecture.
However, I don't touch them at this time; I can't test it.
Anyway here's result.
Before diet:
-rwxr-xr-x 1 matusita matusita 4849883 Feb 18 11:22 kernel
-rwxr-xr-x 1 matusita matusita 1727143 Feb 18 11:47 kernel.kgz
After diet:
-rwxr-xr-x 1 matusita matusita 4840949 Feb 18 09:48 kernel
-rwxr-xr-x 1 matusita matusita 1723911 Feb 18 11:47 kernel.kgz
We've got extra 3232 bytes (using 5-current as of Feb/18/2003).
In cooperation with: jwd (test ISO installation image)
Boot tested on: several PCs around myself
Installation tested on: VMware Workstation e.x.p build-4099
the BOOTMFS kernel. These help reduce the kernel size so things fit
in a floppy image. There are more low-hanging fruit to be had here
if things fail to fit again.
into the install kernel. Unfortunately pcn(4) also needs mii(4) so that
would also have to added to install kernel, which will bloat it up so that it
doesn't fit on the floppy any more. Turns out we grew a lnc(4) module since
I last looked. So handle it as a kld loadable module during install rather
than have it statically compiled into the kernel.
lnc(4) will attach to AMD PCnet/FAST NICs if pcn(4) does not attach.
I.e. pcn(4) gets first chance. There is a problem however in that pcn(4)
was moved out of the install kernel so that the module would be used.
This however causes bad installs if one has an AMD PCnet/FAST NIC.
release/${TARGET}/drivers.conf file which list drivers that have to
go into the third floppy.
Also shuffle i386/drivers.conf so that the floppies don't overflow
anymore. Anybody with real/better usage statistics is welcome to
shuffle it differently.
Reviewed by: ru
- Don't remove MATH_EMULATE and MSDOS from a 'SMALL' floppy.
- Use the pattern '<tab><device name><tab>' instead of '<device name>' to
avoid an unexpected matching.
megabytes of additional space on the install CD. Given our premium
for space, I don't think this is a wise use of 30MB. HFS support was
not provided on the FreeBSD 4.4 CDs and I received a grand total of 0
complaints.
This change should/could be merged into other arch's release build
areas (PC98, Alpha), but since i cannot test a "make release" there, i
won't do this myself.
MFC after: 1 week
1) Use devfs to mount filesystems. If mounting devfs is fail,
fallback to old code.
2) When fscking filesystems, use 'fsck_ffs' explicitly. As a
result, we no longer need 'fsck' the wrapper program.
Reviewed by: jkh
Actually src/release/i386/boot_crunch.conf rev 1.45 does this change,
but unfortunately there is no src/sbin/fsck_4.2bsd directory, but
src/sbin/fsck_ffs.
This commit replaces 'fsck_4.2bsd' to 'fsck_ffs', and add a link to
'fsck_4.2bsd' and 'fsck_ufs'. Note that 4-stable's fsck(8) have an
ability of fsck_ffs also, there is no need to MFC at least now.
Tested only for: i386 (but I believe this doesn't break for other archs)