Subject: Re: bootxx_cd9660
To: None <tech-userlevel@NetBSD.org>
From: David Young <dyoung@pobox.com>
List: tech-userlevel
Date: 11/09/2005 22:42:34
On Thu, Nov 10, 2005 at 05:20:39AM +0100, Hubert Feyrer wrote:
> 
> David,
> 
> I thought a bit more about bootxx_cd9660 yesterday...
> right now it seems one cannot do anything useful after interrupting the 5 
> second count-down, e.g.
> 
> 1) "ls" gives
>    > ls
>    : Not a directory
> 
> 2) Cannot boot another kernel even when knowing the name:
> 
>    > boot netbsd-NOON
>    booting cd0a:netbsd-NOON
>    open netbsd-NOON: No such file or directory
>    boot: cd0a:netbsd-NOON: No such file or directory
>    >
> 
> I think having this available would be the very least to make a bootable 
> CD that has several kernels on them, i.e. thinking of the many i386 
> INSTALL* kernels we have right now.
> 
> Do you happen to know how to fix this? It's certainly beyond me...

I don't know how much help I can be.  Here are some code references
that may help explain.  In sys/lib/libsa/cd9660.c:

/*
 * Stand-alone ISO9660 file reading package.
 *
 * Note: This doesn't support Rock Ridge extensions, extended attributes,
 * blocksizes other than 2048 bytes, multi-extent files, etc.
 */

Perhaps you need Rock Ridge extensions to boot a "long" filename like
netbsd-NOON?

It looks to me like ls is only implemented for ufs---in
sys/arch/i386/stand/boot/boot2.c:

void
command_ls(char *arg)
{
        const char *save = default_filename;

        default_filename = "/";
        ufs_ls(arg);
        default_filename = save;
}

Dave

-- 
David Young             OJC Technologies
dyoung@ojctech.com      Urbana, IL * (217) 278-3933