Subject: RFD: release installation/ organization
To: None <tech-install@netbsd.org>
From: Michael Wolfson <michael@nosflow.com>
List: tech-install
Date: 03/22/2003 16:19:10
Not sure if this is entirely the right forum, but here goes:
I've got a problem with the way we currently store files in our
installation directories. To be more specific, each port seems to have its
own scheme. We do just about everything else in a machine independent
fashion, why not this?
I realize that there are MD aspects of this problem, such as the filenames
permissible by the native OS, firmware, boot ROM, or PROM. If we were to
clean up as much as possible, documentation gets easier and thus it's
easier for users. Therefore, consider this a request for discussion which
we can hopefully use to reach some sort of guideline.
Please bear with me, as I have quite a few name change suggestions, as
there is a lot of legacy in our current naming. Additionally, correct me
if I'm wrong, but we can probably assume that filenames can be quite a bit
longer. That's one of the things I always hated about Windows -- that
you've got cryptic filenames, even though they've been capable of using
longer filenames since '96. I see no need to hold all platforms down to
8.3 just because there are a few i386 MS-DOS holdouts. Those holdouts can
rename their files if it makes installation easier for the other 99% of our
users.
How about:
bootloader
netbsd-arch-boot.type bootloader (if necessary) to be copied
to the native filesystem and booted
from
native OS or firmware
cd-rom
link to iso directory or file saying "no CD-ROM images available
for this release" -- why make them search for it
diskimage/
netbsd-arch-installdisk.fs filesystem that can be dd or
rawrite'd to an empty partition or disk
floppy/
netbsd-arch-floppy-1of1.fs floppy disk image(s)
kernel/
netbsd-GENERIC.gz GENERIC kernel to be copied to
native filesystem and booted from
native OS or firmware
netbsd-GENERIC_INSTALL.gz same, but installation kernel
(if available)
netbsd-TINY_INSTALL.gz same, but lacking unnecessary drivers
for an installation
netbsd-OTHER.gz same
netboot/
netbsd-arch-netboot.type bootloader (if necessary) where
type is .exe, .xcf, .elf, etc...
netbsd-GENERIC.gz netbootable kernel
netbsd-GENERIC_INSTALL.gz netbootable installation kernel
(if available)
netbsd-TINY_INSTALL.gz same, but lacking unnecessary drivers
for an installation
netbsd-arch-installfiles.tgz diskimage contents as tar archive
for platforms without ramdisk kernel
tapeimage/
netbsd-arch-tape-1of1.fs tape image(s)
tools/
most stuff currently in "misc" directories is really tools and
should called "tools" or "utilities"
A few things to note:
1) rename "miniroot" to "diskimage".
2) ditch "netbsd-INSTALL" and "netbsd-GENERIC_MD" for the stripped and
full sysinst ramdisk kernels. Call them -GENERIC_INSTALL and -TINY_INSTALL.
3) bootloaders called something other than "boot". netboot loader
distinguished from non-netboot loader if they're different.
4) mirror sites that don't carry ISO images can have a directory with a file
listing the mirrors that do carry them and yet still have the same soft
link from each arch's cd-rom directory.
5) all filenames using this scheme will end up conforming to ISO level 2
(32), unix (256), HFS (MacOS =< 9.2) (31), and FAT32 (Windows >= 95) (256)
which probably covers most user systems.
6) netboot directory should have either a ramdisk kernel or a tar.gz file with
the miniroot files that can be extracted on the netboot server (thus
providing a netboot installation).
7) diskimage directory should have (depending on availability) a filesystem
image that can be dumped to an empty partition or disk with the ramdisk
kernel or miniroot.
8) I know the "netbsd-" at the beginning of all files might seem redundant,
but for users that run other OSes on their system it makes things simpler
to know what the files are for.
9) We could include the release version number in the file name but it might
then be too long for ISO level 2 and MacOS =< 9.2.
The only problems arise when copying these files to an MS-DOS floppy or ISO
level 1 CD-R for firmware booting. Most OSes will provide a truncated name
as well as the long name, but the user may have to figure it out before
trying to boot or rename the file.
Comments? Did I miss anything important?
-- MW