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.
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)
As was done to i386/boot_crunch.conf:
+ Build with `lint' defined to cut out some of the `rcsid's (binaries' code
only, the libs will still have the `rcsid's in them).
+ mount_mfs is OBE.
+ Do not need libipx as I have conditionally diked that functional out of
ifconfig(8).
IPv6 configuration is only done by rtsol. Does someone really
need manual configuration? :-)
You can specify IPv6 DNS server as well.
We have only one server ftp7.jp.freebsd.org that speaks IPv6
in this time. ftp7.jp speaks IPv4 as well and also listed as
Japan #7.
Approved by: jkh
src/release/{boot,fixit}_crunch.conf.
- Added machine specific fixit_crunch.conf for PC/AT and PC-98 to
src/release/$MACHINE.
- Use config file in src/release/$MACHINE if exist. If it does not exist,
use in src/release.
boot.flp and plain boot.flp.
- Clean up crunchgen related routine.
- Add PC-98 support.
TODO:
o Documentation
o Fix some messages for PC-98
o Decrease the size of fixit.flp to 1.2MB
o I18N (See: http://www.jp.FreeBSD.org/BootAsia/index.html)
No response from jkh
to actually work in this application. Urk. This probably explains the
problems people have been having with installing -snap. My bad. Will
fix and upload a new beta snap to ftp.freebsd.org.
Noted by: jhay
When building a release, RELEASE_CRUNCH is defined for a `make' of
the objects required by the crunch of each program. The object list
is still obtained in the same way, so you must make sure that all
objects are built (empty if necessary) by this make. ppp/Makefile
provides an example.
Reviewed by: jkh
moment - the compile-time options are useless since the object
files are being used from ppp to build the crunched image, and
the ppp objects include DES at this stage since they were last
built that way to make the secure distribution. Hmmmm!
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.
Boy, I'm glad we're not using sup anymore. This update would have been
insane otherwise.
floppy (for slip install).
2. Try to work around a bodge in the ftp extraction loop where FtpEOF() was
being called more than once. Also fix a problem where the URL was getting
smashed in the environment by copying it to a temporary area before we
jump up and down on it.