. speeds up mkdep (i.e. world builds) significantly
. have to keep minix /bin/sed for a while because previous
usr/etc/rc depends on it
. force mkdep to use /usr/bin/sed for speedup
. Feature to do a 'release' into a permanent
and usable FS hierarchy, usable with chroot
. Just like the temporary staging hierarchy really
. Useful to checking out and building the latest
version of minix from a host minix; to
(1) make an uptodate minix jail, and
(2) make a sterile, reproducible jail environment, and
(3) use as disposable environment in which moving /usr/pkg
is ok
(i.e. pkgsrc bulk builds)
Add two makefiles to manage compiling packages with NetBSD libc.
* minix.libc.mk contains the proper CFLAGS/LDFLAGS
* pkgsrchooks.mk contains the logic for setting the flags.
* update bmake
Several pkg-config files were added to help pkgsrc learn about
the c, minlib, and compat_minix libraries.
and minor fixes:
. add ack/clean target to lib, 'unify' clean target
. add includes as library dependency
. mk: exclude warning options clang doesn't have in non-gcc
. set -e in lib/*.sh build files
. clang compile error circumvention (disable NOASSERTS for release builds)
. when switching from the base pkg_install to the pkgin pkg_install,
the version number changed, causing a compatability problem if the
old base system binary was inadvertently left behind.
. this change checks for that situation by specifically invoking
the pkgin instance of pkg_install and telling the user to install
it if it doesn't exist.
pkgsrc binary packages.
rationale:
. pkg_install (which is the pkg_* tools) is entangled with pkgsrc,
not with minix, so tracking it from pkgsrc (easier than with
base system) makes more sense
. simplifies upstreaming minix specific changes for pkg_* tools
. reduce pkgsrc-in-basesystem maintenance burden
. update release.sh's notion of where packages are
. update release.sh's notion of how many files are on root
as -xdev won't work anymore to separate /usr from /
- A staging directory is always used to avoid oversized images;
- As a consequence, the zero-filling is removed so no more "out of
space" errors should be printed to the console;
- The root and usr partition sizes are computed so less space should be
wasted (the root partition gets extra 1MB zones and 64 inodes for
run-time though and hardlinks/holes make the used space slightly less
than expected); USRMB (and the new ROOTMB) are now used to enforce
a minimum size rather than set the size;
- TMPDISK1-3 are renamed to more meaningful names (and TMPDISK2 is
dropped because a separate tmp directory is no longer needed);
- The ramdisks are truncated at the end to save memory (not sure
whether it is actually released though).
boot is a normal binary with a.out again. use 'cdbootblock,' a CDBOOT
variant of bootblock, both from bootblock.s, as the first boot image
that then loads boot, exactly like the bootblock loads boot when booting
from harddisk. the sector numbers (2048 byte iso sectors) are patched in
by writeisofs, like installboot does for bootblock. bootblock unchanged.
- Make the bootstrap /etc/mk be populated from the newly checked out source
- Don't chmod 755 all of /etc
- For the 'real' /etc/mk installing, let the /etc/mk ownership and permission
come from the mtree file, delete the contents of /etc/mk, then copy the .mk
files over and set reasonable permissions and ownership. (So that the .mk
get updated from the real usr/src/ copies, and no other junk if anything,
after the bootstrap phase, whatever happened there.)
ow that the image has grown beyond the 1.44M that fits on a floppy.
(previously, the floppy emulation mode was used for cd's.)
the boot cd now uses 'no emulation mode,' where an image is provided on
the cd that is loaded and executed directly. this is the boot monitor.
in order to make this work (the entry point is the same as where the
image is loaded, and the boot monitor needs its a.out header too) and
keep compatability with the same code being used for regular booting, i
prepended 16 bytes that jumps over its header so execution can start
there.
to be able to read the CD (mostly in order to read the boot image),
boot has to use the already present 'extended read' call, but address
the CD using 2k sectors.
determine which packages and package sources to include on the
installation media, as opposed to including everything in the
PACKAGEDIR AND PACKAGESOURCEDIR directories.