Could you try an experiment for me?  If you look at the diff you'll see
somewhere I remove a -N from a loader options line.  Try adding it back
and see if that makes a difference.

On Wed, Apr 05, 2000 at 10:18:17AM -0400, Adam C Powell IV wrote:
> Adam C Powell IV wrote:
> 
> > Daniel Jacobowitz wrote:
> >
> > > I've put an NMU of Quik 2.0e with patches in Incoming - with luck and
> > > archive maintainers it will be available soon.
> > >
> > > I'd appreciate feedback on it.  Also, in the postinst is some commented
> > > out PReP work - is it relevant?  If so could someone with more PReP
> > > knowledge than I complete it?
> >
> > Thank you for the new quik.  Unfortunately, it still segfaulted for me, 
> > this has
> > been a problem for some time.
> 
> Okay, I don't know what I was thinking with that long rambling post 
> yesterday.  Must have been tired, sorry.
> 
> Anyway, the attached patch does indeed fix the segfault and resolve_to_dev() 
> in general, a bit ugly but that whole subroutine is a bit ugly so I don't 
> feel so bad. :-)
> 
> However, with or without it, booting fails as follows:
> 
> Second-stage QUIK loader
> Booting Debian GNU/Linux (Potato)
> boot: linux
> 
> Fatal error: Unable to open filesystem
> 
> Image not found.... try again
> boot:
> 
> Once again, 2.0-2 worked where this does not.  I've attached quik.conf.
> 
> Thanks again,
> 
> -Adam P.
> 

> --- quik/quik.c.bak   Wed Apr  5 10:12:37 2000
> +++ quik/quik.c       Wed Apr  5 10:12:49 2000
> @@ -381,18 +381,22 @@
>           return q;
>       }
>       if (S_ISLNK(st3.st_mode)) {
> -         len = readlink(buffer, readlinkbuf, 2048);
> +         len = readlink(buffer, readlinkbuf+1, 2047);
>           if (len < 0)
>               fatal ("Couldn't readlink %s\n", fn);
> -         readlinkbuf[len] = 0;
> -         if (*readlinkbuf == '/') {
> +         readlinkbuf[len+1] = 0;
> +         if (*(readlinkbuf+1) == '/') {
> +             b = r = readlinkbuf+1;
> +         } else if (p == buffer + 1) {
> +             *readlinkbuf = '/';
>               b = r = readlinkbuf;
> +             len++;
>           } else {
>               b = buffer2;
>               strcpy (b, buffer);
>               r = strchr(b, 0);
>               *r++ = '/';
> -             strcpy(r, readlinkbuf);
> +             strcpy(r, readlinkbuf+1);
>           }
>           if (c) {
>               r += len;

> init-message = "Booting Debian GNU/Linux (Potato)\n"
> root=/dev/hdb6
> timeout = 0
> 
> image = /boot/vmlinux-2.2.15pre16-atydbg
>       append = "adb_buttons=58:52"
>       label = offb
> 
> image = /boot/vmlinux-2.2.15pre16-atydbg
>       append = "video=atyfb:vmode:18,cmode:8,font:SUN12x22 adb_buttons=58:52"
>       label = linux
> 
> image = /boot/vmlinux-2.2.15pre16
>       append = "video=atyfb:vmode:18,cmode:8,font:SUN12x22 adb_buttons=58:52"
>       label = oldlinux
>       alias = l
> 
> image = "$bye"
>       label = bye



Dan

/--------------------------------\  /--------------------------------\
|       Daniel Jacobowitz        |__|        SCS Class of 2002       |
|   Debian GNU/Linux Developer    __    Carnegie Mellon University   |
|         [EMAIL PROTECTED]         |  |       [EMAIL PROTECTED]      |
\--------------------------------/  \--------------------------------/

Reply via email to