Skip site navigation (1)Skip section navigation (2)
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>