Commit Graph

41 Commits

Author SHA1 Message Date
dsl
17ae477780 Implement a limit on the size of / so that its guaranteed readable by the boot code.
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
2003-06-14 12:58:45 +00:00
dsl
deef134ca4 Fix code that determines BIOS CHS from MBR - used to get confused by big disks.
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.
2003-06-13 22:27:03 +00:00
dsl
bc119f42a4 Remove all references to minfsdmb and STDNEEDMB - neither are used any more. 2003-06-13 11:57:28 +00:00
dsl
52e8cddd9b KNF 2003-06-12 16:48:43 +00:00
dsl
19b2fb2fb0 Add NULL to all process_menu() calls - value is passed through to the
action routine.
Make the french and polish versions compile.
NB needs a new version of menuc - so need 'build.sh tools'
2003-06-03 11:54:48 +00:00
dsl
b62cbc21e9 Make all architectures (except amiga and mac68k) use the MI make_bsd_partitions.
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).
2003-05-30 22:17:00 +00:00
dsl
6fb33c4537 Reduce the number of global variables slightly, use the ones that are
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.
2003-05-21 10:05:20 +00:00
dsl
d41b09d182 Report number for unknown MBR partition types.
Correct bootseect default for new mbr code.
Add bootsel config code (from arch/i386/md.c)
2003-05-16 19:44:23 +00:00
dsl
3c476fffb6 Pull some code fragments from machine and language dependant files into mbr.c
Resynchronise amd64 with i386
2003-05-07 19:02:52 +00:00
dsl
d5c9f83022 Use C structure mbr_sector_t instead of char[] for 'mbr'.
(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.
2003-05-07 10:20:18 +00:00
shin
d1f3739431 fix typo. 2003-02-08 09:53:08 +00:00
christos
2d7e213ded pass lint[pass1] 2003-01-10 20:00:27 +00:00
fvdl
171b46b525 FILE *log -> FILE *logfp, to avoid warnings about gcc-current's
builtin log() function.
2002-12-05 01:17:15 +00:00
mrg
d4c1463d23 if the type of either partition is 0 ("unused"), then these partitions
do not overlap.  from Tyler Retzlaff <rtr@wasabisystems.com> and fixes
PR#12386.
2002-08-13 03:58:56 +00:00
grant
2df65a0a6e make mbr and disklabel editor consistently use Start, End, Size in
that order.

"offset" -> "start" where applicable.
2002-08-12 02:22:52 +00:00
mrg
81cda3082a fix PR#11945 Tyler Retzlaff <rtr@wasabisystems.com>:
>The reason this occurs is because of left over scum in unused partition
>table slots for host system parts.  This should clean it up.
2002-08-02 05:38:18 +00:00
mrg
8da46e6897 de-__P()-ify 2000-12-22 10:12:12 +00:00
hubertf
3df3bcf30b Fix typo in calculation of partition's end (s/mbrp_size/mbrp_start/).
Fix reported in PR 7556 by Arne Juul <arnej@math.ntnu.no>
2000-12-18 04:52:52 +00:00
fvdl
8a696e8ea8 Improve labelling a bit, by allowing some shortcuts to start partitions
where another one ends, and ending partitions where another one start,
or at the start of the disk / until the end of the disk.
2000-10-17 19:44:28 +00:00
fvdl
902ae34ae6 When converting from relsecs to chs, if the value exceeds the maxmimum
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.
2000-05-27 18:41:36 +00:00
fvdl
97965ecea8 Convert ask_sizemult to take an argument, so that MBR using ports can
actually call it with the right sectors per cylinder size during
MBR partitioning.
2000-03-14 22:42:48 +00:00
soren
017785443d Synchronize partition types with <sys/disklabel_mbr.h>.
Closes PR install/8301 by Jonathan Cline.
1999-09-04 19:49:23 +00:00
fvdl
47d416e15d When converting the end of a partition to CHS, use start + size - 1, not
start + size.
1999-07-30 20:46:10 +00:00
fvdl
d25150d087 Don't try to convert the CHS values if not needed. Add extra flag
to write_mbr to for this.
1999-07-10 23:07:15 +00:00
cgd
5c3428778d convert tables to use the new table formatting functons. i386 tested,
mac68k and bebox bits compiled to the extent possible.  (bebox seems
broken, with duplicated menu names, but it doesn't look like that's my
fault.)
1999-07-04 08:01:39 +00:00
cgd
a640bc7014 copyright notice typo fixups, as noticed in PR#7248. This software
was developed, not develooped.
1999-06-20 06:08:13 +00:00
fvdl
337300d376 Change partition type if we're installing into an old 386bsd partition.
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.
1999-05-02 13:07:15 +00:00
bouyer
de3024ade3 Correct some bugs in mbr handling, which could lead to invalid partition
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.
1999-04-14 16:00:42 +00:00
bouyer
be743ed36b - Add 2 functions in label.c, getpartoff()/getpartsize() used to let the user
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.
1999-04-11 22:40:19 +00:00
fvdl
2eef6a3ee1 Make sure to get the magic MBR number right (i.e. use u_int16_t). 1999-04-03 22:56:22 +00:00
fvdl
793f57a4e6 Adapt setting of active partition to newer MBR handling. 1999-04-01 11:33:02 +00:00
fvdl
a5d73e00eb Rework the MBR code, and some of the labelling code.
* 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.
1999-03-31 00:44:48 +00:00
garbled
865c31ac7b This change includes the following:
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.
1999-01-21 08:02:17 +00:00
rvb
a3d43525ee Fix BIOS GEOMETRY menu 1998-07-21 14:53:36 +00:00
mrg
d1b0d1b602 KNF. 1998-06-20 13:05:48 +00:00
jonathan
1483395dbe Move DOS BIOS-geometry and MBR-handling code to MI code for powerpc, arc:
* 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.
1998-02-24 05:36:03 +00:00
jonathan
1cfa173f7c Add symbolic names for new NetBSD MBR partition ID and for Linux. 1998-02-24 04:32:22 +00:00
fvdl
0cd2d70c37 * Check for an existing MBR not by looking at the geometry, but by looking
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.
1997-11-29 21:49:13 +00:00
phil
1e785c32c4 Reworked partitioning issues for i386, closes PRs 4520, 4534, 4536.
Other tweeks to make install better.
1997-11-25 20:34:59 +00:00
phil
88ca252c34 Tweeks to make install nicer. 1997-10-17 21:10:39 +00:00
phil
af1d23bed3 Import of sysinst. Not quite ready, but other ports want access for
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.
1997-09-26 23:02:53 +00:00