Revision tags: v6.2.1, v6.2.0, v6.3.0, v6.0.1, v6.0.0, v6.0.0rc1, v6.1.0, v5.8.3, v5.8.2, v5.8.1, v5.8.0, v5.9.0, v5.8.0rc1, v5.6.3, v5.6.2, v5.6.1, v5.6.0, v5.6.0rc1, v5.7.0, v5.4.3, v5.4.2, v5.4.1, v5.4.0, v5.5.0, v5.4.0rc1 |
|
#
7279052e |
| 02-Jul-2018 |
Aaron LI <aly@aaronly.me> |
initrd: Fix parallel build
Add explicit target orders to oinit/Makefile, because such orders are set in <bsd.subdir.mk> but not in <bsd.prog.mk>.
Since the make targets (e.g., depend, all, install,
initrd: Fix parallel build
Add explicit target orders to oinit/Makefile, because such orders are set in <bsd.subdir.mk> but not in <bsd.prog.mk>.
Since the make targets (e.g., depend, all, install, clean) are now ordered, so remove 'clean cleandepend' from the same command as 'depend all install'.
Also allow defining the 'NO_CLEAN" variable to not clean previous builds.
show more ...
|
Revision tags: v5.2.2 |
|
#
e79a303f |
| 02-Jun-2018 |
Aaron LI <aly@aaronly.me> |
initrd: Detach from the world and build on the fly
Why --- Currently, the files for initrd image creation are built and installed at /usr/share/initrd by "buildworld" and "installworld", respectivel
initrd: Detach from the world and build on the fly
Why --- Currently, the files for initrd image creation are built and installed at /usr/share/initrd by "buildworld" and "installworld", respectively, and then mkinitrd(8) simply packs them to create the initrd.img.gz.
For normal users, the shipped /usr/share/initrd and mkinitrd(8) don't make much sense, since they don't need to modify the initrd contents and create a modified initrd image.
From a developer's perspective, the required steps (buildworld, installworld and mkinitrd) to create and test a new initrd image can be annoying.
How --- Detach the build and installation of the initrd contents from the world. Build the (rescue/initrd) tools on-the-fly when creating the initrd image.
As per ftigeot's suggestion, these statically linked tools can be useful when dealing with a broken system, so install them under /rescue to be more intuitive and easier to use (similar to FreeBSD and maybe other BSDs).
What ---- * Move "share/initrd" to be top-level, and detach it from world.
+ Update the patch in bsd.crunchgen.mk accordingly. + Add Makefile.inc to simplify subdir's makefiles. + Rewrite the Makefile with targets: - rescue: build and install the rescue tools into /rescue. - initrd: further packs the etc and rescue staffs to create the initrd image.
* Move "sbin/mkinitrd/mkinitrd.sh" under the new "initrd" directory and adapt it to work with the "initrd" make target. Remove the other parts of mkinitrd(8).
* Export the above "rescue" and "initrd" targets to be top-level.
* Update nrelease framework to use the new "make initrd".
* Update build.7 man page accordingly.
* Print the message about updating the initrd image and 3rd-party packages after "make upgrade" instead of "make installworld".
* Document this change in UPDATING.
* Other small updates and style cleanups.
TODO ---- * Add initrd.7 man page * Crunch more useful tools * Crunch bin/sbin/etc. into a bundle to save space (??)
Reviewed-by: swildner Thanks-to: dillon, swildner, ftigeot
show more ...
|