Date: Sat, 22 Dec 2001 14:11:00 +0100 (MET) From: Adrian Steinmann <ast@marabu.ch> To: FreeBSD-gnats-submit@freebsd.org Subject: i386/33089: GENERIC bloat causes 'make world' to break (overfull floppy) Message-ID: <200112221311.fBMDB0d18746@rumori.com>
next in thread | raw e-mail | index | archive | help
>Number: 33089
>Category: i386
>Synopsis: GENERIC bloat causes 'make world' to break (overfull floppy)
>Confidential: no
>Severity: critical
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sat Dec 22 05:20:01 PST 2001
>Closed-Date:
>Last-Modified:
>Originator: Adrian Steinmann <ast@marabu.ch>
>Release: FreeBSD 4.4-STYX i386
>Organization:
Webgroup Consulting, Switzerland
>Environment:
System: FreeBSD rumori.com 4.4-STYX FreeBSD 4.4-STYX #2: Fri Aug 31 13:23:17 MEST 2001 root@rumori.com:/usr/src/sys/compile/RUM i386
>Description:
Mid-December, 2001 on stable@freebsd.org, we see this thread:
Re: Waaaarg, we just blew out the kernel again..
Not the first time, probably not the last time either ;-)
>How-To-Repeat:
make release of -stable branch, it will fail because the GENERIC floppy
overflows (Mid-December 2001).
>Fix:
As I mentioned in stable@freebsd.org on Tue, 18 Dec 2001
in Message-Id: <200112181133.MAA11130@marabu.marabu.ch>
... a brighter future is indeed to modularize more drivers ...
As a stopgap, we can try to compress GENERIC better:
Here we have a patch to replace the gzip compression with 'bzip -1'
in src/release/Makefile. It has been tested: sysinstall went fine
on a custom-burnt CD made from the .../R/cdrom/disc1/ tree.
BTW, these are the savings on kern.flp with the bzip-only loader:
$ df -ik /mnt
Filesystem 1K-blocks Used Avail Capacity iused ifree %iused Mounted on
/dev/fd0a 1407 1385 8 99% 5 25 17% /mnt
$ ls -l /mnt
total 1297
drwxr-xr-x 2 root wheel 512 Dec 22 02:10 boot
-r-xr-xr-x 1 root wheel 1320875 Dec 22 02:10 kernel.bz2
I have also checked that the loader can indeed load kernel.bz2 images.
Since this change is quite intrusive, a second independent
test should be done before commiting. Also, there might be
a better place to add the LOADER_BZIP2_SUPPORT=YES
LOADER_NO_GZIP_SUPPORT=YES flags than straight into
WORLD_FLAGS. One might even consider changing the default
in the loader's Makefile.
*** release/Makefile 2001/12/02 10:31:28 1.536.2.62
--- release/Makefile 2001/12/21 22:05:38
***************
*** 51,56 ****
--- 51,59 ----
#WORLD_FLAGS=-j4
#KERNEL_FLAGS=-j4
+ # standardize on bzip instead of gzip to fit more GENERIC onto floppy
+ WORLD_FLAGS+= LOADER_BZIP2_SUPPORT=YES LOADER_NO_GZIP_SUPPORT=YES
+
# If you are using a local CVS repository with components stored in
# non-standard modules, override these on the make commandline or
# in the environment.
***************
*** 636,655 ****
@gzip -9 ${RD}/mfsfd/stand/help/*.hlp
sh -e ${.CURDIR}/scripts/doFS.sh -s mfsroot ${RD} ${MNT} \
${MFSSIZE} ${RD}/mfsfd ${MFSINODE} ${MFSLABEL}
! @gzip -9vc mfsroot > mfsroot.gz
.if ${MACHINE} == "pc98"
@sh -e ${.CURDIR}/scripts/doFS.sh ${RD}/floppies/mfsroot.flp \
! ${RD} ${MNT} ${SMALLBOOTSIZE} mfsroot.gz \
${BOOTINODE} ${SMALLBOOTLABEL}
@cd ${.CURDIR} && ${MAKE} doMFSKERN FSIMAGE=kern-small FDSIZE=SMALL
@cd ${.CURDIR} && ${MAKE} doMFSKERN FSIMAGE=kern
.else
@sh -e ${.CURDIR}/scripts/doFS.sh ${RD}/floppies/mfsroot.flp \
! ${RD} ${MNT} ${BOOTSIZE} mfsroot.gz ${BOOTINODE} ${BOOTLABEL}
@cd ${.CURDIR} && ${MAKE} doMFSKERN FSIMAGE=kern
@cd ${.CURDIR} && ${MAKE} doMFSKERN FSIMAGE=boot FDSIZE=BIG
.endif
! @rm mfsroot mfsroot.gz mfsroot.size
@echo "Regular and MFS boot floppies made."
touch release.8
--- 639,658 ----
@gzip -9 ${RD}/mfsfd/stand/help/*.hlp
sh -e ${.CURDIR}/scripts/doFS.sh -s mfsroot ${RD} ${MNT} \
${MFSSIZE} ${RD}/mfsfd ${MFSINODE} ${MFSLABEL}
! @bzip2 -1vc mfsroot > mfsroot.bz2
.if ${MACHINE} == "pc98"
@sh -e ${.CURDIR}/scripts/doFS.sh ${RD}/floppies/mfsroot.flp \
! ${RD} ${MNT} ${SMALLBOOTSIZE} mfsroot.bz2 \
${BOOTINODE} ${SMALLBOOTLABEL}
@cd ${.CURDIR} && ${MAKE} doMFSKERN FSIMAGE=kern-small FDSIZE=SMALL
@cd ${.CURDIR} && ${MAKE} doMFSKERN FSIMAGE=kern
.else
@sh -e ${.CURDIR}/scripts/doFS.sh ${RD}/floppies/mfsroot.flp \
! ${RD} ${MNT} ${BOOTSIZE} mfsroot.bz2 ${BOOTINODE} ${BOOTLABEL}
@cd ${.CURDIR} && ${MAKE} doMFSKERN FSIMAGE=kern
@cd ${.CURDIR} && ${MAKE} doMFSKERN FSIMAGE=boot FDSIZE=BIG
.endif
! @rm mfsroot mfsroot.bz2 mfsroot.size
@echo "Regular and MFS boot floppies made."
touch release.8
***************
*** 955,961 ****
@./write_mfs_in_kernel ${RD}/image.${FSIMAGE}/kernel mfsroot
@cp ${RD}/image.${FSIMAGE}/kernel ${RD}/kernels/MFSKERNEL.${FSIMAGE}
.endif
! @gzip -9v ${RD}/image.${FSIMAGE}/kernel
@rm -f ${RD}/floppies/${FSIMAGE}.flp
.if defined(FDSIZE) && ${FDSIZE} == "BIG"
sh -e ${.CURDIR}/scripts/doFS.sh ${RD}/floppies/${FSIMAGE}.flp \
--- 958,964 ----
@./write_mfs_in_kernel ${RD}/image.${FSIMAGE}/kernel mfsroot
@cp ${RD}/image.${FSIMAGE}/kernel ${RD}/kernels/MFSKERNEL.${FSIMAGE}
.endif
! @bzip2 -1v ${RD}/image.${FSIMAGE}/kernel
@rm -f ${RD}/floppies/${FSIMAGE}.flp
.if defined(FDSIZE) && ${FDSIZE} == "BIG"
sh -e ${.CURDIR}/scripts/doFS.sh ${RD}/floppies/${FSIMAGE}.flp \
>Release-Note:
>Audit-Trail:
>Unformatted:
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200112221311.fBMDB0d18746>
