summaryrefslogtreecommitdiffstats
path: root/sys/boot/i386
Commit message (Collapse)AuthorAgeFilesLines
* Unrevert revision 1.12. Revision 1.14 backed this out saying it wasjhb2002-01-101-7/+17
| | | | | | | backing out the 1024 sector boot0, but revision 1.12 had nothing to do with that. Instead, it documented various compile time options for boot0 and allowed them to be overridden via make.conf or options on the make command line.
* Increase BSIZEMAX from 8k to 16k, so that we can reliably boot fromiedowse2002-01-092-2/+2
| | | | filesystems with 16k blocks.
* Don't turn on RB_CDROM if the rootdev is a BIOS cd device for now as thisjhb2002-01-043-6/+0
| | | | breaks when cdboot is used with an MFS root.
* - Add 'fwrite' and 'fseek' words for writing to and seeking on files.jhb2001-12-111-0/+1
| | | | | | | | | | | | | - Change the 'fopen' keyword to accept a mode parameter. Note that this will break existing 4th scripts that use fopen. Thus, the loader version has been bumped and loader.4th has been changed to check for a sufficient version on i386 and alpha. Be sure that you either do a full world build or install or full build and install of sys/boot after this since loader.old won't work with the new 4th files and vice versa. PR: kern/32389 Submitted by: Jonathan Mini <mini@haikugeek.com> Sponsored by: ClickArray, Inc.
* Add support for writing to BIOS disks.jhb2001-12-111-3/+169
| | | | | | PR: kern/32389 Submitted by: Jonathan Mini <mini@haikugeek.com> Sponsored by: ClickArray, Inc.
* Add new boot flag to i386 boot: -p.guido2001-12-103-0/+9
| | | | | | | | | | | | This flag adds a pausing utility. When ran with -p, during the kernel probing phase, the kernel will pause after each line of output. This pausing can be ended with the '.' key, and is automatically suspended when entering ddb. This flag comes in handy at systems without a serial port that either hang during booting or reser. Reviewed by: (partly by jlemon) MFC after: 1 week
* Update to C99, s/__FUNCTION__/__func__/,obrien2001-12-102-2/+2
| | | | also don't use ANSI string concatenation.
* Remove a few more debugging bits and turn on twiddle output while readingjhb2001-11-071-15/+3
| | | | from the CD. This turns off the dual console output to COM1.
* - If we are booted via cdboot, use bc_add() to instantiate the cd0 devicejhb2001-11-051-14/+16
| | | | | | from the loader. - Cleanup extract_currdev() some and add support for setting the currdev to cd0 when booted via cdboot.
* Hook up the bioscd driver and the cd9660 filesystem.jhb2001-11-051-0/+2
|
* Add a device driver for the BIOS device for CD-ROM's booted via El Toritojhb2001-11-057-21/+424
| | | | | | no emulation mode. Unlike other BIOS devices, this device uses 2048 byte sectors. Also, the bioscd driver does not have to worry about slices or partitions.
* Trim all the extra debugging output including hexdumps, debug messages,jhb2001-11-041-189/+4
| | | | | | etc. The only bit of debugging left is performing dual output to both the screen and COM1. Also, the twiddle is still disabled since it seems to do weird things to the serial dump. cdboot now has 880 bytes to spare.
* Axe the old cdldr.jhb2001-11-042-298/+0
|
* Use the new cdboot instead of cdldr.jhb2001-11-041-2/+1
|
* This is a new CD bootstrap utility designed to replace cdldr. Accordingjhb2001-11-042-119/+594
| | | | | | | | | | | | | | | | | | | | | | | | to the El Torito standard for CD booting, a CD may boot in "No emulation" mode without using a floppy image. In this mode, the BIOS loads a program off of the CD into memory and creates a BIOS device using 2048 byte sectors for the CD. According to the standard, this program can be up to 0xFFFF virtual (512-byte) sectors long. The old cdldr depended on this by having the BIOS load the entire loader and the small cdldr stub as one binary similar to pxeboot so that cdldr didn't have to read the CD to find the loader. However, the NT no emulation loader just uses 1 disk sector (4 virtual sectors), so it seems that at least some BIOS writers just did enough to get NT to boot by only loading 1 sector and ignoring the sector count. Thus, while cdldr should have worked in theory, it doesn't in practice. This replacment fits entirely in 1 sector and includes simple ISO 9660 support. It looks for /boot/loader on the CD and loads it up using the BIOS. This allows us to not have to depend on the limited size of floppy images but use a full GENERIC kernel for CD-ROM installs in the future, among other things. This version of cdboot is a bit bloated as it includes some useful debugging routines that people can pull to use in other x86 assembly modules. Even with all the debugging cruft, we still have 272 bytes to spare.
* Whoops, missed these bits in the previous commit.jhb2001-11-032-2/+4
|
* Add support for sending messages to the serial console which is helpfuljhb2001-11-033-0/+163
| | | | | | when debugging boot problems. It is not on by default but is enabled via the BTX_SERIAL variable. The port and speed can be set via the same variables used by boot2 and the loader.
* Add support for outputting multiple lines when dumping memory during thejhb2001-11-032-4/+26
| | | | | register dump. Change the default to bump 2 lines of output (32 bytes) instead of 1 line (16 byte).
* Add support for trace traps by returning from them just as for breakpointjhb2001-11-032-2/+10
| | | | | traps rather than halting. Ideally, we should avoid printing the 'BTX halted' message for debug register dumps.
* Output a newline at the end of a dump so that there are blank lines betweenjhb2001-11-032-2/+2
| | | | dumps when using breakpoints or tracing.
* Fix the ILLEGAL fdisk table that is there for supporting "dangerouslypeter2001-11-012-2/+2
| | | | | | | | | | | | | dedicated" mode. This was specifying that there are 256 (illegal!) heads on the disk. If bioses store that in a byte, and it gets truncated to 0, then that almost certainly causes the infamous divide-by-zero nightmare. This is also most likely the reason why the Thinkpad T20/A20 series were locking up when FreeBSD was installed. This is also the most likely reason why a boot1 being present causes an IA64 box to lock up at boot. (removing the "part4" stuff from boot1.s fixes the IA64 boxes and would most likely have fixed the T20/A20 and some TP600E series thinkpads)
* Set RB_MULTIPLE (multiple console support) if the kernel is bootedjlemon2001-10-233-0/+9
| | | | with the -D flag.
* Allow the RBX_DUAL flag to appear in bootinfo.jlemon2001-10-232-2/+2
|
* Whitespace fixes.jhb2001-10-041-3/+3
|
* Fix the ANSI color escape sequence \E[m.yokota2001-10-021-153/+118
| | | | | - Corretly map the ansi color number to a PC BIOS color. - Handle multiple arguments to the escape sequence.
* Fix the local macro: isvisible().yokota2001-10-021-1/+1
| | | | - The space char (0x20) IS a visible char :-)
* Fix the function CD(): "Clear to the end of the screen".yokota2001-10-011-4/+15
| | | | | | | | | | | | | | | | - When the video BIOS is called to clear the region (x, y)-(79, 24) (by scrolling), the slashed region in Fig.1 is cleared. CD() is supposed to clear the region shown in Fig.2. x x +-------+ +-------+ | | | | y| ////| y| ////| | ////| |///////| | ////| |///////| +-------+ +-------+ Fig.1 Fig.2 - Don't move the cursor during this operation.
* This is white-space only change. No functional difference.yokota2001-10-011-140/+167
| | | | | | | | | - Be consistent about placing spaces around keywords and operators; don't mix statements like "if(A==B)" and "if (X == Y)", "return(0)" and "return (-1)", "P=10" and "Q = 0", etc. - Consitently indent lines. It's not good to indent by 8 columns in one part of the file, and by 4 columns in the other part.
* Add support for loading bzip2-compressed kernels and modules. This supportsobomax2001-09-182-0/+12
| | | | | | | | | | | | | | is turned off by default and could be enabled by defining LOADER_BZIP2_SUPPORT make variable. Also make gzip support optional (turned on by default) - it could be turned off via LOADER_NO_GZIP_SUPPORT make variable. Please note, that due to limit on the amount of memory available to the loader(8), it is possible to load modules/kernels compressed with the smallest block size supported by the bzip2 - 100k (`-1' bzip2(1) option), however even in this mode bzip2(1) usually provides better compression ratio than gzip(1) in its best compression mode. MFC after: 1 month
* Create backup copies using install(1).ru2001-09-121-3/+1
|
* Implement the long-awaited module->file cache database. A userlandpeter2001-09-111-1/+1
| | | | | | | tool (kldxref(8)) keeps a cache of what modules and versions are inside what .ko files. I have tested this on both Alpha and i386. Submitted by: bp
* Mention that the ACPI module load can be disabled by unsetting $acpi_loadmsmith2001-08-301-0/+14
|
* Teach the loader how to find the system ACPI information, and autoloadmsmith2001-08-305-1/+144
| | | | | | | the ACPI module if the system apperars to be ACPI compliant. This is an initial cut; the load should really be done by Forth support code, and we should check both the BIOS build date and a blacklist.
* OK, now I am scared of pxeldr. It had /boot/loader appended ontopeter2001-08-221-1/+1
| | | | | | the end of it and decoded the headers. Submitted by: jhb
* Generate an ELF /boot/loader instead of fake a.out. The fake a.out wrapperpeter2001-08-221-1/+1
| | | | did not work with old a.out-only bootblocks anyway. :-(
* Allow for text section alignment to properly align the "end" symbol at themp2001-08-094-0/+4
| | | | | | | | | | | | actual end of the section. The new gas (binutils) puts in additional padding which was misaligning the concatenated btx loader. Reported by: Oliver Hartmann <ohartman@klima.physik.uni-mainz.de>, Harti Brandt <brandt@fokus.gmd.de> Tested by: Oliver Hartmann <ohartman@klima.physik.uni-mainz.de>, David Wolfskill <dhw@whistle.com>, ps Reviewed by: jhb MFC after: 1 day
* Trim trailing whitespace.jhb2001-08-094-24/+24
|
* Add in a hack to support IBM "El Torito" CD-ROM booting BIOS's which expectjhb2001-07-316-6/+92
| | | | | | | | | | | | | the first sector of the emulated floppy to contain a valid MS-DOS BPB that it can modify. Since boot1 is the first sector of boot.flp, this resulted in the BIOS overwriting part of boot1: specifically the function used to read in sectors from the disk. Submitted by: Mark Peek <mark@whistle.com> Submitted by: Doug Ambrisko <ambrisko@ambrisko.com> PR: i386/26382 Obtained from: NetBSD, OpenBSD (the example BPB) MFC after: 1 month
* s/adress/address/kris2001-07-231-1/+1
| | | | | Inspired by: OpenBSD MFC After: 1 week
* Unset MAINTAINER.rnordier2001-07-218-16/+0
|
* Remove -DNEW_LINKERSET, it is not used here anymore. This is now native.peter2001-06-211-3/+0
|
* Fix reboot buglet when BOOT_BTX_NOHANG is defined.rnordier2001-05-272-2/+2
| | | | Submitted by: Umesh Krishnaswamy <umesh@juniper.net>
* * include/elf.h has been repo copied to include/elf-hints.h, and it noobrien2001-05-022-2/+2
| | | | | | | | longer includes machine/elf.h. * consumers of elf.h now use the minimalist elf header possible. This change is motivated by Binutils 2.11.0 and too much clashing over our base elf headers and the Binutils elf headers.
* MAN[1-9] -> MAN.ru2001-03-271-1/+1
|
* Always disable paging when exiting back to real mode after receiving ajhb2001-03-212-8/+8
| | | | | | | | | | | | fatal trap. Also, reload the GDT register to point to BTX's GDT before playing around with the segment registers to return to real mode. This is helpful if the kernel causes a fatal exception before it has setup its own IDT and fault handlers. For example, if one happens to break mtx_init(). Without these changes BTX would recursively page fault (if paging was not disabled) or triple fault and reset the CPU (without the GDT reload) instead of providing a potentially useful register dump. Reviewed by: rnordier
* Don't set the gateway address if the netmask is zero or we're onps2001-03-141-1/+5
| | | | | | | the same network. PXE does not do netmask calculations, so if the gateway is set it will use it. Submitted by: peter & FreeBSD cluster ACLs
* Preceed/preceeding are not english words. Use precede or preceding.asmodai2001-02-183-3/+3
|
* Fix typo: seperate -> separate.asmodai2001-02-062-2/+2
| | | | Seperate does not exist in the english language.
* Fix column alignment (whitespace-only change).rnordier2000-12-191-1/+1
|
* Strip the .comment and .note sections when stripping. There's nornordier2000-12-131-1/+1
| | | | point in retaining this info, particularly under BTX.
OpenPOWER on IntegriCloud