Remove pointless 'len' parameter from read_mbr and write_mbr.
Make read_mbr initialise mbr if it can't be read (delete MD code).
Make i386 always ask at least once about the bootcode.
Move LIB_MOVE and LIB_COUNT from md.h to aout2elf.c
Make same function return useful defaults if it can't find an answer.
Make all ports default to the useful defaults if bios geometry is unknown.
Move some messages to mbr set from mi set.
Fix i386 code that selects which bios disk, simplify interface to menus.
Remove now unnecessary global data from many ports.
This does change the default size of /, but I'm going to rewrite
make_bsd_partitions next to make it less user-hostile.
(I'm not sure adding in 2 * ram is actually useful! Especially size it left
/usr with a -ve size on all my test installs with 256MB ram and 1GB disk)
Make bootsel code delete menu names if the partition is unused.
Use raw device for cdrom access (I've a kernel that doesn't report an invalid
label so /dev/cd0a dosn't work).
left consistently.
Make the i386 install let you partition a disk beyond the CHS limit if the
system bios doesn't support LBA reads (the checks aren't ideal yet).
Make the bsddislabel.c code usable onan i386 system - but don't use it yet.
(I hope the edits for the ports I can't build are right!)
i386/amd64 pick up a minor change to the md_read_bootcode which
might preseve the bootselect config.
that can be specified with CHS, truncate it to the maximum values that
the BIOS provided, not 1023*255*63. Some BIOSs get awfully cranky when
you do that.
Check if there's no active partition after MBR editing.
Ask for own MBR to be installed if we're booting from out of CHS range.
Ask for bootselector to be installed if > 1 OS, and configure it.
tables being written on disk:
- when counting non-BSD partitions, use part[i], not part[0]
- when using full disk for NetBSD, initialise all the fileds of the
mbr entries (especially flags)
- When converting to on-disk format, if start and size = 0, initialise
c/h/s to 0 for both start and end. convert_mbr_chs() would make an entry
0/0/0, 0/0/1 which is not bogus, but not what we really want either.
enter partitions offet and size. The user can chose unit independantly of
the unit used for display ('M'/'c'/'s'). These functions do the proper
bound checks and alignement/roudups. Used in the edfspart menu and
i386 md_make_bsd_partitions() (other ports should do the change as
well).
- now that getpartsize() does the rigth thing, kill the swapadj hack (which was
buggy anyway).
- in i386 md_make_bsd_partitions(), don't propose defaults that don't fit on
the disk. If the disk is too small, fallback to custom instead.
- fix a bug in mbr.c, where the partition flags would not have always been
reset. sysinst created me a MBR with 2 active partition. The boot code
doesn't like it :)
- added a message for eventual mount failures.
- killed donewfs and extracting messages, as we run the commands in a
subwindow these messages just flashed on the screen.
- Changes a few exit(1) to return(1), to give the user a second chance.
- added msg_clear() or wclear(stdscr) in a place or two, to make
display a bit nicer.
- in run_cmd(), if the command succeeded, don't wait for the user to
press enter.
* Use structures, not 2-dimensional arrays..
* Use the DIOCGDEFLABEL ioctl to get the disk information,
to avoid confusion with (older) labels.
* Don't ever call fdisk for partitioning. This was the
source of much confusion.
* For the i386, use the BIOS geometry information passed by
the bootblocks.
Lots of things left to do, but it's a start.
Scripting and logging functionality for sysinst.
Child programs are run in a "display window" so you can actually see what
they did before the screen flashes back and you loose it all.
Lots of curses fixups. Removed nasty endwins that mangled the tty upon
rentry.
Change the yes/no box to accept Y or N, and not require cursor motion to
decide one or the other.
Perform curses redraws when doing things that could cause the kernel to
spew printfs onto your screen.
* Split bios geometry and MBR partition editing code formerly in
arch/i386/{md,fdisk}.c to mbr.c in mi directory.
* Leave /sbin/fdisk parsing/handling code in separate file,
we may want to change it later. move to mi directory.
* Create mbr.h with declarations for MBR/BIOS-geomotry code.
#include "mbr.h" in i386 md.h.
* Use symbolic names for 386bsd and new NetBSD partition IDs.
Handle MBRs with both 386bsd and NetBSD partitions less stupidly.
at used partitions. fdisk may report the number of cylinders > 1024
correctly if no translation is used.
* Print out the end of the partition as well as the size when editing things.
* Enable the user to specify the BIOS geometry if he/she wishes.
* Fix 1023 / 1024 mixup. The reason BIOSs will return 1023 is an old IBM
convention to use the last cylinder as diagnostic cylinder. The user
can still skip the last ('real') cylinder if specified.
* Make some messages more verbose.
parallel development. i386 version about 90% complete. pc532 version
just started, other architectures later in coordination with portmasters.
This is a curses based, menu driven installation program.
Better error checking is needed.