85af130714
1) Add an md_post_extract() function. This function is called after extracting the sets, and allows the arch to do something at that time. In the case of prep, it is much easier to install the bootcode after all the sets are extracted, so we do it in md_post_extract(). Added empty md_post_extract() functions to all other arches so they compile. 2) Add md_mbr_use_wholedisk() and md_check_mbr(). In edit_mbr() I have split off the code that uses the whole disk for NetBSD, into the mbr_use_wholedisk() function. On most ports that use mbr.c, I made md_mbr_use_wholedisk() just call that and return. On prep we create the magical prep boot partition here. The md_check_mbr() function allows the arch to add additional checks after the user had manually edited the MBR to make sure the choices he made allow NetBSD to function. Added a dummy routine to all mbr.c using arches. 3) Added code to bsdlabel.c to create a partition of type boot if PART_BOOT is defined, but BOOT_SIZE is not defined. Also added two more globals "bootsize" and "bootstart" which must be seeded in order to do so. This is done on prep in md_check_mbr(). 4) Added MBR_PTYPE_PREP to the list of MBR partitions. 5) Made the prep port actually install sanely. It now creates a prep boot partition, labels it correctly, installs all the sets, and then runs mkbootimage and dd's the bootimage into the prep partition. The result is a prep installer that creates a bootable NetBSD installation automatically. 6) Edited the prep menus and messages files to add new labels. In the case of the translated files, I just added the words in english for someone to translate later. I tried to xcompile a few arches to make sure I didn't break anything, but I could have missed something. Please let me know if I have broken your arch in any way. I'll watch the autobuilds for the next few days too. For all ports other than prep there should be no functional changes at all. |
||
---|---|---|
.. | ||
libhack | ||
more | ||
script-installer | ||
sparkcrc | ||
ssh | ||
sysinst | ||
tls | ||
x_dhclient | ||
x_ed | ||
x_gzip | ||
x_ifconfig | ||
x_netstat | ||
x_ping | ||
x_ping6 | ||
x_route | ||
x_umount | ||
zcat | ||
Makefile | ||
Makefile.inc | ||
README |
# $NetBSD: README,v 1.4 2002/03/25 07:39:50 lukem Exp $ From: "Gordon W. Ross" <gwr> Date: Tue, 3 Oct 95 16:37:39 EDT Subject: New ramdisk, tiny shell, etc. [ edited since the original mail ] As part of my efforts to build a RAM-disk root kernel for the sun3 port, I've developed some things that others may want: New RAM-disk: [ see sys/dev/ramdisk.c ] New "small/tiny" tools, to replace some of the larger programs that one usually wants on a ramdisk root: ssh: (small shell) * Consumes only about 8K of memory on an m68k! (saves about 100K in the ramdisk...) * Can run programs, possibly with I/O redirection * Just enough to let you run the programs needed while partitioning and copying miniroot to swap. tls: (tiny ls) * Consumes only about 4K of memory on an m68k! (saves about 10K in the ramdisk...) * Long format only, nothing fancy. Also, in the new "src/distrib/utils" area, I've made build directories for some programs that build smaller versions, usually by adding special CFLAGS init_s: (built with -DLETS_GET_SMALL) * Forces single-user mode * Eliminates unnecessary code libhack: small implementation of some libc functions * Needs only /etc/master.passwd (not pwd.db, spwd.db) * Reduces size of an m68k crunched binary by about 64K x_dd: built with -DNO_CONV (no conv=* options) x_ifconfig: supports inet only The x_ prefix on the above is to make the names unique so crunchgen will not confuse them with the real sources.