| History log of /src/usr.sbin/installboot/Makefile |
| Revision | | Date | Author | Comments |
| 1.61 |
| 05-Oct-2025 |
thorpej | Add riscv.
|
| 1.60 |
| 22-May-2024 |
tsutsui | Remove no-op emips stuff.
It seems blindly copied and modified from pmax, but emips bootloader can be specified by "Ml40x_2ace.plx" config file on the Giano simulator. (not sure what on the real Xilinx ML401 board, but maybe hardcoded)
|
| 1.59 |
| 19-May-2024 |
tsutsui | Add cd9660 support to search a bootloader file in the target file system.
Also add CD boot support for hp300, using a bootloader file in cd9660 fs. This is a tool's part to close PR/54455.
HP 9000/300 machines read LIF directory entry allocated after the LIF volume header at the top of the boot disk during bootstrap, and a bootstrap file must be contiguously allocated on the disk due to limitation of the LIF specification.
Current NetBSD/hp300's bootloader is larger than ~80KB so we have to prepare a special 'boot' partition for FFS (that has only 8KB (ffsv1) or 32KB (ffsv2) spaces) disks to put such a large bootloader.
On the other hand, on ISO9660 fs all files are allocated contiguously so we can specify a bootloader file in the target ISO9660 directly in the LIF directory entry.
Note we can simply use the existing "append" option to create bootable CD ISO for hp300, but it looks some emulators (at leaset MAME) reject such non-standard ISO files, i.e. with an appended bootloader file at the end of the image.
|
| 1.58 |
| 03-Jun-2023 |
lukem | adapt to ${CC_WNO_ADDRESS_OF_PACKED_MEMBER}
Simplify CWARNFLAGS to use ${CC_WNO_ADDRESS_OF_PACKED_MEMBER} which works for both clang and gcc, and remove compiler-specific equivalents.
|
| 1.57 |
| 03-Jun-2023 |
lukem | bsd.own.mk: rename to CC_WNO_ADDRESS_OF_PACKED_MEMBER
Provide a single variable CC_WNO_ADDRESS_OF_PACKED_MEMBER with options for both clang and gcc, to replace CLANG_NO_ADDR_OF_PACKED_MEMBER CC_NO_ADDR_OF_PACKED_MEMBER GCC_NO_ADDR_OF_PACKED_MEMBER
Using the convention CC_compilerflag, where compilerflag is based on the full compiler flag name.
|
| 1.56 |
| 06-Sep-2020 |
mrg | branches: 1.56.6; add support for new GCC 9 warnings that may be too much to fix right now. new address-of-packed-member and format-overflow warnings have new GCC_NO_ADDR_OF_PACKED_MEMBER amd GCC_NO_FORMAT_OVERFLOW variables to remove these warnings.
apply to a bunch of the tree. mostly, these are real bugs that should be fixed, but in many cases, only by removing the 'packed' attribute from some structure that doesn't really need it. (i looked at many different ones, and while perhaps 60-80% were already properly aligned, it wasn't clear to me that the uses were always coming from sane data vs network alignment, so it doesn't seem safe to remove packed without careful research for each affect struct.) clang already warned (and was not erroring) for many of these cases, but gcc picked up dozens more.
|
| 1.55 |
| 21-Jun-2020 |
thorpej | Add evbmips support for u-boot handling.
|
| 1.54 |
| 15-Aug-2019 |
martin | Never trust a compiler that predefines i386 as 1 - do the symbol name concatenation at the make level instead.
|
| 1.53 |
| 15-Aug-2019 |
martin | Replace black voodo linker magic (sometimes failing) with some makefile + macro magic to trim the list of available machines on size restricted install media.
|
| 1.52 |
| 07-May-2019 |
thorpej | branches: 1.52.2; Add installboot(8) support for evbarm (and, in the future, other evb*) boards that use u-boot. A known board database lists boards and their respective u-boot packages. u-boot packages are discovered at run-time (in /usr/pkg/share/u-boot, by default). These packages contain board database overlays that describe u-boot installation procedure that's specific for that board.
Support this as a native tool and as a host tool. The native tool will attempt to determine the running board type using OpenFirmware calls. Host tool and native tool alike may also specify a board type directly using the "-o board=xxx option" or have installboot(8) determine the board type from a device tree blob using "-o dtb=/path/to/board.dtb". A "-o media=xxx" option is provided for boards that have different u-boot binaries and/or installation procedures for different media types (e.g. SDMMC, eMMC, or USB).
This is trivial to extend to other evb* platforms that use u-boot, even if they don't use FDT for autoconfiguration.
|
| 1.51 |
| 11-Jan-2017 |
joerg | branches: 1.51.6; 1.51.14; Disable a couple of warnings until further investigation.
|
| 1.50 |
| 06-Jun-2015 |
joerg | branches: 1.50.2; Linking against libutil is not appropiate for tools.
|
| 1.49 |
| 05-Jun-2015 |
mlelstv | Support wedge names.
|
| 1.48 |
| 24-Feb-2014 |
skrll | branches: 1.48.4; Rename NetBSD/hp700 to NetBSD/hppa.
Unfortunately our VCS isn't very helpful here.
|
| 1.47 |
| 10-Aug-2012 |
joerg | branches: 1.47.2; Remove many HAVE_GCC || HAVE_PCC conditionals as the options also apply to Clang. Add a few cases of HAVE_LLVM for -fno-strict-aliasing.
|
| 1.46 |
| 14-Aug-2011 |
christos | branches: 1.46.2; fix various gcc-4.5 warnings
|
| 1.45 |
| 22-Jun-2011 |
mrg | apply some -Wno-error and/or -fno-strict-aliasing.
all of this should be looked at closer, but some of them are not very trivial.
|
| 1.44 |
| 20-Jun-2011 |
mrg | remove most of the remaining HAVE_GCC tests that are always true in the modern world.
|
| 1.43 |
| 26-Jan-2011 |
pooka | branches: 1.43.2; Add support for the Extensible MIPS ("eMIPS") platform. The NetBSD/emips port runs on Xilinx and Beecube FPGA systems and the Giano system simulator.
eMIPS is a platform developed at Microsoft Research for researching reconfigurable computing. eMIPS allows dynamic loading and scheduling of application-specific circuits for the purpose of accelerating computations based on the current workload.
NetBSD eMIPS support for NetBSD 4.x was written at Microsoft Research by Alessandro Forin and Neil Pittman. Microsoft Corporation has donated full copyright to The NetBSD Foundation.
Platform support for eMIPS is the first part of Microsoft's contribution. The second part includes the hardware accelerator framework and will be proposed on tech-kern soon.
|
| 1.42 |
| 22-Apr-2009 |
lukem | branches: 1.42.2; Enable WARNS=4 by default, except for: cpuctl dumplfs hprop ipf iprop-log kadmin kcm kdc kdigest kimpersonate kstash ktutil makefs ndbootd ntp pppd quot racoon racoonctl rtadvd sntp sup tcpdchk tcpdmatch tcpdump traceroute traceroute6 user veriexecgen wsmoused zic (Mostly third-party applications)
|
| 1.41 |
| 05-Apr-2009 |
lukem | WARNS=4
|
| 1.40 |
| 29-Aug-2008 |
gmcgarry | branches: 1.40.6; Wrap compiler-specific flags with HAVE_GCC and HAVE_PCC as necessary. Add a few flags for PCC.
|
| 1.39 |
| 09-Feb-2008 |
mrg | branches: 1.39.6; make all sun2 use -O0 and move most of the hacks out into just 3 files.
|
| 1.38 |
| 02-Feb-2008 |
tsutsui | Add a findstage2 function (which returns block numbers where the secondary boot is stored to embed them into the primary bootxx) for ext2fs.
Currently disabled because there is no primary boot block which supports ext2fs, but it might help someone in some day.
|
| 1.37 |
| 01-Sep-2006 |
uwe | branches: 1.37.8; NetBSD/landisk support.
|
| 1.36 |
| 12-May-2006 |
mrg | don't do the -Wno-pointer-sign dance for host programs.
|
| 1.35 |
| 11-May-2006 |
mrg | sprinkle some -fno-strict-aliasing and -Wno-pointer-sign with GCC4.
|
| 1.34 |
| 18-Feb-2006 |
dsl | Changes to allow support for a reduced set of architectures. In particular if SMALLPROG is set (eg for installation crunched ramdiskbin) only build for the current MACHINE.
|
| 1.33 |
| 29-Dec-2005 |
tsutsui | Add ews4800mips support.
|
| 1.32 |
| 12-Jun-2005 |
dyoung | Build hp300 support into installboot(8).
|
| 1.31 |
| 14-May-2005 |
chs | add hp700 support.
|
| 1.30 |
| 14-Nov-2003 |
lukem | Disable hp300 support (again). This code is not to be reenabled again until it is fixed to my satisfaction (as a member of core and the person who ends up dealing with most of the host tool build bugs)
|
| 1.29 |
| 13-Nov-2003 |
dsl | roundup() write of hp300 boot code to a multiplr of the disk sector size. and re-instate the hp300 code - seems to work.
|
| 1.28 |
| 10-Nov-2003 |
fvdl | Disable the hp300 for now.
|
| 1.27 |
| 08-Nov-2003 |
dsl | First cut of hp300 installboot, seems to DTRT on i386. Maybe this code ought to know how to add a file to the LIF filesystem.
|
| 1.26 |
| 28-Oct-2003 |
mrg | XXX: build mdsetimage.c / installboot/ffs.c with -O0 on sun2 as GCC3 barfs on these for now.
|
| 1.25 |
| 27-Oct-2003 |
cl | add next68k support to installboot
|
| 1.24 |
| 18-May-2003 |
lukem | Now that <bsd.prog.mk> DTRT if HOSTPROG is defined (i.e, it is a no-op), there's no need to special-case .include-ing it.
|
| 1.23 |
| 09-Apr-2003 |
dsl | Add support for i386 boot code - for new bootxx stuff
|
| 1.22 |
| 15-Jan-2003 |
mhitch | Add support for amiga.
|
| 1.21 |
| 02-Jun-2002 |
isaki | Add x68k stuff.
|
| 1.20 |
| 20-May-2002 |
lukem | - use uint8_t instead of char for boot block blobs - bbinfo_params: - replace "int littleendian" with "bbinfo_endian endian" - add comments - shared_bbinfo_clearboot(): - add callback method to shared_bbinfo_clearboot() - don't clear from 0..headeroffset; use a callback to do that - add news68k and newsmips support. From Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>, with a rework by me to take advantage of the new shared_bbinfo_clearboot() callback. (XXX: untested yet)
|
| 1.19 |
| 15-May-2002 |
lukem | bootblock.h: - unify sparc_bbinfo (1064 bytes, with 256 block entries) and sun68k_bbinfo (296 byte, with 64 block entries) into shared_bbinfo (512 bytes, with 118 block entries), which will be also shared by future bbinfo-using platforms (including macppc) - add datestamp to *_BBINFO_MAGIC strings, to prevent installboot vs bootxx version skew. - add macppc support
*/bootxx.c: - migrate to new shared_bbinfo structure
installboot: - add macppc support (still needs applepartmap support and testing) - improve and add some more warnings & errors to installboot - implement shared_bbinfo_clearboot() and shared_bbinfo_setboot(), which perform the majority of the work for bbinfo-using back-ends (rather than replicating that across multiple back-ends).
|
| 1.18 |
| 06-May-2002 |
pk | Add sparc module.
|
| 1.17 |
| 26-Apr-2002 |
lukem | s/_SRC_TOP_/NETBSDSRCDIR/
|
| 1.16 |
| 24-Apr-2002 |
lukem | convert from "sun68k_bbinfo.h" to <dev/sun/sun_boot.h>
|
| 1.15 |
| 23-Apr-2002 |
lukem | after consideration, don't bother with compat symlinks, as it might cause end-user confusion if the syntax changed between /usr/mdec/installboot and /usr/sbin/installboot
|
| 1.14 |
| 22-Apr-2002 |
bjh21 | include <bsd.own.mk> for _SRC_TOP_
|
| 1.13 |
| 22-Apr-2002 |
fredette | Install the compatability symlink for sun2. In the sun68k handler, add some sync()s to make sure we get a coherent picture of the filesystem. Maybe should be in the MI filesystem code?
|
| 1.12 |
| 22-Apr-2002 |
lukem | Add sun2 backend from Matthew Fredette. (Implemented with "sun68k.c" as it should eventually support "sun3" as well.)
|
| 1.11 |
| 19-Apr-2002 |
lukem | - Add code from Matt Fredette <fredette@theory.lcs.mit.edu> to implement fstype checking, and back-end "ffs" support. - Consistently use at least uint32_t for blocknumbers (vs. int / long / ...) - Consistently use uintXX_t instead of u_intXX_t. - Move various duplicated prototypes into "installboot.h"
|
| 1.10 |
| 11-Apr-2002 |
lukem | - add no_parseopt(), no_setboot() and no_clearboot() methods for back-ends to use when they don't support a particular method - don't automatically generate machines.c anymore - add entries for i386 (temporarily unsupported) and shark (permanently unsupported)
|
| 1.9 |
| 06-Apr-2002 |
bjh21 | Install the compat symlink into ${DESTDIR}.
|
| 1.8 |
| 06-Apr-2002 |
bjh21 | Don't install the compat symlink if this is a HOSTPROG.
|
| 1.7 |
| 04-Apr-2002 |
lukem | Add framework for adding compat symlink from /usr/mdec/installboot -> /usr/sbin/installboot. Enable pmax.
|
| 1.6 |
| 04-Apr-2002 |
lukem | Add sparc64 back-end, contributed by Matthew Green.
|
| 1.5 |
| 03-Apr-2002 |
lukem | Add support for alpha, based on {vax,pmax}.c and sys/arch/alpha/stand/installboot. XXX: not fully tested yet.
|
| 1.4 |
| 03-Apr-2002 |
lukem | Migrate MD files to arch/ subdir. Suggested by Hubert Feyrer.
|
| 1.3 |
| 03-Apr-2002 |
lukem | Add pmax installboot back-end; from vax.c and arch/pmax/stand/installboot/*. XXX: not tested yet.
|
| 1.2 |
| 03-Apr-2002 |
lukem | replace machines.c rebuild with "regenmachines", which needs to be run manually
|
| 1.1 |
| 03-Apr-2002 |
lukem | Machine independent "unified" installboot(8). Currently only supports vax, with more MD back-ends to be added RSN.
|
| 1.37.8.1 |
| 23-Mar-2008 |
matt | sync with HEAD
|
| 1.39.6.1 |
| 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
| 1.40.6.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
|
| 1.42.2.1 |
| 08-Feb-2011 |
bouyer | Sync with HEAD
|
| 1.43.2.1 |
| 23-Jun-2011 |
cherry | Catchup with rmind-uvmplock merge.
|
| 1.46.2.2 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.46.2.1 |
| 30-Oct-2012 |
yamt | sync with head
|
| 1.47.2.1 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.48.4.1 |
| 16-Jul-2015 |
snj | Pull up following revision(s) (requested by mlelstv in ticket #844): usr.sbin/installboot/Makefile: revisions 1.49, 1.50 usr.sbin/installboot/installboot.c: revisions 1.37, 1.38 usr.sbin/installboot/arch/amiga.c: revision 1.9 Support wedge names. -- Can't use getfsspecname (and thus wedge names) while building tools. -- Linking against libutil is not appropiate for tools. -- Compute bootloader checksum correctly also on little endian systems.
|
| 1.50.2.1 |
| 20-Mar-2017 |
pgoyette | Sync with HEAD
|
| 1.51.14.2 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
| 1.51.14.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
| 1.51.6.1 |
| 07-May-2021 |
martin | Pull up following revision(s) (requested by mrg in ticket #1678):
bin/pax/options.c: revision 1.119 usr.bin/config/scan.l: revision 1.32 usr.bin/make/main.c: revision 1.274 bin/pax/extern.h: revision 1.60 usr.bin/config/defs.h: revision 1.106 usr.bin/make/make.h: revision 1.105 sbin/newfs_udf/udf_create.c: revision 1.27 (patch) sbin/newfs_udf/newfs_udf.h: revision 1.7 (patch) usr.bin/config/main.c: revision 1.100 usr.sbin/installboot/Makefile: revisions 1.53,1.54 (patch) usr.sbin/installboot/installboot.h: revision 1.41 (patch) usr.sbin/installboot/machines.c: revisisons 1.41,1.42 (patch)
Avoid depending on common symbols.
|
| 1.52.2.1 |
| 21-Aug-2019 |
msaitoh | Pull up following revision(s) (requested by martin in ticket #80): usr.sbin/installboot/Makefile: revision 1.53 usr.sbin/installboot/Makefile: revision 1.54 usr.sbin/installboot/machines.c: revision 1.41 usr.sbin/installboot/machines.c: revision 1.42 Replace black voodo linker magic (sometimes failing) with some makefile + macro magic to trim the list of available machines on size restricted install media. Never trust a compiler that predefines i386 as 1 - do the symbol name concatenation at the make level instead.
|
| 1.56.6.1 |
| 22-Jun-2024 |
martin | Pull up following revision(s) (requested by tsutsui in ticket #722):
sys/fs/cd9660/cd9660_util.c: revision 1.16 sys/arch/hp300/stand/common/clock.c: revision 1.14 sys/arch/hp300/stand/common/scsireg.h: revision 1.5 sys/arch/hp300/stand/common/scsireg.h: revision 1.6 sys/arch/hp300/stand/Makefile.buildboot: revision 1.38 sys/arch/hp300/include/bus.h: revision 1.23 sys/arch/hp300/stand/Makefile.buildboot: revision 1.39 sys/arch/hp300/stand/common/sd.c: revision 1.12 sys/arch/hp300/stand/common/prf.c: revision 1.6 sys/arch/hp300/stand/common/sd.c: revision 1.13 usr.sbin/installboot/installboot.8: revision 1.106 usr.sbin/installboot/Makefile: revision 1.59 sys/arch/hp300/stand/common/devopen.c: revision 1.14 usr.sbin/installboot/installboot.8: revision 1.107 sys/arch/hp300/stand/common/ite_dumb.c: revision 1.2 sys/arch/hp300/stand/common/devopen.c: revision 1.15 usr.sbin/installboot/installboot.8: revision 1.108 sys/fs/cd9660/cd9660_extern.h: revision 1.29 usr.sbin/installboot/installboot.8: revision 1.109 tools/Makefile.nbincludes: revision 1.11 (patch) sys/arch/hp300/dev/rboxreg.h: revision 1.3 sys/arch/hp300/stand/common/scsivar.h: revision 1.5 sys/arch/hp300/dev/dnkbd.c: revision 1.14 sys/arch/hp300/hp300/trap.c: revision 1.156 sys/arch/hp300/stand/mkboot/mkboot.c: revision 1.12 sys/arch/hp300/dev/frodoreg.h: revision 1.6 sys/arch/hp300/stand/mkboot/mkboot.c: revision 1.13 sys/arch/hp300/stand/common/ite_sti.c: revision 1.2 sys/arch/hp300/stand/common/hil.c: revision 1.15 usr.sbin/installboot/arch/hp300.c: revision 1.18 sys/arch/hp300/stand/mkboot/mkboot.c: revision 1.14 sys/arch/hp300/dev/rbox.c: revision 1.4 usr.sbin/installboot/arch/hp300.c: revision 1.19 sys/arch/hp300/stand/mkboot/mkboot.c: revision 1.15 sys/sys/bootblock.h: revision 1.59 sys/arch/hp300/stand/mkboot/mkboot.c: revision 1.16 usr.sbin/installboot/installboot.h: revision 1.44 sys/arch/hp300/stand/mkboot/volhdr.h: file removal sys/arch/hp300/stand/mkboot/mkboot.c: revision 1.17 sys/arch/hp300/dev/hpib.c: revision 1.45 usr.sbin/installboot/installboot.h: revision 1.45 usr.sbin/installboot/cd9660.c: revision 1.1 sys/arch/hp300/stand/mkboot/mkboot.c: revision 1.18 sys/arch/hp300/dev/topcatreg.h: revision 1.3 usr.sbin/installboot/cd9660.c: revision 1.2 sys/arch/hp300/stand/mkboot/mkboot.c: revision 1.19 sys/arch/hp300/stand/inst/inst.c: revision 1.25 sys/arch/hp300/stand/uboot/Makefile: revision 1.12 sys/arch/hp300/dev/dvbox.c: revision 1.4 sys/arch/hp300/dev/dma.c: revision 1.45 sys/arch/hp300/stand/uboot/Makefile: revision 1.13 sys/arch/hp300/stand/common/rd.c: revision 1.16 sys/arch/hp300/stand/inst/Makefile: revision 1.12 distrib/hp300/cdroms/installcd/Makefile: revision 1.4 sys/arch/hp300/stand/mkboot/volhdr.h: revision 1.6 sys/arch/hp300/stand/common/machdep.c: revision 1.16 usr.sbin/installboot/fstypes.c: revision 1.14 sys/arch/hp300/hp300/machdep.c: revision 1.238 sys/arch/hp300/include/cpu.h: revision 1.73 sys/arch/hp300/dev/diofbreg.h: revision 1.4 sys/arch/hp300/stand/common/scsi.c: revision 1.12 sys/arch/hp300/stand/common/netio.c: revision 1.19 sys/arch/hp300/stand/common/scsi.c: revision 1.13 sys/arch/hp300/dev/sti_sgc.c: revision 1.8 sys/arch/hp300/dev/rtc.c: revision 1.22 sys/arch/hp300/stand/mkboot/mkboot.c: revision 1.20 sys/arch/hp300/stand/common/conf.h: revision 1.4 sys/arch/hp300/hp300/autoconf.c: revision 1.111 sys/arch/hp300/stand/common/conf.c: revision 1.15 sys/arch/hp300/stand/mkboot/Makefile: revision 1.12 sys/arch/hp300/stand/mkboot/Makefile: revision 1.13 sys/arch/hp300/hp300/autoconf.c: revision 1.114 sys/arch/hp300/dev/dcmreg.h: revision 1.11 sys/arch/hp300/dev/diofbvar.h: revision 1.4 sys/arch/hp300/dev/dcm.c: revision 1.91 sys/fs/cd9660/cd9660_util.c: revision 1.15 sys/arch/hp300/dev/mcclock_frodo.c: revision 1.2
TAB/space cleanup.
installboot(8): formatting improvements
Use Ar foo instead of <foo>; this is mdoc.
Other formatting tweaks. installboot(8): fix up markup
Don't overuse .Sy - when everything is highlighted, nothing is. Use .Ic for options &c to get correct PostScript output (both are bold in plain text).
Use Aq Ar inside .Pa, as both Pa and Ar are rendered as underscored text in plain text output, and the distinction is lost.
Don't set examples in bold, but give them .Pp space around - they are much easier to read this way.
Use consistent -width in FILES. document how to use installboot on netbsd/vax.
PR/57909: Jan-Benedict Glaw: Don't include (build) timestamp when doing a reproducible build fix usage string, improve error handling. add missing chunk for repro-build. fix gcc warnings. avoid stringop truncation, fix copyright string to prevent assembler warnings.
Fix build as a tool (Jan-Benedict Glaw)
Fix integer overflow of strtol(3) for "loadpoint" address on ILP32 hosts.
This strtol(3) was introduced in rev 1.12 for PR/57909 after netbsd-10, but it returns LONG_MAX (0x7FFFFFFF) for 0xFFF00000 on ILP32 hosts and the wrong loadpoint causes "NOT ENOUGH MEMORY" error by the BOOTROMs on loading uboot.lif on (at least) my 9000/360 and 9000/425t.
Misc cosmetic changes for mostly readability. - KNF and add some newlines per blocks - define and use proper bintobcd() macro - make local functions and variables static
The same uboot.lif binaries are generated.
Rename ${PROGAOUT} -> ${PROGELF} to reflect reality. Use proper signedness for the LIF file system data structures.
Ancient 4.3BSD used short and int for location, file size, file type, and addresses etc. but all of them should be unsigned.
Also rename several variables and add comments for readability. The LIF file system info can be found in "The HPDir Project" page: https://www.hp9845.net/9845/projects/hpdir/ The same uboot.lif binaries are generated.
Add a preliminary CD boot support to uboot for preparation of PR/54455. Briefly tested on mame, but not enalbed yet.
Recognize SCSI CD-ROM devices as a booted device properly.
Necessary for PR port-hp300/54455, to boot an md root root RAMDISK
kernel from CD-ROM without "WARNING: can't find match for bootdev:" prompt.
Sync with src/sys/arch/hp300/stand/mkboot/volhdr.h rev 1.6. https://mail-index.netbsd.org/source-changes/2024/05/07/msg151195.html
Use proper signedness for the LIF file system data structures. mkboot should use this MI <sys/bootblock.h> and volhdr.h should be removed soon.
Use MI <sys/bootblock.h> to refer LIF filesystem structures. This should have been done when LIF definitions were initially added to <sys/bootblock.h> for MI installboot(8).
Enable SUPPORT_CD on uboot.
Make cd9660_util.c usable in userland tools like installboot(8).
This was partially done for src/distrib/cdrom/macppc_installboot, but more strict prototypes are necessary for native binary builds.
Install cd9660 related system headers for tools installboot(8) builds.
Reorder function prototypes per source files.
Add cd9660 support to search a bootloader file in the target file system.
Also add CD boot support for hp300, using a bootloader file in cd9660 fs. This is a tool's part to close PR/54455.
HP 9000/300 machines read LIF directory entry allocated after the LIF volume header at the top of the boot disk during bootstrap, and a bootstrap file must be contiguously allocated on the disk due to limitation of the LIF specification.
Current NetBSD/hp300's bootloader is larger than ~80KB so we have to prepare a special 'boot' partition for FFS (that has only 8KB (ffsv1) or 32KB (ffsv2) spaces) disks to put such a large bootloader.
On the other hand, on ISO9660 fs all files are allocated contiguously so we can specify a bootloader file in the target ISO9660 directly in the LIF directory entry.
Note we can simply use the existing "append" option to create bootable CD ISO for hp300, but it looks some emulators (at leaset MAME) reject such non-standard ISO files, i.e. with an appended bootloader file at the end of the image.
Put a RAMDISK kernel and SYS_UBOOT into hp300 installcd to make it bootable.
This should finally close PR/54455.
Fix tools build errors on Cygwin.
Appease warnings on building tools/installboot on Cygwin.
|