Date: Sat, 3 Apr 2010 02:02:36 -0600 From: Tim Judd <tajudd@gmail.com> To: John Baldwin <jhb@freebsd.org> Cc: freebsd-hackers@freebsd.org, freebsd-questions@freebsd.org Subject: Re: Fwd: mkuzip and/or geom_uzip changes? - SOLVED Message-ID: <k2tade45ae91004030102m93a2197bx35a667a89966e157@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
On 4/1/10, Tim Judd <tajudd@gmail.com> wrote: > On 4/1/10, Tim Judd <tajudd@gmail.com> wrote: >> On 4/1/10, John Baldwin <jhb@freebsd.org> wrote: >>> 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 >>> >> >> >> >> booted single-user >> md0 is the mfs_root >> >> here is the manual attachment of an mdconfig... >> # mdconfig -af /usr.uzip >> WARNING: opening backing store: /usr.uzip readonly >> md1.uzip: block size (24) should be a multiple of 512. >> md1 >> # ls /dev/md1* >> /dev/md1 >> # >> > > Forgot the kldstat, which was obviously omitted > > # kldstat > Id Refs Address Size Name > 1 5 0xc0400000 b6e060 kernel > 2 1 0xc0f6f000 3ffc geom_uzip.ko > 3 2 -xc0f73000 ac20 zlib.ko > John, All: Don't spend any more time on this issue as a show-stopper anymore. I understand what was going on enough to realize that the middle line, rather than a warning, was an outright error and the md?.uzip device cannot be presented. When I was trying to diagnose my cascading problems, one of the items I did was to edit (with ee) the usr.uzip binary file. I only used the cursor in the script header part, saved it and tried it out. Evidentally, that screwed the file up. Recreating the .img, converting to a .uzip is working. I'm back on track, no need to continue to search this. enjoy!
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?k2tade45ae91004030102m93a2197bx35a667a89966e157>