BSD/mac68k Booter Change Log ============================ This document details recent changes to the Booter. To save space, changes to older versions of the Booter (i.e. up to 1.11.5) are now listed in the file ChangeLog-Old.txt ==================================================================================== * Version 2.0.0a1 (Nigel Pearson, July 12, 2001) Re-write for initial ELF support, and to use more NetBSD header files. Won't compile on Think C unless many #include <> are changed to #include "" kernel_parse.c : New symbol & string processing code, and a new function kernel_parse(), which is similar to NetBSD's loadfile() loadfile_patched.c : Slight modification to NetBSD version loadfile.h : Unmodified, from NetBSD distribution's libsa MacBSD.h : Added some Unix types, new unum, changed prototypes machine/loadfile_machdep.h : Some hacks to get loadfile.c to compile cleanly NetBSD includes : Mostly unmodified headers from the kernel source dist. Output.c : Added new debug function, hex_file_dump() partnames.h : Interesting partition names stolen from part.h Prefs.c : New (automatic) version detection (still unstable) read_part.h, read_ufs.c : NetBSD headers, structures, constants ufs_test.c : Header & variable changes, removed symbol, string & a.out parsing code. Automatic compiler function jump table detection. Copies smaller memory area containing copycode videocard.c : Changes for new symbol/string processing code a.out.h, dinode.h, dir.h, exec.h, fs.h, lifhdr.h, machine_ansi.h, machine_types.h, MacUFS.h, param.h, part.h, types.h : Removed, replaced by real NetBSD header files ==================================================================================== * Version 2.0.0a2 (Nigel Pearson, July 22, 2001) Now locates ELF symbol and string tables using post loadfile() processing, and sets some extra environment variables for the kernel to access kernel_parse.c : Now iterates through ELF sections, new functions to locate symbols & strings loadfile_patched.c : Deleted loadfile.c : Unmodified, from NetBSD distribution's libsa MacBSD.h : New enum for kernel type, extra prototypes machine/loadfile_machdep.c : Load headers from kernels, correct ALIGNENTRY() read_part.c read_ufs.c : Removed un-needed code & includes ufs_test.c : Set MARK_START, MARK_SYM & MARK_END env. variables, removed find_sym(), lookup_symbol() and set_long_val() ==================================================================================== * Version 2.0.0a3 (Joe Laffey, Nigel Pearson, November, 2001) Added code (Joe's suggestion) to prevent removable disks from being ejected. Worked around problem with loading kernel from UFS filesystem. Changed some debug output to different levels boot_vfs.c : Added boot_rewind() gzip.c : Bug fix in gzboot_read() (re-entrancy bug after encountering EOF) kernel_parse.c : Changed a few messages, added 'struct nlist' and compatibility with extra magic number types MacBSD.h : Added noEject & boot_rewind() stuff, deleted 'struct nlist' stuff machdep.c : Removed erroneous return in CheckHardware() Machine.c : Added noEject stuff main.c : VM alert now will not appear if on PPC machine (for testing) read_disk.c : Added detail to, and changed the level of, some debug output read_macos.c : Added (to) debug messages, corrected return type of macos_read() read_ufs.c : Added some debug, hack to fix UFS booting problem (disabled caching in read_bsd_block() and ufs_read() ) ufs_test.c : Boot on sdOnUnmount instead of sdOnRestart (to not eject disks), Search for length of copycode() instead of hard coding lengthm ==================================================================================== * Version 2.0.0a4 (Christian Groessler, Nigel Pearson, December 19, 2001) Added Gzip routines back in (they were accidentally omitted in 2.0.0a3). Attempt at using Christian's code to process disklabelled disks. MacBSD.h : Uncommented gzboot_() defines read_part.c : New routines dkcksum() and get_disklabel_sector(), moved MacOS partition searching logic from get_part_sector() into new locate_partition() sys/disklabel.h : Added from NetBSD distribution, used by new disklabel routines ==================================================================================== * Version 2.0.0a5 (Nigel Pearson, December 27, 2001) Second attempt at disklabel processing read_part.c : Corrected/added debug messages ufs_test.c : Renamed to copy_and_boot.c ==================================================================================== * Version 2.0.0a6 (Nigel Pearson, December 29, 2001) Working disklabel processing read_part.c : More debug messages, corrected defective slice selection logic ==================================================================================== * Version 2.0.0a7 (Nigel Pearson, January 3, 2002) IDE fix copy_and_boot.c : Removed some old debug code, disable the killing of running programs when running on PPC machines read_disk.c : Continue boot if kATAMgrGetDrvConfiguration query fails, some extra debug messages ==================================================================================== * Version 2.0.0a8 (Nigel Pearson, February 15, 2002) IDE debugging hack read_ufs.c : Continue if fs->fs_magic is unexpected ==================================================================================== * Version 2.0.0a9 (Nigel Pearson, February 19, 2002) IDE fix read_disk.c : Add loop and buffer to read multiple SECTOR_SIZE blocks read_ufs.c : Reverted fs_magic hack ==================================================================================== * Version 2.0.0a10 (Nigel Pearson, March 14, 2002) Proper fix for UFS booting problem from 2.0.0a2 (removed hack from 2.0.0a3), allow specification of ATA channel, now passes something like ATA_ROOT_DEV=0,0 to the kernel copy_and_boot.c : Replaced lowmem protos with #include. New setenvstr(). If root is meant to be an ATA device, sets ATA_ROOT_DEV and not ROOT_SCSI_ID Dialogs.c : Added ATA channel & device stuff kernel_parse.c : Fixed array-overrun bug lowmem.c : Replaced prototypes with #include lowmem.h : lowmem.c prototypes MacBSD.h : Added ATA channel into prefs, changed some machdep protos, re-ordered Booting dialog items & added new ATA ones machdep.c : Changed some return types to bool read_ufs.c : Re-enabled block read caching trapavail.c : Obsoleted (duplicated by me in machdep.c at 1.11.5a3) ====================================================================================