Custom USB layout & sysinstall (Starting FIXIT)

Julian H. Stacey jhs at berklix.com
Thu May 13 22:11:33 UTC 2010


Hi,
rank1seeker at gmail.com wrote:

> So, I downloaded USB stick .img
> Instead of just writing it with dd, I've mounted and dumped it, as I wanted 
> custom USB stick, layout.
> 
> To cut it short.
> Bootable img file appears as ad0s2a instead of ad0a.
> Once I boot from BIOS->USB stick->slice 2, I enter sysinstall successfully.
> 
> Now I wana enter into FIXIT, from sysinstall.
> And I get "No USB devices found!", as well as, at all other parts, of 
> sysinstall, that search for USB device.

I reported the same thing as you a month back.

    http://lists.freebsd.org/pipermail/freebsd-hackers/2010-April/031534.html

    Subject: Bug with fixit live 8.0 memstick.img running on F1 after MBR
    From: "Julian H. Stacey" <jhs at berklix.com>
    Date: Sat, 17 Apr 2010 12:05:46 +0200
    To: hackers at freebsd.org
    Message-id: <201004171005.o3HA5kfo014359 at fire.js.berklix.net>

I didn't get as far analysing as you did below.
Ken Smith (cc'd) posted ideas, but I got distracted on to other things.
Ken's post is here:
    http://lists.freebsd.org/pipermail/freebsd-hackers/2010-April/031620.html


> Other parts of sysinstall, DO list ad4 (my HDD) and da0 (my USB stick) 
> correctly.
> 
> 
> I think sysinstall has hardcoded command, to mount da0a and doesn't see 
> da0sxa, at all.
> 
> So how do I do it manually?
> Emergency Holo Sh is no go.
> 
> 
> Maybe this part of code is responsible, from file 
> /usr/src/usr.sbin/sysinstall/devices.c:
> Code:
> 
> /*
>  * Find all devices that match the criteria, allowing "wildcarding" as well
>  * by allowing NULL or ANY values to match all.  The array returned is 
> static
>  * and may be used until the next invocation of deviceFind().
>  */
> Device **
> deviceFind(char *name, DeviceType class)
> {
>     static Device *found[DEV_MAX];
>     int i, j;
> 
>     j = 0;
>     for (i = 0; i < numDevs; i++) {
>         if ((!name || !strcmp(Devices[i]->name, name))
>             && (class == DEVICE_TYPE_ANY || class == Devices[i]->type))
>             found[j++] = Devices[i];
>     }
>     found[j] = NULL;
>     return j ? found : NULL;
> }
> 
> PS:
> Options --> Rescan Devices, in sysinstall don't work.
> 
> Could I start fixit, from loader prompt directly, so I wouldn't even have 
> to eneter sysinstall, as I don't need it at all to install FreeBSD?

Cheers,
Julian
-- 
Julian Stacey: BSD Unix Linux C Sys Eng Consultants Munich http://berklix.com
Mail plain text,  Not HTML quoted-printable Base64 http://www.asciiribbon.org


More information about the freebsd-hackers mailing list