189 Commits

Author SHA1 Message Date
gjb
92782b6e3e MFC r277458, r277536, r277606, r277609, r277836, r277839,
r278118, r278119, r278206, r278502:

 r277458:
  Move virtual machine / cloud provider targets and
  options from release/Makefile to their own Makefile.

  Add glue to allow enabling building cloud provider VM images
  by default.

  Add a 'vm-cloudware' target, used to drive all targets in
  CLOUDTARGETS.

  Add examples for WITH_CLOUDWARE to release.conf.sample.
  Add WITH_CLOUDWARE evaluation to RELEASE_RMAKEFLAGS.

  Rewrite to consolidate VM image build scripts into one.

  Fix duplicated mkimg(1) call in vm_create_disk().

  Add primitive (untested) PowerPC/PowerPC64 VM image support.

  Note: As it is currently written, the /boot/pmbr and
  /boot/{gptboot,boot1.hfs} use the build host and not the
  target build.  Fixing this is likely going to be a hack in
  itself.

  mount(8) and umount(8) devfs(5) as needed.

  Change path for mk-vmimage.sh from ${TARGET}/ to scripts/ now that
  it is consolidated into one file.

  Fix paths for the base image and output disk image files.

  Set the boot partition type to 'apple-boot' for powerpc.

  In vm_install_base(), copy the host resolv.conf into the build
  chroot before attempting to do anything that requires working DNS
  (i.e., pkg bootstrap).

  In vm_extra_pre_umount(), remove the resolv.conf before the disk
  image is unmounted from the backing md(4).

  Silence errors when umounting the chroot's /dev, since it probably
  doesn't exist when we're running this.

  Unmount filesystems before attempting to destroy the md which
  holds them.

  Unmount filesystem and destroy md before we read the vnode from
  disk and package it into a disk image.  Otherwise we end up
  packaging an unclean filesystem.

  Merge duplicative vm-CLOUDTYPE targets before additional duplication
  gets added by the impending arrival of ec2 and gcloud.

  Add NOSWAP option which can be set by a vmimage.conf file to specify
  that no swap space should be created in the image.  This will be used
  by EC2 builds, since FreeBSD/EC2 allocates swap space on "ephemeral"
  disks which are physically attached to the Xen host node.

  In vm_extra_install_packages(), only bootstrap pkg(8) if
  VM_EXTRA_PACKAGES is empty.

  In vm_extra_pre_umount(), cleanup downloaded packages if pkg(8) was
  bootstrapped earlier.

  In vm_extra_install_base(), do not install waagent in the openstack
  image, because it is not used.  This appears to be a copy mistake.

  Remove vm_extra_install_base() from the openstack.conf entirely,
  since it does not need to be overridden.

  Enable password-less sudo for openstack images.

  Update the VM_EXTRA_PACKAGES list for the openstack images.

  Remove vm_extra_install_base() for the Azure image, now that the
  waagent exists in the ports tree.

  Add sysutils/azure-agent to the VM_EXTRA_PACKAGES list.

  In vm_extra_pre_umount(), remove the explicit pkg(8) install
  list, as dependencies are resolved by sysutils/azure-agent.

  Add a 'list-cloudware' target to print the list of supported CLOUDWARE
  values and a description.

  Add the AZURE_DESC and OPENSTACK_DESC descriptions.

  Update release(7)

  Add 'list-vmtargets' target, which produces a list of all supported
  VM and cloud provider images.

  Add VHD_DESC, VMDK_DESC, QCOW2_DESC, RAW_DESC image descriptions.

  Update release(7) to document the list-vmtargets target.

  Add initial support for the GCE (Google Compute Engine) cloud hosting
  provider image.

  Remove the console setting from rc.conf(5), which is not used there.
  While here, set console to include vidconsole in the loader.conf(5).

  Remove the pkg-clean(8) call from vm_extra_pre_umount() since the
  function is often overridden.

  Add vm_extra_pkg_rmcache() to call pkg-clean(8) to avoid duplicated
  code.

  Move resolv.conf(5) removal back to vm_extra_pre_umount() where it
  belongs.

  The GCE image needs resolv.conf(5) to exist (created as part of the
  image setup), so it cannot be removed.

  Comment the line that configures ttys(5) to 'off', which makes it
  impossible to test that the image boots.

  Add a note explaining why the line is commented, and not (yet) removed
  entirely.

  Move the 'install' bits that are specific to virtual machine images
  from the Makefile to Makefile.vm.

  Rename the 'install' target to 'release-install', and add a new
  'vm-install' target.

  Add a new 'install' target that invokes the new targets.

  Add WITH_CLOUDWARE to the list of make(1) variables for the release
  build.

  Remove hw.vga.textmode=1 from the VM image loader.conf, which was
  included during test builds and not intended to be included when
  merging this project branch back to head.

  Remove mk-azure.sh, which is no longer needed.

 r277536:
  Rename the 'release' target to 'real-release', and add two targets,
  'vm-release' and 'cloudware-release', that are invoked if
  WITH_VMIMAGES and WITH_CLOUDWARE are not empty.

  This fixes an issue where 'make release' would not build the cloud
  provider targets because CLOUDWARE was not yet set.

  Move the WITH_VMIMAGES and WITH_CLOUDWARE targets to Makefile.vm.

  Note: There is no 'cloudware-install' target yet, since some of the
  disk image names may need to be specific to the provider, so this is
  probably best handled by the build scripts.

 r277606:
  Provide a recipe of "true" for building the "release" target once
  its prerequisites are satisfied, in order to avoid having an implicit
  rule triggered by the presence of release.sh.

 r277609:
  When iterating through VMFORMATS, the VMBASE file is not removed
  or truncated to a zero-size file, which if used to create more
  than one disk image format, can result in accidental pollution of
  the target formatted disk image.

  Instead of using a single VMBASE image (vm.img, by default), use
  a single base file for each format, named as VMFORMAT.img, which
  produces VMBASE.VMFORMAT as the final formatted image.

 r277836:
  Rename the 'system' target to 'disc1', which is specific to the
  disc1.iso installer image.

  Replace 'system' with 'release' in CLEANFILES, and add 'disc1'
  to CLEANDIRS.

  Ensure the 'dvd' target depends on 'packagesystem'.

  Fix 'mini-memstick.img' prerequisite, which should be the 'bootonly'
  target, not 'disc1' (previously 'system').

  Use .TARGET as the target installation directory for the disc1.iso
  and bootonly.iso images, which now expand to 'disc1' and 'bootonly'
  respectively, mimicking the behavior of the 'dvd' target.

  Remove '@true' from the 'release' target, and instead use
  'touch ${.TARGET}' to prevent multiple iterations of
  'make release' from clobbering previously-built installer
  medium.

 r277839:
  Update release(7) to reflect renaming the 'system' target to 'disc1'.

 r278118:
  Move service_enable="YES" rc.conf(5) additions to VM_RC_LIST and
  deduplicate.

  Evaluate if firstboot_freebsd_update should be enabled based on
  UNAME_r, because it is not supported for the -CURRENT or -STABLE
  branches.

 r278119:
  Use ifconfig_DEFAULT="" instead of hard-coding vtnet(4)

 r278206:
  Bump copyright after r277458.

 r278502:
  In scripts/mk-vmimage.sh, prevent incorrect usage() by defaulting
  VMCONFIG to /dev/null, and additionally ensuring VMCONFIG is not
  a character device before it is sourced.

  While here, be sure to exit if usage() is called.

  This should effectively be no-op, but the usage() output was
  discovered while investigating a larger issue.

* Several changes local to stable/10 were needed in order to handle
  UEFI images that are specific to this branch.

Tested with:	stable/10@r278906
Sponsored by:	The FreeBSD Foundation
2015-02-19 03:57:47 +00:00
gjb
14d211224f MFC r273093, r273096:
r273093:
  Merge the following from ^/projects/release-vmimage:
  r272436, r272437, r272792:

  r272436:
    Remove the first argument to panic(), which was initially
    intended to be the exit code, however when a non-zero exit
    code was returned to release/Makefile, this would prevent
    any remaining (and possibly successful) stages from being
    attempted.

  r272437:

    If the vm-base target fails, prevent the vm-image target
    from being run since it cannot possibly succeed.

  r272792:

    Add /usr/local/bin and /usr/local/sbin to PATH, needed
    if third-party software needs to use utilities outside
    of the base system during post-install stages (indexinfo
    is one culprit).

r273096:
  Merge the following from ^/projects/release-vmimage:
  r273076, r273077, r273079, r273095:

  r273076:
    Add a separate make(1) target to release/Makefile to
    build FreeBSD virtual machine disk images for use on
    the Microsoft Azure service.

    For now, this target is not directly connected to the
    build, however can be manually invoked.

    The 'vm-azure' target invokes {amd64,i386}/mk-azure.sh,
    which does the heavy lifting to produce proper VHDs.
    mk-azure.sh uses a configuration file, defaulting to
    tools/azure.conf if otherwise unset.

  r273077:
    Clear VM_RC_LIST.

  r273079:
    Fix signal list to trigger umount(8).

  r273095:
    Output an informational message when mkimg(1) runs, so it
    does not appear that the process has stopped while waiting
    for a 'y/n' response when waagent is deprovisioned.

Relnotes:	yes
Sponsored by:	The FreeBSD Foundation
2014-10-16 23:16:26 +00:00
gjb
dcfed64a2e MFC r272414:
Merge the following revisions from ^/projects/release-vmimage:

  r272234, r272236, r272262, r272264, r272269, r272271, r272272,
  r272277, r272279, r272376, r272380, r272381, r272392, r272234,
  r272412:

  r272234:
    Initial commit to include virtual machine images as part
    of the FreeBSD release builds.

    This adds a make(1) environment variable requirement,
    WITH_VMIMAGES, which triggers the virtual machine image
    targets when not defined to an empty value.

    Relevant user-driven variables include:

     o VMFORMATS:	The virtual machine image formats to create.
       Valid formats are provided by running 'mkimg --formats'

     o VMSIZE:	The size of the resulting virtual machine
       image.  Typical compression is roughly 140Mb, regardless
       of the target size (10GB, 15GB, 20GB, 40GB sizes have been
       tested with the same result).

     o VMBASE:	The prefix of the virtual machine disk images.
       The VMBASE make(1) environment variable is suffixed with
       each format in VMFORMATS for each individual disk image, as
       well as '.img' for the source UFS filesystem passed to
       mkimg(1).

    This also includes a new script, mk-vmimage.sh, based on how
    the VM images for 10.0-RELEASE, 9.3-RELEASE, and 10.1-RELEASE
    were created (mk-vmimage.sh in ^/user/gjb/thermite/).

    With the order in which the stages need to occur, as well as
    sanity-checking error cases, it makes much more sense to
    execute a shell script called from make(1), using env(1) to
    set specific parameters for the target image than it does to
    do this in make(1) directly.

  r272236:
    Use VMBASE in place of a hard-coded filename in the CLEANFILES
    list.

  r272262:
    Remove a 'set -x' that snuck in during testing.

  r272264:
    release/Makefile:
      Connect the virtual machine image build to the release
      target if WITH_VMIMAGES is set to a non-empty value.

    release/release.sh:
      Add WITH_VMIMAGES to RELEASE_RMAKEFLAGS.

    release/release.conf.sample:
      Add commented entries for tuning the release build if the
      WITH_VMIMAGES make(1) environment variable is set to
      a non-empty value.

  r272269:
    release/Makefile:
      Include .OBJDIR in DESTDIR in the vm-base target.

    release/release.sh:
      Provide the full path to mddev.

  r272271:
    Fix UFS label for the root filesystem.

  r272272:
    Remove comments left in accidentally while testing, so the
    VM /etc/fstab is actually created.

  r272277:
    Remove the UFS label from the root filesystem since it is added
    by mkimg(1) as a gpt label, consistent with the fstab(5) entry.

  r272279:
    Comment cleanup in panic() message when mkimg(1) does not support
    the requested disk image format.

  r272376:
    Separate release/scripts/mk-vmimage.sh to machine-specific
    scripts, making it possible to mimic the functionality for
    non-x86 targets.

    Move echo output if MAKEFLAGS is empty outside of usage().

    Remove TARGET/TARGET_ARCH evaluation.

  r272380:
    Avoid using env(1) to set values passed to mk-vmimage.sh,
    and instead pass the values as arguments to the script,
    making it easier to run this by hand, without 'make release'.

    Add usage_vm_base() and usage_vm_image() usage helpers.

  r272381:
    After evaluating WITH_VMIMAGES is non-empty, ensure
    the mk-vmimage.sh script exists before running it.

  r272392:
    Add WITH_COMPRESSED_VMIMAGES variable, which when set enables
    xz(1) compression of the virtual machine images.

    This is intentionally separate to allow more fine-grained
    tuning over which images are compressed, especially in cases
    where compressing 20GB sparse images can take hours.

  r272412:
    Document the new 'vm-image' target, and associated release.conf
    variables.

  r272413:
    Remove two stray comments added during the initial iterations
    of testing, no longer needed.

Sponsored by:	The FreeBSD Foundation
2014-10-14 12:23:44 +00:00
gjb
524a0ad518 Revert r272724:
Features not yet available in stable/10 are needed in
  mkimg(1), and it is more dangerous to tweak these changes
  in stable/10 directly without explicitly testing certain
  failure cases.

  Re-addition of this change is imminent.

Sponsored by:	The FreeBSD Foundation
2014-10-08 04:42:56 +00:00
gjb
50b9567d08 MFC r272414:
Merge the following revisions from ^/projects/release-vmimage:

r272234, r272236, r272262, r272264, r272269, r272271, r272272,
r272277, r272279, r272376, r272380, r272381, r272392, r272234,
r272412:

r272234:
  Initial commit to include virtual machine images as part
  of the FreeBSD release builds.

  This adds a make(1) environment variable requirement,
  WITH_VMIMAGES, which triggers the virtual machine image
  targets when not defined to an empty value.

  Relevant user-driven variables include:

   o VMFORMATS:	The virtual machine image formats to create.
     Valid formats are provided by running 'mkimg --formats'

   o VMSIZE:	The size of the resulting virtual machine
     image.  Typical compression is roughly 140Mb, regardless
     of the target size (10GB, 15GB, 20GB, 40GB sizes have been
     tested with the same result).

   o VMBASE:	The prefix of the virtual machine disk images.
     The VMBASE make(1) environment variable is suffixed with
     each format in VMFORMATS for each individual disk image, as
     well as '.img' for the source UFS filesystem passed to
     mkimg(1).

  This also includes a new script, mk-vmimage.sh, based on how
  the VM images for 10.0-RELEASE, 9.3-RELEASE, and 10.1-RELEASE
  were created (mk-vmimage.sh in ^/user/gjb/thermite/).

  With the order in which the stages need to occur, as well as
  sanity-checking error cases, it makes much more sense to
  execute a shell script called from make(1), using env(1) to
  set specific parameters for the target image than it does to
  do this in make(1) directly.

r272236:
  Use VMBASE in place of a hard-coded filename in the CLEANFILES
  list.

r272262:
  Remove a 'set -x' that snuck in during testing.

r272264:
  release/Makefile:
    Connect the virtual machine image build to the release
    target if WITH_VMIMAGES is set to a non-empty value.

  release/release.sh:
    Add WITH_VMIMAGES to RELEASE_RMAKEFLAGS.

  release/release.conf.sample:
    Add commented entries for tuning the release build if the
    WITH_VMIMAGES make(1) environment variable is set to
    a non-empty value.

r272269:
  release/Makefile:
    Include .OBJDIR in DESTDIR in the vm-base target.

  release/release.sh:
    Provide the full path to mddev.

r272271:
  Fix UFS label for the root filesystem.

r272272:
  Remove comments left in accidentally while testing, so the
  VM /etc/fstab is actually created.

r272277:
  Remove the UFS label from the root filesystem since it is added
  by mkimg(1) as a gpt label, consistent with the fstab(5) entry.

r272279:
  Comment cleanup in panic() message when mkimg(1) does not support
  the requested disk image format.

r272376:
  Separate release/scripts/mk-vmimage.sh to machine-specific
  scripts, making it possible to mimic the functionality for
  non-x86 targets.

  Move echo output if MAKEFLAGS is empty outside of usage().

  Remove TARGET/TARGET_ARCH evaluation.

r272380:
  Avoid using env(1) to set values passed to mk-vmimage.sh,
  and instead pass the values as arguments to the script,
  making it easier to run this by hand, without 'make release'.

  Add usage_vm_base() and usage_vm_image() usage helpers.

r272381:
  After evaluating WITH_VMIMAGES is non-empty, ensure
  the mk-vmimage.sh script exists before running it.

r272392:
  Add WITH_COMPRESSED_VMIMAGES variable, which when set enables
  xz(1) compression of the virtual machine images.

  This is intentionally separate to allow more fine-grained
  tuning over which images are compressed, especially in cases
  where compressing 20GB sparse images can take hours.

r272412:
  Document the new 'vm-image' target, and associated release.conf
  variables.

r272413:
  Remove two stray comments added during the initial iterations
  of testing, no longer needed.

Sponsored by:	The FreeBSD Foundation
2014-10-08 04:25:17 +00:00
emaste
52dc56108e MFC r264995 (nwhitehorn):
Add script to setup bootable CD ISOs for both BIOS and EFI systems.
    Tested and working on QEMU. Actually using this script as the regular
    image generator, like with the memstick one, will require that the
    kernel support EFI too. In particular, the following two things are
    required:
    1. vt(9) be the default console driver
    2. vt_efifb and vt_vga be able to coexist usefully in the same kernel

    One other note here is that this requires newfs_msdos and mdconfig,
    which is really ugly. NetBSD's makefs at least seems to support FAT
    now. If that actually works, it should be imported and we can get rid
    of the mdconfig mess.

Approved by:	re
Relnotes:	Yes
Sponsored by:	The FreeBSD Foundation
2014-09-12 16:37:56 +00:00
emaste
63b0cc75c9 MFC UEFI memstick build script
r264935 (gjb):

    Add a separate script to build the memstick.img and the
    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.

r264992 (nwhitehorn):

    Make a dual-boot BIOS/UEFI memstick image. Testing required before
    this gets renamed make-memstick.sh.

r265017 (nwhitehorn):

    loader's GPT support on BIOS does not seem to like the root
    filesystem being the last filesystem on the disk for some reason
    when made by this script. Add a vestigial swap partition to allow
    this to boot with QEMU BIOS.

Approved by:	re
Sponsored by:	The FreeBSD Foundation
2014-09-09 16:11:04 +00:00
gjb
0bda42d935 MFC r264933:
Fix indentation in make-memstick.sh.

Sponsored by:	The FreeBSD Foundation
2014-05-04 00:13:07 +00:00
gjb
f05153a94a MFC r260772:
Update the pkg-stage target to be more compatible with pkg-1.2:

 - 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

Sponsored by:	The FreeBSD Foundation
2014-01-16 16:44:23 +00:00
gjb
a2ed0ef7f6 MFC r258305, r258307, r258308, r258309, r258310, r258314, r258317,
r258319, r258320:

r258305:
  Use the IMAGES variable to determine which image files to remove
  as part of 'make -C /usr/src/release clean'.

r258307:
  Add a script and configuration files to fetch pre-built packages
  from pkg.FreeBSD.org for inclusion on release medium (dvd1.iso).

r258308:
  Unconditionally copy the build host /etc/resolv.conf into
  the chroot directory, since hostname resolution may be
  needed in the case of building a dvd image (with packages)
  and also setting 'NOPORTS=1'.

r258309:
  Set the PKG_CACHEDIR directory to 'dvd/' instead of 'release/'
  in preparation of adding a 'dvd1.iso' target.

r258310:
  Add the 'dvd1.iso' target.  This mimics the 'release.iso' target,
  with the additional step of fetching packages for inclusion on the
  dvd image.

  The 'pkg-stage' target is used to run 'scripts/pkg-stage.sh' if
  the '${TARGET}/pkg-stage.conf' configuration file exists (currently
  only amd64 and i386).

  Allow dvd1.iso to be skipped if NODVD=1.

r258314:
  Fix how ABI is evaluated so it matches more than a dot-zero
  case.

r258317:
  Document the 'dvdrom' target.

r258319:
  Remove WITHOUT_PROFILE=1 for the dvd1.iso medium.

r258320:
  Simplify PKG_ABI for pkg-stage.sh.

Approved by:	re (hrs)
Sponsored by:	The FreeBSD Foundation
2013-11-21 02:45:36 +00:00
hrs
aa08976cf0 - Add CHECKSUM.* support in Makefile[1].
- 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]
2013-02-03 10:26:24 +00:00
hrs
adbb26d90e ISO 9660 specification allows only "d-characters" and "a-characters" in the
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.
2013-01-08 21:13:58 +00:00
nwhitehorn
2fc07cb3a5 Use UFS labels and bsdlabels (like the 8.x memsticks) instead of GPT to
fix problems with some BIOSes.

MFC after:	3 days
2011-10-09 16:23:04 +00:00
nwhitehorn
190bd9f097 Farewall, sysinstall! You served us well for many years, but 10.0 is one
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).
2011-10-03 15:13:09 +00:00
nwhitehorn
7c1cc185fa Mount memsticks read-only by default to prevent them being filled by
user modifications and subsequently preventing a functioning installation.

Approved by:	re (kib)
2011-07-30 00:51:36 +00:00
nwhitehorn
3fa339365c Garbage collect some unused variables and stray debug code.
Submitted by:	marius
2011-05-05 13:55:43 +00:00
nwhitehorn
3a0f89209c Repair release CD generation on PC98 and sun4v after release building
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.
2011-05-04 23:41:11 +00:00
nwhitehorn
7e04216c28 Use labels to find release media instead of hard-coded device paths. This
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
2011-03-22 01:14:53 +00:00
nwhitehorn
2397771613 Add generation of memstick images to the bsdinstall release makefile for
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.
2011-03-13 01:38:24 +00:00
nyan
c962e71f7e Fix making a release. The old libdialog was renamed to libodialog. 2011-01-14 10:56:44 +00:00
delphij
c64406c79a Reorder to have -lcrypto after -larchive. Our linker doesn't seem to like
the current ordering :(
2010-05-26 18:55:40 +00:00
delphij
f57b5cd0bc libarchive now needs libcrypto and liblzma. 2010-05-25 17:48:17 +00:00
jhb
3e0f5e5d70 Remove slattach from the install mfsroot since it doesn't exist anymore
to quiet a warning from crunchgen.

MFC after:	1 week
2010-01-26 15:28:00 +00:00
jamie
fa263a2ed1 Add libjail to the boot_crunch binaries (for ifconfig).
PR:		136071
Submitted by:	Scot Hetzel
Approved by:	re (kensmith), bz (mentor)
2009-06-29 13:59:30 +00:00
thompsa
4aa75fa98d Install libusb20.so.1 as libusb.so.1, there will be a followup commit to the
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
2009-03-09 17:05:31 +00:00
nyan
36a2601b9b Catch up with USB2 change.
Remove the usbdevs and add the usbconfig.

Spotted by:     hrs
Tested on:      i386
2009-03-03 09:04:18 +00:00
kensmith
ebd94f5c0d Recent work on the gnu cpio seems to have introduced some bugs, it
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.
2008-08-20 13:35:39 +00:00
thompsa
a82fbe5c0f libbsdxml is now required by ifconfig(8).
Submitted by:	Florian Smeets
2008-04-22 18:20:05 +00:00
kensmith
284acd0781 In 'fixit mode' running "fsck /dev/ad0s1a" typically complains that it
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
2008-01-22 16:35:10 +00:00
sam
fa1fbfedc2 Revamp base system packaging of kernels to enable up/smp selection
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.
2006-03-08 18:02:32 +00:00
iedowse
0b71e714c9 Remove usbd(8) and all references to it. It is no longer necessary
since devd(8) now provides the same functionality.

Submitted by:	Anish Mistry
2005-12-15 01:04:51 +00:00
kensmith
4bd08bd2d3 The current version of mkisofs is warning us that the -P option will
be changing with the next version, and we should be using -publisher
instead.

Also warned by:	trhodes
MFC after:	1 week
2005-01-30 21:10:52 +00:00
ru
0664528982 Keep each prog on its own line so that diffs between various
*_crunch.conf files are easier to read.
2004-10-01 07:54:37 +00:00
ru
4b3aeae7bd Take away unused libraries. 2004-10-01 07:33:09 +00:00
murray
2bc5ca0db1 Add a publisher variable with the URL for the FreeBSD Project, and put
this into the ISO headers by specifying the -P option to mkisofs.

Obtained from: share/examples/worm/makecdfs.sh
2004-07-15 09:28:03 +00:00
kris
b436785ed4 Set BATCH=yes to avoid bumping into interactivity in the port builds.
XXX /usr/ports is still hardcoded, should be ${PORTSDIR}
2004-07-12 07:59:25 +00:00
marius
0ed9fe99d5 mkisofs(8) is now installed by sysutils/cdrtools.
This will be instantly MFC'ed.
2004-06-02 22:21:15 +00:00
ru
ff705e5860 Clean up after revision 1.55. 2004-01-28 09:38:40 +00:00
ru
fc5fa1c32b amd64 will not provide floppies. 2003-07-23 05:55:02 +00:00
peter
bf62678b49 For amd64, delete the IA32 option for the boot kernel since it needs
SYSV*, which is also removed.
2003-06-26 00:58:57 +00:00
scottl
64bd3d4ac2 Enable the MUTEX_NOINLINE option for the BOOTMFS kernel for ia32, pc98, and
alpha.  This shaves 36-50k off of the compressed kernel size.

Submitted by:	jhb
2003-05-18 03:52:22 +00:00
ru
a44ce3058a disklabel(8) is spelled bsdlabel(8) or sunlabel(8) these days.
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)
2003-05-17 19:16:28 +00:00
scottl
74b5fd1bb7 Revert rev 1.78 of dokern.sh. The ncv, stg, and nsp drivers aren't
specific to pc98, and it looks like space on the kernel floppy isn't
as tight as it was.
2003-05-05 02:04:55 +00:00
scottl
3df17deeec pc98 has it's own release subdir, so it's safe to remove the stg, ncv, and
nsp drivers from the i386 floppies.

Suggested by:	bmah
2003-05-02 17:47:08 +00:00
ru
55c49c799e Removed mount_devfs from progs since there is no "mount_devfs"
source directory (it's spelled mount_std nowadays), so it was
a no-op anyway, and DEVFS is now the default.
2003-04-21 19:14:32 +00:00
jhay
6878bbad2c NO_COMPAT_FREEBSD4 is no more. 2003-04-17 06:04:44 +00:00
ru
9313a650ad Go for the auto-tuned `maxusers'. This at least fixes
the ``panic: timeout table full'' on Alphas.

Tested by:	wilko
2003-03-22 14:23:23 +00:00
matusita
c6646c2f7d Push UFS_ACL back for i386. We have 11kbytes of free space on kern.flp.
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
2003-02-21 18:07:24 +00:00
matusita
cac30bb884 Pushing back aacp driver to kern.flp kernel. It can be removed iff
aac is not compiled into a kernel.

After this change, kgziped kernel got about 320 bytes; it still fits a floppy.

Pointy hat to: matusita
2003-02-19 03:49:17 +00:00
matusita
79fa543e52 Yet another kernel diet: remove aacp and _KPOSIX_PRIORITY_SCHEDULING.
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
2003-02-18 12:09:20 +00:00