From owner-freebsd-hackers@FreeBSD.ORG Thu Apr 1 12:51:41 2010 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 566FF1065672; Thu, 1 Apr 2010 12:51:41 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id 125D98FC0A; Thu, 1 Apr 2010 12:51:41 +0000 (UTC) Received: from bigwig.baldwin.cx (66.111.2.69.static.nyinternet.net [66.111.2.69]) by cyrus.watson.org (Postfix) with ESMTPSA id A18B346B53; Thu, 1 Apr 2010 08:51:40 -0400 (EDT) Received: from jhbbsd.localnet (smtp.hudson-trading.com [209.249.190.9]) by bigwig.baldwin.cx (Postfix) with ESMTPA id B83E48A025; Thu, 1 Apr 2010 08:51:39 -0400 (EDT) From: John Baldwin To: freebsd-hackers@freebsd.org Date: Thu, 1 Apr 2010 08:38:38 -0400 User-Agent: KMail/1.12.1 (FreeBSD/7.3-CBSD-20100217; KDE/4.3.1; amd64; ; ) References: In-Reply-To: MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Message-Id: <201004010838.38794.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.0.1 (bigwig.baldwin.cx); Thu, 01 Apr 2010 08:51:39 -0400 (EDT) X-Virus-Scanned: clamav-milter 0.95.1 at bigwig.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-1.8 required=4.2 tests=AWL,BAYES_00 autolearn=ham version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on bigwig.baldwin.cx Cc: Tim Judd , sobomax@freebsd.org Subject: Re: Fwd: mkuzip and/or geom_uzip changes? X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 01 Apr 2010 12:51:41 -0000 On Wednesday 31 March 2010 6:32:09 pm Tim Judd wrote: > Hi All, > > Just starting to see if I can find other reports. You all probably > have had the "more than one pair of eyes looking at a thing is better > than my eyes alone." This is why I'm writing now, as I'm starting the > discovery. > > Let me background this a little bit. I only started looking into this > because mkuzip and it's counterpart, geom_uzip are throwing errors on > FreeBSD8 i386 > > > scenario (/etc/src.conf in effect, removing *LOTS* of stuff with knobs): > make DESTDIR=/home/small8 installworld installkernel distribution > mv /home/small8/boot /home/small8-boot/ > makefs -t ffs /home/small8/usr.img /home/small8/usr/ > mkuzip -o /home/small8/usr.uzip /home/small8/usr.img [*] > chflags -R noschg /home/small8/usr/* > rm -rf /home/small8/usr/* /home/small8/usr.img > ee /home/small8/etc/rc.d/mountcritlocal > [**] > makefs -t ffs /home/small8-boot/mfsroot /home/small8/ > gzip --best /home/small8-boot/mfsroot > ee /home/small8-boot/boot/loader.conf > [***] > rm /home/small8-boot/boot/kernel/*.symbols > gzip --best /home/small8-boot/boot/kernel/kernel > mkisofs -U -J -r -V "FreeBSD8" -b boot/cdboot -no-emul-boot > -iso-level 4 -o /home/small8.iso /home/small8-boot/ > > > [*]: mkuzip inserts a script header that is broken. module name it's > searching for may have been renamed? > [**]: Edited mountcritlocal to mount the usr.uzip file as by using the > above script header, throws errors > [***]: added zlib and geom_uzip modules to load to the boot image, to > satisfy the script header's requirements. > > OK, the above scenario creates about a 33MB usr.uzip, and a 68MB iso. > Small enough to apparently fit into the undocumented 50 or 100MB size > limit of mfs_root module BTW, you can raise this limit by changing NKPT. > The problem: > mkuzip generates a few lines as a script in the head of the > resulting *.uzip file. Two problems... > 1) the module it queries for is geom_uzip (kldstat -m $m), but > FreeBSD8 names the geom_uzip module (i guess, internally) as g_uzip. > mkuzip's generated image will never find the module if they're not > named the same. It is g_uzip even in 7: DECLARE_GEOM_CLASS(g_uzip_class, g_uzip); MODULE_DEPEND(g_uzip, zlib, 1, 1, 1); This has probably just been broken from the start. If it used 'kldstat -n' then it might work. Well, it probably works (modulo a warning) by accident as it doesn't hurt to kldload an already-loaded module. Note though that it assumes the raw usr.img is an ISO image, not a UFS filesystem. > 2) even with geom_uzip module and it's dependency zlib loaded, i don't > get a mdconfig node '/dev/md?.uzip' to appear. > > It's been forever since I touched uzip, so I have to ask. Do you have a md0 device at all? I think you want to hack the script to do something like this: disk=`mdconfig -af /path/to/usr.img` mount -r /dev/$disk.uzip /usr -- John Baldwin