bsdboot.com - boot *BSD from DOS March, 5. 2002 A program booting FreeBSD/NetBSD/OpenBSD from DOS. SYNOPSIS bsdboot [boot option] file [kernel option] Boot options are: -u : boots from UFS filesystem. -c command : executes command. -i : Interactive mode. -f : boots FreeBSD. -n : boots NetBSD. -o : boots OpenBSD. `file' designates the kernel file name. `kernel option' designates each BSD's kernel options. `man boot' to look up the kernel options. USAGE AND CAVEAT Cannot boot from WindowsNT. Booting from DOS/Windows95/98 with himem.sys causes the system hung. Start without himem.sys. Case of DOS Remove the line `device=himem.sys' from config.sys and restart. Case of Windows95 1. Press F8 key in about 2 seconds after it displays `starting windows95...'. 2. Select `Step-by-step confirmation' in the menu and then answer N to all of the questions. Case of Windows98 1. Start the machine with CTRL key pressed. 2. Select `Step-by-step confirmation' in the menu and then answer N to all of the questions. Examples: Booting FreeBSD bsdboot -f kernel Booting OpenBSD in single-user mode bsdboot -o bsd -s Compilation method You need syssrc.tgz of NetBSD 1.5. Please get it from anywhere. With the following procedure, "WORK" signifies working directory. set WORK="working directory" cd $WORK tar -xovzf syssrc.tgz patch -p0 < bsdboot.patch cd $WORK/usr/src/sys/arch/i386/stand/dosboot For compile with NetBSD: make For compile with OpenBSD: make OBJECT_FMT=AOUT KERNEL=OPENBSD In case of appearing following message: make: don't know how to make bsdboot.com.cat1. Stop you do not need to mind it. For compile with FreeBSD: Please refer to an appendix. bsdboot.com will be made in $WORK/usr/src/sys/arch/i386/stand/dosboot, please use this. I successfully compiled it with NetBSD 1.5. BUGS Optional of FreeBSD as -D and -P, i does not do implement till now. Condition of redistribution After a patch application, a file including a description of distribution condition obeys it. As for the file which there is not of description, you can change or redistribute it freely. An immunity from responsibility An author does not bear responsibility, for any kind of damage to originate in this software. In addition, I do not bear duty of support either. -- kurati http://www.nurs.or.jp/~kurati/ -------------------------------------------------------------------------- Appendix Compilation method with FreeBSD You need make of NetBSD. Because a binary does not work as it is you need to make it from source. Please do the following work after obtaining sources of NetBSD (i386) described below. src.tgz base.tgz comp.tgz Method to compile make of NetBSD with FreeBSD WORK signifies working directory in following discussion. 1. extracting sources. set WORK="working directory" cd $WORK tar -xovzf src.tgz usr/src/usr.bin/make tar -xovzf base.tgz ./usr/share/mk/sys.mk tar -xovzf comp.tgz ./usr/share/mk/ 2. modify Makefile cd $WORK/usr/src/usr.bin/make You must change line of CPPFLAGS+=... of the fourth line of Makefile in CFLAGS+=... 3. make make Method to compile bsdboot.com with FreeBSD 1. refer to section of compilation method, extract sources and apply of patch to source. 2. compile it. cd $WORK/usr/src/sys/arch/i386/stand/dosboot set MAKE=$WORK/usr/src/usr.bin/make/make setenv OBJFORMAT aout $MAKE -m $WORK/usr/share/mk MAKE=$MAKE KERNEL=FREEBSD Thanks.