Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 12 Dec 2009 02:48:46 -0800
From:      Randi Harper <randi@freebsd.org>
To:        Ian Smith <smithi@nimnet.asn.au>
Cc:        "Derek \(freebsd lists\)" <482254ac@razorfever.net>, freebsd-questions@freebsd.org
Subject:   Re: 8.0-RELEASE-i386-memstick fixit - No USB devices found!
Message-ID:  <e277d6c80912120248o31b9a8d1nac23567eb82c3669@mail.gmail.com>
In-Reply-To: <20091210203143.H12012@sola.nimnet.asn.au>
References:  <20091128113000.BBDF410656E6@hub.freebsd.org> <20091205212857.H34611@sola.nimnet.asn.au> <e277d6c80912051253o37696e54kc0864e40df10fee4@mail.gmail.com> <20091210203143.H12012@sola.nimnet.asn.au>

Next in thread | Previous in thread | Raw E-Mail | Index | Archive | Help
On Thu, Dec 10, 2009 at 2:20 AM, Ian Smith <smithi@nimnet.asn.au> wrote:
> On Sat, 5 Dec 2009, Randi Harper wrote:
> =A0> On Sat, Dec 5, 2009 at 4:01 AM, Ian Smith <smithi@nimnet.asn.au> wro=
te:
> =A0> > In freebsd-questions Digest, Vol 286, Issue 12, Message 7
> =A0> > On Fri, 27 Nov 2009 06:51:50 -0800 Randi Harper <randi@freebsd.org=
> wrote:
> =A0> > =A0> On Fri, Nov 27, 2009 at 5:00 AM, Derek (freebsd lists) <48225=
4ac@razorfever.net> wrote:
> [..]
> =A0> > I made the memstick.img by dd as per the release page on my Thinkp=
ad
> =A0> > T23. =A0It only sports USB 1.0 ports, and while I was confident of=
 the dd
> =A0> > (which took ~25m at ~600kB/s), I didn't really expect a 2002 lapto=
p to
> =A0> > boot from the image, but on seeing the USB stick show up in its BI=
OS and
> =A0> > promoting it in the disk boot order, it did! =A0Never underestimat=
e IBM ..
> [..]
> =A0> > So .. booted into sysinstall, fdisk and label ad0s4, leave boot0 a=
s was,
> =A0> > committed that much after two earlier attempts failed due to the b=
elow,
> =A0> > quit to reboot, checked the labelling, redid the mount points, all=
 ok.
> =A0> >
> =A0> > Picked pretty much all distributions from custom install, then of =
course
> =A0> > had to select media. =A0Picked USB - and got about what Derek did,=
 no USB
> =A0> > disk found.
> =A0> >
> =A0> > Very long story short: googled for ages and found a forum thread a=
bout
> =A0> > this very problem, in which someone suggested Options / Rescan Dev=
ices
> =A0> > then trying again. =A0The OP there said it didn't work for him, bu=
t it
> =A0> > sure did for me! =A0After knowing that, the install went pretty sm=
oothly,
> =A0> > modulo not getting fc-10 to install by FTP, but that's another iss=
ue..
> =A0> >
> =A0> > And just now, prompted by this thread I tried selecting Fixit, to =
again
> =A0> > get what Derek did. =A0And again, Options / Rescan Devices fixed i=
t for
> =A0> > me. =A0Maybe it will for Derek and/or maybe provide another clue? =
=A0Maybe
> =A0> > sysinstall could try a device rescan itself in that circumstance?
> =A0>
> =A0> This is a known issue. It would be possible to write in a hack to fi=
x
> =A0> this problem that would be fairly quick to implement, but sysinstall
> =A0> already has one too many bandaids in place. I'd rather take a little
> =A0> bit of extra time and fix the underlying problem, especially since
> =A0> there is this workaround (forcing a device rescan) that seems to wor=
k
> =A0> for users in the meanwhile.
>
> At best it's an 'unknown known' :) =A0Except for this present thread, my
> 'googling for ages' found nothing in FreeBSD lists about it. =A0I was so
> close to giving up until I could go somewhere to burn a DVD, by then.
>
> I appreciate your disinclination to extend that message in sysinstall,
> it's been "about to die" for so long it's no longer funny, still it
> would have saved me half a day, and I'm sure I won't be the last person
> to run into this. =A0I guess I should file a PR with a patch ..

If you want to supply a patch that changes the error message in not
finding a valid USB device, go for it. I'll push it through. One of
the ideas I've been kicking around is consolidating some of the menu
options and having sysinstall look for valid media on all removable
devices (USB/CDROM/floppy), with the option to manually set it still
available in the Options menu. I'm curious to see what other people
think of this first, though. It does "dumb down" the install, but it
still gives advanced users the option of specifying media.

If you want to chuckle, take a look at sysinstall's devices.c and how
it defines a valid USB device (hint: think DD). :)

>
> =A0> sysinstall was written back in the good 'ol days of pre-devfs and
> =A0> hasn't been updated much since. When it first runs, it does a device
> =A0> scan - that is, there's this really ugly data structure of all
> =A0> possible devices and a description/limit for each. So, just for
> =A0> example (and I'm not checking the code, so this value is probably
> =A0> wrong), say there's an entry for 'fxp' that is a type network with a
> =A0> limit of 16 devices - it's going to poke the system looking for fxp0=
,
> =A0> fxp1, ..., fxp15. It's doing this for every single network card, all
> =A0> possible disk devices, everything. Back in the day when computers we=
re
> =A0> slower, this process could take a while, so it only happened once
> =A0> unless the user selected it again.
>
> But now, a rescan on my T23 was quite fast, and it's only a P3 1133MHz.

I wish we could just disregard all the limitations of older hardware
(this would make life so much easier!), but the fact remains that
there are people that still install freebsd on ridiculously old
computers. The smallest group tends to be the most vocal, or so I've
found.

>
> =A0> Needless to say, this is extremely inefficient (sysinstall code has =
to
> =A0> be changed any time a new driver is added, too!) and there's a lot o=
f
> =A0> better ways to do this. It's very easy to pull a list of network
> =A0> cards, disks, etc, but the work in moving away from that ugly data
> =A0> structure is no small job. Right now, much of my time is being taken
> =A0> up in trying to get gpt support into sysinstall, but getting rid of
> =A0> that data structure is high in my priority list, especially since
> =A0> there's a workaround. Old/cheap USB flash sticks seem to be the main
> =A0> offender, as they are slow to be recognized/probed, and sysinstall h=
as
> =A0> already finished it's device scan by then.
>
> Point taken, but an unknown workaround is no use to the newbie installer
> (see my prior whinge to Manolis re the X installation menu going away)

I'm unfamiliar with this Manolis person, although I think I poked
through that thread and considered responding but I wanted to research
it a bit more first. I'm getting back from a week-long vacation, and
my sysinstall tagged unread email is... a longer list than I expected.
eek.

>
> Yes, I was using an older 1GB Shintaro stick, the only one on hand, on a
> machine using USB 1.0 only, but I doubt I'll be the only one; sysinstall
> has always striven to work with other than just top-range newer kit. =A0I
> do know how hard it is for developers to remember what mortals don't
> know, or to imagine why folks might not be running more recent gear :)

I barely pass as a developer, as I'm a sysadmin by trade. Even so,
it's hard to keep in mind all older hardware limitations. Getting rid
of that ugly device scan option will be quite a large patch, but it
will eliminate at least this one problem.

>
> =A0> > While I'm at it .. selecting 'Holographic Shell', while in that st=
ate at
> =A0> > least, brings up a shell that (perhaps due to stick not being moun=
ted?)
> =A0> > has no ls command, making navigation difficult :) =A0pwd works, se=
t works,
> =A0> > but no ls. =A0Later (from debug msgs on vty1) I saw that I'd been =
perhaps
> =A0> > in /stand and only much later found that find worked and served as=
 ls ..
> =A0>
> =A0> This is normal. That's running off of the memory disk. echo * also
> =A0> works to list files. The memory disk needs to stay fairly small in
> =A0> size, so it has only a few programs, mostly stuff that is used by
> =A0> sysinstall.
>
> echo *, now why didn't I think of that :)

Be glad. You've probably never had to deal with remotely upgrading an
older version of linux and the resulting library madness that ended up
with a broken everything. :)

>
> Yeah, I spent a few hours today browsing the src/release stuff. =A0The
> annotated Makefile alone is a potted history of FreeBSD, and seeing the
> strange mix of floppies through CDs to DVD is interesting, especially
> when the old so constrains the new with perhaps excessive minimalism.
>
> =A0> > One more thing, while I remember .. seeing the USB stick is here a=
d0a,
> =A0> > isn't that the old 'dangerously dedicated mode' now dropped from 8=
.0?
> =A0>
> =A0> Well... yes. But this works. DD mode still works sometimes, but it's
> =A0> easier to say "not supported" than "only in these circumstances".
> =A0> FWIW, I don't expect DD mode to be gone forever. There were changes
> =A0> made outside of sysinstall that aren't compatible with the way that
> =A0> sysinstall (specifically, libdisk) did things. I think. It's
> =A0> complicated, not something I'm entirely sure about, and =A0I
> =A0> unfortunately can't do anything about other than moving away from
> =A0> libdisk to libgeom. But this won't fix prior installations. I'm hopi=
ng
> =A0> that those working on geom can come up with a solution for existing =
DD
> =A0> installs.
>
> Fair enough, it's a big shift. =A0I appreciate your detailed explanations=
.

Sorry I couldn't do better.

>
> =A0> > And to be a real pest with questions, where in CVS do I find the s=
cript
> =A0> > or whatever makes memstick.img in the first place?
> =A0>
> =A0> It's part of the make release process. You really don't want to touc=
h
> =A0> that. I don't even want to touch that. When I'm testing out
> =A0> sysinstall, I take an existing memstick and modify it as opposed to
> =A0> building an entirely new one.
>
> I don't want to touch that, not at least till (if ever) I know exactly
> what's going on there - but I do want to know how such images are made.
>
> Can you share what arguments to make release are used, or what other
> steps are needed to duplicate it? =A0I'm wondering about a 4GB image say,
> but perhaps this would be a question better posed in -stable?

I'm not sure. I think I saw some magic at some point, but it was a
long time ago, and I can't recall where I saw it - or maybe I forgot
it on purpose. Try -stable, see if you get any good answers. If not,
ping me and I'll see what I can dig up.

-- randi



Want to link to this message? Use this URL: <http://docs.FreeBSD.org/cgi/mid.cgi?e277d6c80912120248o31b9a8d1nac23567eb82c3669>