Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 8 Aug 2002 20:27:15 +0300
From:      Ruslan Ermilov <ru@FreeBSD.org>
To:        John Hay <jhay@icomtek.csir.co.za>
Cc:        current@FreeBSD.org, John Baldwin <jhb@FreeBSD.org>
Subject:   Re: 3 floppy system for -current releases
Message-ID:  <20020808172715.GA29895@sunbay.com>
In-Reply-To: <200208081632.g78GWeq61331@zibbi.icomtek.csir.co.za>
References:  <200208081632.g78GWeq61331@zibbi.icomtek.csir.co.za>

next in thread | previous in thread | raw e-mail | index | archive | help

--uAKRQypu60I7Lcqm
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Thu, Aug 08, 2002 at 06:32:40PM +0200, John Hay wrote:
> Here is a try at a 3 floppy system. Most people should be able to
> install with the first 2 floppies (kern.flp and mfsroot.flp). Just
> those that need a driver on the third floppy (drivers.flp) will
> need it.
>=20
> If this idea is acceptable, we should probably tweak what should
> go on the second floppy and what is used the least and put that
> on the last one.
>=20
> To load drivers from the drivers floppy, go to "Configure" and then
> the last option there is "Load KLD".
>=20
Ah, so we already have this functionality ready!  Nice...

> The last 2 files in the diff (bld-ko.sh and driver-list.awk) are not
> really needed. That is part of my attempt to create a single .ko to
> save space on mfsroot.flp. But I can't get internal dependancies to
> work yet. Most drivers depend on miibus and that don't get loaded
> first.

> Index: usr.sbin/sysinstall/system.c
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> RCS file: /home/ncvs/src/usr.sbin/sysinstall/system.c,v
> retrieving revision 1.119
> diff -u -r1.119 system.c
> --- usr.sbin/sysinstall/system.c	1 Nov 2001 23:32:46 -0000	1.119
> +++ usr.sbin/sysinstall/system.c	8 Aug 2002 09:17:01 -0000
> @@ -348,7 +348,13 @@
>      snprintf(buf, FILENAME_MAX, "/stand/help/%s.hlp.gz", file);
>      if (file_readable(buf))=20
>  	return expand(buf);
> +    snprintf(buf, FILENAME_MAX, "/stand/help/%s.hlp", file);
> +    if (file_readable(buf))=20
> +	return expand(buf);
>      snprintf(buf, FILENAME_MAX, "/stand/help/%s.TXT.gz", file);
> +    if (file_readable(buf))=20
> +	return expand(buf);
> +    snprintf(buf, FILENAME_MAX, "/stand/help/%s.TXT", file);
>      if (file_readable(buf))=20
>  	return expand(buf);
>      snprintf(buf, FILENAME_MAX, "/usr/src/usr.sbin/sysinstall/help/%s.hl=
p", file);
> Index: release/Makefile
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> RCS file: /home/ncvs/src/release/Makefile,v
> retrieving revision 1.698
> diff -u -r1.698 Makefile
> --- release/Makefile	5 Aug 2002 16:57:43 -0000	1.698
> +++ release/Makefile	8 Aug 2002 15:40:27 -0000
> @@ -518,7 +518,8 @@
>  .endif
>  	cd ${j}_crunch; ${WMAKE} -f ${j}_crunch.mk subclean
>  	cd ${.CURDIR}/..; ${TMAKE} build-tools
> -	cd ${j}_crunch; ${WMAKE} -f ${j}_crunch.mk all
> +	cd ${j}_crunch; ${WMAKE} -f ${j}_crunch.mk \
> +	    CFLAGS=3D"-Os -pipe" -DNO_CPU_CFLAGS all
>  	mv ${j}_crunch/${j}_crunch ${RD}/crunch/${j}
>  .endfor
>  	touch release.5
OK

> @@ -654,15 +655,15 @@
>  	    > ${RD}/mfsfd/stand/etc/services
>  	ln ${RD}/mfsfd/stand/etc/services ${RD}/mfsfd/etc/services
>  	ln ${RD}/mfsfd/stand/etc/netconfig ${RD}/mfsfd/etc/netconfig
> -	gzip -9c ${RD}/trees/base/COPYRIGHT > ${RD}/mfsfd/stand/help/COPYRIGHT.=
hlp.gz
> +	cat ${RD}/trees/base/COPYRIGHT > ${RD}/mfsfd/stand/help/COPYRIGHT.hlp

Should be cp(1).  But then again, why don't have things compressed?  IMHO,
it's much quicker to load compressed file from floppy and uncompress it in
memory, than to load an uncompressed file from floppy.

>  .if !defined(NODOC)
>  	@for i in ${DIST_DOCS_ARCH_INDEP}; do \
> -	  gzip -9c ${RND}/${RELNOTES_LANG}/$$i/article.txt > ${RD}/mfsfd/stand/=
help/`echo $${i} | tr 'a-z' 'A-Z'`.TXT.gz; \
> +	  cat ${RND}/${RELNOTES_LANG}/$$i/article.txt > ${RD}/mfsfd/stand/help/=
`echo $${i} | tr 'a-z' 'A-Z'`.TXT; \
>  	done
>  	@for i in ${DIST_DOCS_ARCH_DEP}; do \
> -	  gzip -9c ${RND}/${RELNOTES_LANG}/$$i/${TARGET}/article.txt > ${RD}/mf=
sfd/stand/help/`echo $${i} | tr 'a-z' 'A-Z'`.TXT.gz; \
> +	  cat ${RND}/${RELNOTES_LANG}/$$i/${TARGET}/article.txt > ${RD}/mfsfd/s=
tand/help/`echo $${i} | tr 'a-z' 'A-Z'`.TXT; \
>  	done
> -	@mv ${RD}/mfsfd/stand/help/INSTALLATION.TXT.gz ${RD}/mfsfd/stand/help/I=
NSTALL.TXT.gz
> +	@mv ${RD}/mfsfd/stand/help/INSTALLATION.TXT ${RD}/mfsfd/stand/help/INST=
ALL.TXT
>  .endif
>  	-test -f ${.CURDIR}/install.cfg && cp ${.CURDIR}/install.cfg ${RD}/mfsfd
>  	@mkdir -p ${RD}/mfsfd/boot
> @@ -674,16 +675,28 @@
>  	@echo "Making the regular boot floppy."
>  	@tar --exclude CVS -cf - -C ${.CURDIR}/../usr.sbin/sysinstall help | \
>  		tar xf - -C ${RD}/mfsfd/stand
> -	@echo "Compressing doc files..."
> -	@gzip -9 ${RD}/mfsfd/stand/help/*.hlp
Ditto.

>  .if ${TARGET_ARCH} =3D=3D "alpha"
>  	rm -rf ${RD}/mfsfd/stand/help/*
>  .endif
>  .if exists(${.CURDIR}/${TARGET}/drivers.conf)
>  	@mkdir -p ${RD}/mfsfd/stand/modules
> -	@awk -f  ${.CURDIR}/scripts/driver-copy2.awk \
> +.if !defined(SINGLE_MODULE)
> +	@awk -f  ${.CURDIR}/scripts/driver-copy2.awk 2 \
>  	    ${.CURDIR}/${TARGET}/drivers.conf \
> -	    ${RD}/trees/base/boot/kernel ${RD}/mfsfd/stand/modules
> +	    ${RD}/trees/base/boot/kernel ${RD}/mfsfd/stand/modules/

Get rid of the unneeded last "/".

> +.else
> +	sh -e ${.CURDIR}/scripts/bld-ko.sh ${RD}/mfsfd/stand/modules \
> +	    `awk -f ${.CURDIR}/scripts/driver-list.awk 2 \
> +	    ${.CURDIR}/${TARGET}/drivers.conf`
> +.endif
> +	@kldxref ${RD}/mfsfd/stand/modules/

kldxref(8) produces the MD output, but is not a cross-tool, so it won't
work for TARGET_ARCH=3Dalpha modules on i386.  The hints it produces are
optimizations only, and not strictly necessary.  Bin it from here.

> +	rm -rf ${RD}/driverfd
> +	mkdir ${RD}/driverfd
> +	@awk -f  ${.CURDIR}/scripts/driver-copy2.awk 3 \
> +	    ${.CURDIR}/${TARGET}/drivers.conf \
> +	    ${RD}/trees/base/boot/kernel ${RD}/driverfd/

Drop the last "/".

> +	@sh -e ${.CURDIR}/scripts/doFS.sh ${RD}/floppies/drivers.flp \
> +	    ${RD} ${MNT} ${BOOTSIZE} ${RD}/driverfd ${BOOTINODE} ${BOOTLABEL}
>  .endif
>  	sh -e ${.CURDIR}/scripts/doFS.sh -s mfsroot ${RD} ${MNT} \
>  		${MFSSIZE} ${RD}/mfsfd ${MFSINODE} ${MFSLABEL}
OK.

> @@ -832,7 +845,7 @@
>  		  fbsd_livefs ${CD}/disc2.iso ${CD_DISC2}; \
>  		if [ "x${CD_EXTRA_BITS}" !=3D "x" ]; then \
>  			sh ${.CURDIR}/${TARGET_ARCH}/mkisoimages.sh ${BOOTABLE} \
> -			  fbsd_boot ${CD}/disc1.iso ${CD_DISC1} ${CD_EXTRA_BITS}; \
> +			  fbsd_boot ${CD}/disc1.iso ${CD_DISC1} ${CD_EXTRA_BITS} \
>  			    && false; \
>  		fi \
>  	else \

This is unrelated change, please commit it separately.

> @@ -963,7 +976,8 @@
>  	cd ${.CURDIR}/..; \
>  	KERNEL_KO=3DBOOTMFS KODIR=3D \
>  	    ${CROSSMAKE} ${KERNEL_FLAGS} -DNO_MODULES -DNO_KERNELCLEAN \
> -	    KERNCONF=3DBOOTMFS buildkernel reinstallkernel \
> +	    KERNCONF=3DBOOTMFS COPTFLAGS=3D"-Os -pipe" -DNO_CPU_COPTFLAGS \
> +	    buildkernel reinstallkernel \
>  	    DESTDIR=3D${RD}/kernels
>  	[ -r ${.CURDIR}/../sys/${TARGET}/conf/BOOTMFS.hints ] && \
>  	cp ${.CURDIR}/../sys/${TARGET}/conf/BOOTMFS.hints ${RD}/kernels
OK.

> @@ -995,6 +1009,7 @@
>  .endif
>  	@echo "load -t mfs_root /mfsroot" >> ${RD}/image.${FSIMAGE}/boot/loader=
.rc
>  	@echo "set hint.acpi.0.disable=3D1" >> ${RD}/image.${FSIMAGE}/boot/load=
er.rc
> +	@echo "set module_path=3D\"/stand/modules;/dist\"" >> ${RD}/image.${FSI=
MAGE}/boot/loader.rc
>  	@echo "echo \\007\\007" >> ${RD}/image.${FSIMAGE}/boot/loader.rc
>  	@echo "autoboot 10" >> ${RD}/image.${FSIMAGE}/boot/loader.rc
>  .if ${TARGET_ARCH} =3D=3D "i386" && ${AUTO_KEYBOARD_DETECT}

OK (assuming the sysinstall(8) mounts a 3rd floppy on /dist).

> Index: release/i386/dokern.sh
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> RCS file: /home/ncvs/src/release/i386/dokern.sh,v
> retrieving revision 1.59
> diff -u -r1.59 dokern.sh
> --- release/i386/dokern.sh	4 Aug 2002 18:35:02 -0000	1.59
> +++ release/i386/dokern.sh	8 Aug 2002 09:17:01 -0000
> @@ -21,6 +21,7 @@
>  	-e '/	random	/d' \
>  	-e '/	splash$/d' \
>  	-e '/PROCFS/d' \
> +	-e '/PSEUDOFS/d' \
>  	-e '/KTRACE/d' \
>  	-e '/SYSV/d' \
>  	-e '/SOFTUPDATES/d' \
> @@ -83,6 +84,7 @@
>  	-e '/	random	/d' \
>  	-e '/	splash$/d' \
>  	-e '/PROCFS/d' \
> +	-e '/PSEUDOFS/d' \
>  	-e '/KTRACE/d' \
>  	-e '/SYSV/d' \
>  	-e '/SOFTUPDATES/d' \
> @@ -109,6 +111,7 @@
>  	-e '/	ulpt	/d' \
>  	-e '/	urio	/d' \
>  	-e '/	uscanner	/d' \
> +	-e '/	ses	/d' \
>  	-e '/maxusers/d' \
>  	-e 's/ident.*GENERIC/ident		BOOTMFS/g'
> =20
Nice catches!

> Index: release/i386/drivers.conf
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> RCS file: /home/ncvs/src/release/i386/drivers.conf,v
> retrieving revision 1.7
> diff -u -r1.7 drivers.conf
> --- release/i386/drivers.conf	25 Jul 2002 14:04:38 -0000	1.7
> +++ release/i386/drivers.conf	8 Aug 2002 12:58:49 -0000
> @@ -39,9 +39,9 @@
>  aue	if_aue		2	network	"ADMtek USB ethernet adapter"
>  cue	if_cue		2	network	"CATC USB ethernet adapter"
>  dc	if_dc		2	network	"DEC/Intel 21143 (and clones) PCI fast ethernet card"
> -de	if_de		2	network	"DEC DE435 PCI NIC or other DC21040-AA based card"
> +de	if_de		3	network	"DEC DE435 PCI NIC or other DC21040-AA based card"
>  ed	if_ed		2	network	"NE[12]000, SMC Ultra, 3c503, DS8390 ISA ethernet ca=
rds"
> -em	if_em		2	network	"Intel Pro/1000 PCI gigabit ethernet card"
> +em	if_em		3	network	"Intel Pro/1000 PCI gigabit ethernet card"
>  fe	if_fe		2	network "Fujitsu MB8696x based cards"
>  fxp	if_fxp		2	network	"Intel EtherExpress Pro/100B PCI Fast Ethernet car=
d"
>  kue	if_kue		2	network	"Kawasaki LSI USB ethernet adapter"
> @@ -51,11 +51,11 @@
>  rl	if_rl		2	network	"RealTek 8129/8139 PCI ethernet card"
>  sf	if_sf		2	network	"Adaptec AIC-6915 PCI ethernet card"
>  sis	if_sis		2	network	"SiS 900/SiS 7016 PCI ethernet card"
> -sk	if_sk		2	network	"SysKonnect PCI gigabit ethernet card"
> -sn	if_sn		2	network	"SMC's 9000 series of ethernet chips"
> +sk	if_sk		3	network	"SysKonnect PCI gigabit ethernet card"
> +sn	if_sn		3	network	"SMC's 9000 series of ethernet chips"
>  ste	if_ste		2	network	"Sundance ST201 PCI ethernet card"
> -ti	if_ti		2	network	"Alteon Networks PCI gigabit ethernet card"
> -tl	if_tl		2	network	"Texas Instruments ThunderLAN PCI ethernet card"
> +ti	if_ti		3	network	"Alteon Networks PCI gigabit ethernet card"
> +tl	if_tl		3	network	"Texas Instruments ThunderLAN PCI ethernet card"
>  tx	if_tx		2	network	"SMC 9432TX ethernet card"
>  vr	if_vr		2	network	"VIA VT3043/VT86C100A Rhine PCI ethernet card"
>  vx	if_vx		2	network	"3Com 3c590/3c595 PCI ethernet card"
> @@ -63,6 +63,9 @@
>  wi	if_wi		2	network	"Lucent WaveLAN/IEEE 802.11 PCMCIA card"
>  xe	if_xe		2	network	"Xircom pccard ethernet"
>  xl	if_xl		2	network	"3COM 3c90x / 3c90xB PCI ethernet card"
> +CD9660	cd9660		3	options "ISO 9660 Filesystem"
> +MSDOSFS	msdosfs		3	options	"MSDOS filsystem"
> +NFSCLIENT	nfsclient	3	options "Network Filesystem Client"
>  SYSVSHM	sysvshm		2	options "SYSV-style shared memory"
>  SYSVMSG	sysvmsg		2	options "SYSV-style message queues"
>  SYSVSEM	sysvsem		2	options "SYSV-style semaphores"
>=20
Hrm, I can probably agree on moving nfsclient.ko and msdosfs.ko to the 3rd
floppy, but certainly not the cd9660 support.

> Index: release/scripts/driver-copy2.awk
>=20
I haven't looked at this in details.

> +++ release/scripts/bld-ko.sh	Thu Aug  8 14:25:14 2002
> +++ release/scripts/driver-list.awk	Thu Aug  8 14:22:31 2002

Haven't looked at these either.


Cheers,
--=20
Ruslan Ermilov		Sysadmin and DBA,
ru@sunbay.com		Sunbay Software AG,
ru@FreeBSD.org		FreeBSD committer,
+380.652.512.251	Simferopol, Ukraine

http://www.FreeBSD.org	The Power To Serve
http://www.oracle.com	Enabling The Information Age

--uAKRQypu60I7Lcqm
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (FreeBSD)

iD8DBQE9UqnzUkv4P6juNwoRArSUAJ4mL6h3M6bEx302W6scjVmSNqnQAwCdE7GZ
PTNvI5jNyfnHbXxb+jG5nxA=
=p0sR
-----END PGP SIGNATURE-----

--uAKRQypu60I7Lcqm--

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020808172715.GA29895>