mini-memstick.img with UEFI support.
As the comments in the file suggest, 1) there must
be existing ${.OBJDIR}/usr/src/release/{release,bootonly};
2) TARGET/TARGET_ARCH must be amd64; and 3) it must be
a vt(4)-enabled kernel with vt_efifb (*not* vt_vga).
This script is not hooked into release/Makefile in any way
until further testing is complete.
Sponsored by: The FreeBSD Foundation
Restore make-memstick.sh back to its original state to
unbreak booting for machines that do not support GPT.
I have in-progress work to keep the MBR layout and add
the EFI partition, but it is not yet ready, and does
need at least one full release build to be certain it
does not break.
Sponsored by: The FreeBSD Foundation
- Indent 1 full tab where needed
- Use $() for shell exec
- Insert a space between '$(( ))' parens
MFC After: 1 week
X-MFC-With: r264907
Sponsored by: The FreeBSD Foundation
dedicated' partition scheme, reported to cause the memstick.img
to fail to boot.
Similar to how make-memstick.sh worked on stable/8, use makefs(8)
to create the actual filesystem. Then calculate the size of the
resulting image file, create the GPT partition scheme, then dd(1)
the filesystem created with makefs(8) to the freebsd-ufs GPT
partition.
This was tested on a known-working machine[1] for regression, and
a known-not-working machine[2] to ensure the boot issue has been
resolved.
Testers: myself [1], db [2]
MFC After: 1 week
Sponsored by: The FreeBSD Foundation
- Add a release-dvd.conf pkg(8) configuration file to override
the default FreeBSD.conf configuration.
- Remove architecture-specific pkg-stage.conf files, consolidate,
and move their contents to scripts/pkg-stage.sh.
- Use 'pkg -vv' to determine the ABI, which is used as the
cache directory.
Prior to these changes, it would be possible for pkg-stage to fetch
conflicting binary packages from multiple repositories.
Tested against: head@r260522, stable/10@r260522
MFC after: 3 days
X-Insta-MFC: possibly
Sponsored by: The FreeBSD Foundation
from pkg.FreeBSD.org for inclusion on release medium (dvd1.iso).
The script sources ${.CURDIR}/${TARGET}/pkg-stage.conf, which sets
several environment variables, such as the pkg(8) ABI, PACKAGESITE,
PKG_DBDIR, and PKG_CACHEDIR. PKG_CACHEDIR is set to the directory
on the release medium used by bsdconfig(8) (/packages/${ABI}). ABI
is determined by output of 'make -C /usr/src/release -V REVISION'.
See pkg.conf(5) for descripton on other variables set here.
The list of packages to include are set within the configuration
file.
The script and configuration files are intended to be run by the
'make dvd' target within the release directory, and assume the
release is built within a chroot environment (such as by using
release.sh).
Relevant updates to release/Makefile will follow.
Sponsored by: The FreeBSD Foundation
- Use ln -fs to create a symlink.
- Remove pkgadd for docports.
- Use WITHOUT_JADETEX=yes instead of WITH_JADETEX=no.
- Add {WORLD,KERNEL}_FLAGS to [BTWK]MAKE.
- Use makefs(8) and gpart(8) for sparc64 ISO image[2].
- Add publisher option to makefs(8)[2].
Based on work by: gjb[1]
Discussed with: marius, nwhitehorn[2]
Volume Descriptor (section 7.4). In short, upper-case alphanumeric + some
symbols only. While the makefs utility automatically converts the characters,
$LABEL should be consistent in the scripts.
digit beyond your time.
Various sysinstall dependencies (e.g. libftpio, libdisk, libodialog, etc.)
will be cleaned up in coming days. Some will take longer than others due to
a few other consumers (tzsetup and sade).
changes, and backport the new logic (ISO images are TARGET dependant, not
TARGET_CPUARCH dependant) to Makefile.sysinstall. While modifying ISO
image scripts, change several archs to use makefs (from base) instead of
mkisofs (from ports) which makes release CD generation both faster and
self-hosting.
makes booting more reliable (and working at all on USB sticks). While here,
move responsibility for setting up fstab into the various platform mk-*.sh
scripts.
Suggested by: many
i386 and amd64. This involved moving the memstick generation script to
the arch directories from scripts/, in analogy to mkisoimages.sh. This
script was never called from /usr/src/release/Makefile, so that hasn't
been updated.
ports tree so that programs use libusb from the base by default. Thanks to
Stanislav Sedov for sorting out the ports build.
Bump __FreeBSD_version to 800069
Help and testing by: stas
complains about "Malformed numbers" while unpacking the dists and
what winds up on the disk isn't correct. Use this as an opportunity
to switch over to bsdcpio since at this point we don't even build
and install the gnu cpio by default. Note sysinstall needed to be
tweaked a bit (dropping tape block size setting) because it seems
bsdcpio doesn't do anything with block sizes, at least as far as
reading from archives goes. That wasn't really a problem since
installations from tape have been broken for a while and the rest
of sysinstall's tape support code will be removed shortly.
can't find fsck_4.2bsd because there was no fstab file saying what
filesystem type it is looking at so it got the filesystem type from
the disk's label. When that fails admins who haven't been in this
situation before are most likely to try "fsck -t ufs /dev/ad0s1a" because
ufs is the type used in fstab files on working systems but that also fails
complaining it can't find fsck_ufs.
This just sets it up so /stand in the MFS image (/sbin is a symlink
to /stand) includes hard links pointing fsck_4.2bsd and fsck_ufs to
fsck_ffs which is what is present in /sbin on installed systems.
Prodded by: obrien
MFC after: 1 day
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)
+ uses `mkisofs' rather than `mkhybrid' as the new mkisofs is the merger
of the two
+ checks for `setcdboot's existsance and tries to pkg_add it if needed
+ removes English contraction
Approved by: jkh
as part of the release if MAKE_ISOS is set. Will also build the
first CD with packages (in addition to the "minimal" CD) if CD_EXTRA_BITS
points to them. This probably need a bit more work to get fully useful,
but it at least covers the basics for now.
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).