Subject: Re: i386 install media status ?
To: None <port-i386@netbsd.org>
From: Juan RP <juan@xtrarom.org>
List: port-i386
Date: 11/29/2006 10:17:32
On Wednesday 29 November 2006 10:06, Manuel Bouyer wrote:

> That's my question too. Can we, actually, select different kernels
> when booting on CD ? System requiring ACPI are likely to be floppyless,
> so booting from a different floppy set isn't an option for theses.
> An ACPI kernel really needs to be available from CD.

That might be possible if the kernel is available on the image and
its name is not longer than 8 chars (the culprit here is stand/cd9660.c
that doesn't support this feature).

I have a comment in mklivecd:

                    if [ "$USE_GNU_GRUB" = "yes" ]; then
                        cp $WORKDIR/$KERNEL_NAME/netbsd \
                            $ISODIR/$GRUB_BOOTDIR/$BOOTKERN
                        gzip -9 $ISODIR/$GRUB_BOOTDIR/$BOOTKERN
                        showmsgstring
                    else
                        if [ -f $ISODIR/netbsd ]; then
                        #
                        # ISO9660 specifies that ISO Level 1 cannot handle
                        # filenames with > 8 characters... actually the
                        # cd9660.c standalone file-system for the bootloader
                        # does not support ISO Level 2/3.
                        #
                        # Note too that '-' is not an allowed character, so
                        # is better to use a dot '.' .
                        #
                        # I'll change this when cd9660.c is fixed.
                        #
                            cp $WORKDIR/$KERNEL_NAME/netbsd \
                                $ISODIR/k.$BOOTKERN
                            gzip -9 $ISODIR/k.$BOOTKERN
                            mv $ISODIR/k.$BOOTKERN.gz \
                                $ISODIR/k.$BOOTKERN

Using a kernel name shorter than 8 chars is the only workaround I know
to load multiple kernels via bootxx_cd9660+stand/cd9660.c.

I think that FreeBSD has fixed its standalone cd9660.c filesystem long
time ago.