summaryrefslogtreecommitdiffstats
path: root/sys/boot
Commit message (Collapse)AuthorAgeFilesLines
* Convert from the Alpha compontents to PowerPC ones.obrien2000-10-166-202/+119
|
* "Ok, my loader's now up to putting up a prompt. It probes disks partiallyobrien2000-10-1618-0/+1866
| | | | | | | | but can't boot from them yet." Thanks to Stephane Potvin for the some of the code in this set. Submitted by: Benno Rice <benno@jeamland.net>
* Merged from sys/boot/i386/loader/main.c revision 1.21.nyan2000-10-151-10/+0
|
* Now I see the error of my ways.dcs2000-10-091-6/+8
| | | | | | | | | | | | | | | Previous revision of this file changed the "boot" commands to take no arguments from the stack. This is only valid in the case where a kernel has not been loaded. In that case, load_kernel_and_modules will be called, which takes a list of arguments from the stack. When a kernel is presently loaded, though, the list of arguments must be passed to the boot command, which was the behaviour before the last revision. Fix things for both cases. Noticed by: S-Max and others on that chat room
* Go back to occupying just a single sector, reverting r1.17 - r1.20.rnordier2000-10-022-166/+82
| | | | | | | | | | | | Taking over the sector following the MBR causes problems on some machines, and the actual gains are fairly small in terms of how the space is presently used. Since we need a number of further features (eg. handling extended partitions) that can't be readily accommodated in the basic boot0 design anyway, rather choose to implement the additional stuff separately and concentrate on compatibility rather than features here.
* Set MAINTAINER.rnordier2000-10-028-0/+16
|
* Get rid of garbage left on the stack.dcs2000-09-251-2/+1
|
* What could possibly have possessed me to forget the "0 (arguments)"dcs2000-09-251-2/+2
| | | | | | | | in two of the three boot words in the "boot" redefinition, I have no clue. Fix it. Noticed by: bp Noticed by: adrian
* Merged from sys/boot/i386/loader/main.c revision 1.23.kato2000-09-221-0/+2
|
* Merged from sys/boot/i386/libi386/Makefile revision 1.19.kato2000-09-221-1/+3
|
* Add support for the "nullconsole" console type, for systems witharchie2000-09-207-1/+109
| | | | | | | | neither a video console nor a serial port. Use it if the RB_MUTE flag is set. Submitted by: Doug Ambrisko <ambrisko@whistle.com> Reviewed by: jhb
* Check for the correct minimum version required by the current code.dcs2000-09-181-4/+4
| | | | I hope I got this right... :-)
* Steal 512KB more from system memory for heap instead of 256KB. We diedmjacob2000-09-181-9/+11
| | | | without the extra space. What a pity.
* Run SECONDARY_LOAD_ADDRESS down to 0x2000a000- this still leavesmjacob2000-09-181-1/+1
| | | | | (barely) enough room for boot1 and gives us 8KB more to play with in the loader.
* Make the stack 12K- we seem to need a bit more.mjacob2000-09-181-3/+3
| | | | | Rename 'stack' to 'stackbase' as this variable more correctly denotes what it is.
* Use _ instead or - where proper, according to the style I have beendcs2000-09-162-17/+35
| | | | | | using. Overload "?" so it will also show loader.4th commands.
* Solve a name clash.dcs2000-09-162-6/+12
| | | | Add something to help debugging.
* The default search path for kernel and modules was bogus. It makes nodcs2000-09-161-1/+1
| | | | sense for /boot/kernel to come last.
* The module_path set by default was bogus. It had /boot/kernel last,dcs2000-09-161-3/+3
| | | | which makes little sense.
* Both boot and boot-conf were using a different algorithm from the onedcs2000-09-162-32/+38
| | | | | | | | | | | | | used by start to find the kernel. Fix this. Also, boot would proceed immediately in the absence of a path as argument. Check first if a kernel has already been loaded, and, if not, fall back to load kernel&modules behavior. Some further factorizing. I deem this code to be mostly readable by now! :-) Many thanks to: Makoto MATSUSHITA <matusita@jp.FreeBSD.org>
* Factorize, reorganize, and move code around.dcs2000-09-152-116/+152
| | | | | | | | | | | | | | | | | | | | | | | The boot-conf and boot code had various bugs, and some of it was big, ugly, unwieldy, and, sometimes, plain incorrect. I'm just about completely replaced these ugly parts with something much more manageable. Minor changes were made to the well-factorized parts of it, to accomodate the new code. Of note: * make sure boot-conf has the exact same behavior wrt boot order as start. * Correct both boot and boot-conf so they'll work correctly when compiled in, as they both had some bugs, minor and major. * Remove all the crud from loader.4th back into support.4th, for the first time since boot-conf was first improved. Hurray! I'm fairly satisfied with the code at this time. Time to see about those man pages...
* Start countdown only _after_ the kernel was loaded. Not very fair otherwise.dcs2000-09-151-4/+4
|
* New world order wrt to kernel location and name. This doesn't actuallydcs2000-09-121-2/+2
| | | | | changes anything (in theory), just better document it. I'm waiting for the final word before I tackle the man pages.
* Back out bktr_mem_load. It is not needed because I'm use MODULE_DEPENDroger2000-09-121-1/+0
| | | | | elsewhere. Reminded by: Mike Smith
* Add bktr_mem_loader, default to NO.roger2000-09-111-0/+1
| | | | In the near future the bktr module will need the bktr_mem module too.
* Fix this so that we actually define HAVE_PNP when its available.dfr2000-09-101-2/+2
|
* The entropy driver module has changed name.markm2000-09-101-1/+1
|
* Bump up version as a result of the recent changes to kernel path,dcs2000-09-101-0/+1
| | | | | | | | and boot-conf&boot semantic changes. Also, make it 1.0. Reminded by: peter (even though he doesn't know it)
* Bump up version as a result of the recent changes to kernel path,dcs2000-09-101-0/+1
| | | | | | and boot-conf&boot semantic changes. Reminded by: peter (even though he doesn't know it)
* Change NOFORTH comment character from # to \ followed by space,dcs2000-09-101-1/+1
| | | | | | | | | to make things more interchangeable between it and the FORTH case. Perhaps requiring the space is a bit too much, but... Nothing in the tree seems to produce loader.rc files with comment line, at this time.
* Only build PnP parts if the platform supports PnP.dfr2000-09-103-0/+9
|
* Upon reflection, I decided that bootfile must have priority over kerneldcs2000-09-091-8/+8
| | | | | | as the kernel name. The one very unfortunate consequence is that kernel as an absolute path loses the priority. It will only be tried after /boot/${kernel}/${bootfile}. I'll see what can be done about it later.
* Correct BSD/OS slice type.rnordier2000-09-091-2/+2
| | | | | PR: 21099 Submitted by: Alan Clegg <abc@bsdi.com>
* First tackle at trying to handle the New Deal on kernels.dcs2000-09-093-118/+280
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Load the first of the following kernels to be found: ${kernel} if ${kernel} is an absolute path /boot/${kernel}/${kernel} /boot/${kernel}/${bootfile} ${kernel}/${kernel} ${kernel}/${bootfile} ${kernel} ${bootfile} The last instance of ${kernel} and ${bootfile} will be treated as a list of semicolon separated file names, and each will be tried in turn, from left to right. Also, for each filename loader(8) will try filename, filename.ko, filename.gz, filename.ko.gz, in that order, but that's not related to this code. This resulted in a major reorganization of the code, and much of what was accumulating on loader.4th was rightly transfered to support.4th. The semantics of boot-conf and boot also changed. Both will try to load a kernel the same as above. After a kernel was loaded, the variable module_path may get changed. Such change will happen if the kernel was found with a directory prefix. In that case, the module path will be set to ${directory};${module_path}. Next, the modules are loaded as usual. This is intended so kernel="xyzzy" in /boot/loader.conf will load /boot/xyzzy/kernel.ko, load system modules from /boot/xyzzy/, and load third party modules from /boot/modules or /modules. If that doesn't work, it's a bug. Also, fix a breakage of "boot" which was recently introduced. Boot without any arguments would fail. No longer. Also, boot will only unload/reload if the first argument is a path. If no argument exists or the first argument is a flag, boot will use whatever is already loaded. I hope this is POLA. That behavior is markedly different from that of boot-conf, which will always unload/reload. The semantics introduced here are experimental. Even if the code works, we might decide this is not the prefered behavior. If you feel so, send your feedback. (Yeah, this belongs in a HEADS UP or something, but I've been working for the past 16 hours on this stuff, so gimme a break.)
* Update boot and boot-conf descriptions to reflect new and old changes.dcs2000-09-082-3/+31
| | | | Add a warning in loader(8) that boot might be changed by loader.4th.
* Enhance boot-conf.dcs2000-09-081-24/+118
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now boot-conf can also receive parameters to be passed to the kernel being booted. The syntax is the same as in the boot command, so one boots /kernel.OLD in single-user mode by typing: boot-conf /kernel.OLD -s instead of boot-conf -s /kernel.OLD The syntax still supports use of directory instead of file name, so boot-conf kernel.OLD -s may be used to boot /boot/kernel.OLD/kernel.ko in single-user mode. Notice that if one passes a flag to boot-conf, it will override the flags set in .conf files, but only for that invocation. If the user aborts the countdown and tries again without passing any flags, the flags set in .conf files will be used. Some factorization was done in the process of enhancing boot-conf, as it has been growing steadly as features are getting added, becoming too big for a Forth word. It still could do with more factorization, as a matter of fact. Override the builtin "boot" with something based on boot-conf. It will behave exactly like boot-conf, but booting directly instead of going through autoboot. Since we are now pairing kernel and module set in the same directory, this change to boot makes sense.
* Strictly speaking, this works. It enumarates the PnP devices, anddcs2000-09-081-0/+172
| | | | | | | | | | | | | | load the modules needed according to a file relating module names (actually, _file_ names, not really modules -- the dependency stuff is not exported to loader's UI) to PnP IDs. But it still lacks a number of desired features, and it's too crude for my tastes. But since I don't have time to work on it, it might be preferable to make it available to those who might. It's not installed by default, much less loaded. In fact, it wouldn't even had a copyright message (who? me? assume responsibility for _this_?), if the cvs commit hadn't aborted for lack of $FreeBSD$, and I decided to just cut&paste the stuff from elsewhere.
* Add the infrastructure necessary to handle PnP from a Forth script.dcs2000-09-083-0/+103
| | | | | | Also, export the file_findfile() function. Again, this is taken from work in progress but frozen for the time being. Since it works, I'd rather commit and remove any uglyness later than hide it on my tree.
* Fix an error message which was using the wrong variable to get thedcs2000-09-081-1/+1
| | | | kernel name from.
* Add constructors to crude structure support. Rework some of thedcs2000-09-081-19/+142
| | | | | | | | | | | | | | | | code into a more modular interface, with hidden vocabularies and such. Remove the need to a lot of ugly initialization. Also, add a few structure definitions, from stuff used on the C part of loader. Some of this will disappear, and the crude structure support will most likely be replaced by full-blown OOP support already present on FICL, but not installed by default. But it was getting increasingly inconvenient to keep this separate on my tree, and I already lost lots of work once because of the hurdles, so commit this. Anyway, it makes support.4th more structured, and I'm not proceeding with the work on it any time soon, unfortunately.
* Make the pnp structure a global variable, so it can be used elsewhere.dcs2000-09-082-1/+5
|
* Fix autoboot. Now autoboot *always* show the correct kernel name. Itdcs2000-09-082-17/+37
| | | | | | | | | | | | | | | | | | gets the name from the environment variable kernelname, which is set when a kernel is loaded. For this reason, autoboot will _first_ try to load a kernel, and only proceed with the wait prompt after that succeeds. If it fails, it will abort immediately. While I understand some may think this behavior undesirable, I think it is, overall, the best thing to do, even if we do not consider the aesthetic issue. Notice that anyone using the default loader.rc already has the kernel loaded before autoboot. On unload, unset kernelname. Separate the code that tries to load a kernel from the list of options to the function loadakernel(). It is used by both boot() and autoboot().
* Merged from sys/boot/i386/loader/Makefile revision 1.47.kato2000-09-081-1/+7
|
* Look for libstand in the built tree rather than in /usr/lib. Thisimp2000-09-081-1/+7
| | | | | | | likely could be done better, but the tree is broken and I wanted to get a fix into the tree. Reviewed by: msmith
* With the committed changes to the loaders modules path code, the kernelobrien2000-09-061-1/+1
| | | | path does not need to be hard coded.
* Fix the kernel default load from "/boot/modules" to "/boot/kernel".obrien2000-09-051-1/+1
| | | | Reported by: dcs
* The kernel is now known as `kernel.ko' and it and its matching modulesobrien2000-09-053-4/+4
| | | | live in ``/boot/kernel/''.
* Fix a bug which prevents parsing this Makefile without having amsmith2000-09-051-0/+2
| | | | previously-built loader binary elsewhere.
* Export the salient configuration items in a non-pxe-specific namespacemsmith2000-09-051-5/+44
| | | | | | | | | | | | to allow commonality between varying platforms. This is a step towards parsing the diskless configuration information with MI code inside the kernel. Export the interface hardware address to the kernel, so that it is possible to determine the boot interface with certainty. Export the NFS filehandle for the root mount to the kernel, so that the kernel does not need to perform a mount RPC call.
* This is real released software, let people think that.obrien2000-09-031-0/+1
|
OpenPOWER on IntegriCloud