323052 |
31-Aug-2017 |
oleg |
MFC r322628: Fix BSD label partition end sector calculation.
Approved by: re (marius) Differential Revision: https://reviews.freebsd.org/D12066 |
321265 |
20-Jul-2017 |
ngie |
MFC r316102:
Wrap bootcamp DEBUG statement with curly braces
This fixes a -Wempty-body warning with gcc 6.3.0 when PART_DEBUG is undefined.
Tested with: amd64-gcc-6.3.0 (devel/amd64-xtoolchain-gcc) |
316319 |
31-Mar-2017 |
ngie |
MFC r316108:
Remove -Wunused-but-set variable, `tail` in `ls_getdir(..)`
This variable has been unused since its inception in r40106. |
312771 |
25-Jan-2017 |
dim |
MFC r311929:
Don't include <errno.h> in reloc_elf.c, as it includes <stand.h> just after it, which has a conflicting definition of errno. This leads to the following warning with clang 4.0.0:
In file included from sys/boot/common/reloc_elf32.c:6: In file included from sys/boot/common/reloc_elf.c:37: /usr/obj/usr/src/tmp/usr/include/stand.h:155:12: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes] extern int errno; ^ sys/sys/errno.h:46:26: note: expanded from macro 'errno' #define errno (* __error()) ^ |
306378 |
27-Sep-2016 |
pluknet |
MFC r274925: misc mdoc fixes. |
301056 |
31-May-2016 |
ian |
MFC r297147, r297148, r297149, r297150, r297151:
Make both the loader and kernel use the interface-mtu option if the dhcp server provides it. Made up of these (semi-)related changes...
[kernel...] If the dhcp server provides an interface-mtu option, parse the value and set that mtu on the interface.
[libstand...]
Garbage collect the bswap routines from libstand, use sys/endian.h.
If the dhcp server delivers an interface-mtu option, parse it and store the value in a new global intf_mtu for use by the application.
[loader...]
If the dhcp server provided an interface-mtu option, transcribe the value to the boot.netif.mtu env var, which will be picked up by pre-existing code in nfs_mountroot() and used to configure the interface accordingly.
PR: 187094 |
298493 |
22-Apr-2016 |
emaste |
MFC r277205 (imp):
Reserve and ignore the a new module metadata type MDT_PNP_INFO for associating an optional PNP hint table with this module. In the future, when these are added, these changes will silently ignore the new type they would otherwise warn about. It will always be safe to ignore this data. Get this into the builds today for some future proofing. |
296438 |
07-Mar-2016 |
dim |
MFC r296419 (by kib):
In the link_elf_obj.c, handle sections of type SHT_AMD64_UNWIND same as SHT_PROGBITS. This is needed after the clang 3.8 import, which generates that type for .eh_frame section, which had SHT_PROGBITS type before.
Reported by: Nikolai Lifanov <lifanov@mail.lifanov.com> PR: 207729 Tested by: dim (previous version) Sponsored by: The FreeBSD Foundation
MFC r296428:
Since kernel modules can now contain sections of type SHT_AMD64_UNWIND, the boot loader should not skip over these anymore while loading images. Otherwise the kernel can still panic when it doesn't find the .eh_frame section belonging to the .rela.eh_frame section.
Unfortunately this will require installing boot loaders from sys/boot before attempting to boot with a new kernel.
Reviewed by: kib |
295531 |
11-Feb-2016 |
smh |
MFC r295356 (Partial)
Fix EFI platform build failures on arm.armeb
Approved by: re (marius) Sponsored by: Multiplay |
295453 |
09-Feb-2016 |
emaste |
MFC boot loader path and RBX constant deduplication
r294765 (imp)
Move all the separate copies of the same strings into paths.h. There's nothing machine specific about these.
r294765 (imp)
RBX_ defines are in rbx.h, move it there.
r294847 (imp)
Remove static from these two. They slipped through the cracks.
r294925 (imp)
Fix mistake when transitioning to the new defines with ZFS loader. I hate adding yet another define, but it is the lessor of the evil choices available. Kill another evil by removing PATH_BOOT3 and replacing it with PATH_LOADER or PATH_LOADER_ZFS as appropriate.
Approved by: re (gjb) |
294997 |
28-Jan-2016 |
smh |
MFC r281060, r294060, r294291, r294493, r294284:
MFC r281060: Remove an unnecessary space in a printf call
MFC r294060: Modularise EFI boot loader
MFC r294291 (by andrew): Reset the filesystem cache
MFC r294493: Fix EFI UFS caching
MFC r294284 (by emaste): boot1: correct typo in error message
Sponsored by: Multiplay |
294986 |
28-Jan-2016 |
smh |
MFC r294506:
Prevent loader.conf load failure due to unknown console entries
Sponsored by: Multiplay |
294985 |
28-Jan-2016 |
smh |
MFC r293835:
Improve non-interactive forth cmd error reporting
Sponsored by: Multiplay |
294984 |
28-Jan-2016 |
smh |
MFC r286234 (by trasz):
Fix a problem which made loader(8) load non-kld files twice.
Sponsored by: Multiplay |
294982 |
28-Jan-2016 |
smh |
MFC r294059:
Ensure boot fsread correctly probes all partitions
Sponsored by: Multiplay |
294981 |
28-Jan-2016 |
smh |
MFC r281169, r293724, r293796, r294029, r294041, r294058
MFC r281169 (by andrew): Make global variabled only used in this file static
MFC r294058: Make common boot file_loadraw name parameter const
MFC r294041: Remove unused reg param from fdt_fixup_memory
MFC r293724: Enable warnings in EFI boot code
MFC r293796: Fix typo in libefi.c
MFC r294029: Only build EFI components on supported compilers
Sponsored by: Multiplay |
294721 |
25-Jan-2016 |
smh |
MFC r293461:
Remove hidden "Not ufs" printfs from boot code
Sponsored by: Multiplay |
294417 |
20-Jan-2016 |
royger |
MFC r277215, r277291, r277418, r280953 and r280954:
loader: implement multiboot support for Xen Dom0
Note that only the subset of the multiboot specification needed in order to boot a Xen Dom0 is implemented.
Sponsored by: Citrix Systems R&D |
293634 |
10-Jan-2016 |
ae |
MFC r292057: Make detection of GPT a bit more reliable.
When we are detecting a partition table and didn't find PMBR, try to read backup GPT header from the last sector and if it is correct, assume that we have GPT.
Differential Revision: https://reviews.freebsd.org/D4282
MFC r292058: Remove a note about damaged PMBR. Now GPT will be detected automatically with such corruption.
Relnotes: yes |
291295 |
25-Nov-2015 |
smh |
MFC r291012:
Document loader(8) dumpdev option
Sponsored by: Multiplay |
290877 |
15-Nov-2015 |
ngie |
MFC r289896:
Make vers.c creation atomic by using a temporary file, then moving the temporary file to vers.c at the end of the script
The previous logic wrote out to vers.c multiple times, so the file could be incorrectly interpreted as being completely written out after one of the echo calls with recursive make, when in reality it was only partially written.
Also, in the event the build was interrupted when creating vers.c (small race window), it would have a leftover file that needed to be cleaned up before resuming the build.
Sponsored by: EMC / Isilon Storage Division |
289507 |
18-Oct-2015 |
trasz |
MFC r285870:
Document md_root in loader(8). The md(4) manual page mentions it, but it's hard to find and easy to miss.
Sponsored by: The FreeBSD Foundation |
283510 |
25-May-2015 |
ian |
MFC r283033, r283062, r283066, r283069:
Do not set preload_addr_relocate for ARM.
Refactor net_getparams() to make it easier to get params from sources other than bootp and rarp.
Add a routine to obtain netboot parameters from the U-Boot env vars
Enable the NETIF_OPEN_CLOSE_ONCE option for ubldr. |
283505 |
25-May-2015 |
ian |
MFC r277962, r277988, r282661, r282727, r282731, r283013, r283035:
Add support for booting relocatable kernels on PowerPC.
Add code to support loading relocatable kernels at offsets that are not zero.
Move ubldr text section to the start of the output file, so that when you create a stripped .bin file from it the entry point is the first byte of the file. (Will allow "load $addr $file ; go $addr" in u-boot.)
Create a relocatable instance of ubldr for ARM (ubldr.bin).
Re-link ubldr when any of its libraries change.
An ARM kernel can be loaded at any 2MB boundary, make ubldr aware of that. |
281843 |
22-Apr-2015 |
dteske |
MFC revisions 277693,278335,280382-280385,280923-280926,280931, 280933-280939,280974-280976,281002,281009,281081,281176-281180, 281271,281275,281616 (described in-breif below): r277693: Font fix (des) r278335: Revert that r280382: Whitespace, comments, and copyright update r280383: Prevent inadvertent bootlock condition r280384: Increase max passowrd length from 16 to 255 chars r280385: Add missing variable hints to loader.conf(5) defaults r280923: Whitespace r280924: Comments r280925: Optimize bootmsg to use fg/bg/me from screen.4th r280926: Whitespace and cleanup r280931: Comments r280933: Move beastie to logo-*.4th; brands to brand-*.4th r280934: Add remainder of supported ANSI escape sequences r280935: Securely overwrite (zero) user input after password checks r280936: Use equals for ASCII double frames r280937: Solve dreaded "dictionary full" issue r280938: Add "GELI Passphrase:" prompt to boot loader r280939: Revert that (premature commit) r280974: Use fg/b/me from screen.4th instead of literals r280975: Eliminate literal escape sequences from *.4th r280976: Use ^[[m mode-ending versus ^[[37m r281002: Install newly added brand-*.4th and logo-*.4th files (jkim) r281009: Revert .PATH changes to fix mips build (jkim) r281081: Make sure forth manpages are only installed once (bapt) r281176: Back to previous mode-endings based on feedback r281177: Back to previous mode-endings based on feedback r281178: Back to previous mode-endings based on feedback r281179: Back to previous mode-endings based on feedback r281180: Eliminate literal escape sequences from *.rc r281271: Fix a bootlock condition if loader_version is set NB: Commit message of r281271 has a typo, s/_logo/_version/ r281275: Re-do proper mode-endings r281616: Add "GELI Passphrase:" prompt to boot loader
Relnotes: Added "GELI Passphrase:" prompt to boot loader |
278637 |
12-Feb-2015 |
ian |
MFC r276306: Use proper markup for quotes. |
278602 |
11-Feb-2015 |
ian |
MFC r276079, r276087:
Add a divisor parameter to twiddle() so that callers can request that output only happen on every Nth call.
Add a new loader(8) variable, twiddle_divisor, allowing control over the output frequency of the "twiddle" IO progress indicator. |
274942 |
24-Nov-2014 |
grehan |
MFC r274407
Fix incorrect reading of 32-bit modinfo by 64-bit loaders.
The various structures in the mod_metadata set of a FreeBSD kernel and modules contain pointers. The FreeBSD loader correctly deals with a mismatch in loader and kernel pointer size (e.g. 32-bit i386/ppc loader, loading 64-bit amd64/ppc64 kernels), but wasn't dealing with the inverse case where a 64-bit loader was loading a 32-bit kernel. |
273658 |
26-Oct-2014 |
ian |
MFC r271054:
When built with FDT support, add /boot/dtb to the list of search directories. |
273117 |
15-Oct-2014 |
ae |
MFC r272749: Fix comment. |
272933 |
11-Oct-2014 |
ae |
MFC r272487: Add UUID of FreeBSD slice to GPT scheme. |
272696 |
07-Oct-2014 |
avg |
MFC r271609: add gptzfsboot.8, zfsboot.8 and zfsloader.8 manual pages |
270917 |
01-Sep-2014 |
ae |
MFC r270445: The size of the GPT table can not be less than one sector.
MFC r270521: Since the size of GPT entry may differ from the sizeof(struct gpt_ent), use the size from GPT header to iterate entries. |
267399 |
12-Jun-2014 |
jhb |
MFC 261504: Add support for FreeBSD/i386 guests under bhyve. |
265068 |
29-Apr-2014 |
ian |
MFC r262340, r262345, r262347, find and load an appropriate dtb file.
The search order for a usable dtb in fdt_setup_fdtp() is now
- A dtb loaded with an explicit "load -t dtb" command. - A dtb already loaded into memory somehow[*] and pointed to by fdt_to_load. - A dtb in the memory pointed to by the u-boot env vars fdtaddr or fdt_addr. - A file named by the u-boot env vars fdtfile or fdt_file. - A static dtb compiled into the kernel.
* Presumably by some arch-specific command or code. |
263964 |
31-Mar-2014 |
ae |
MFC r263468: When loader(8) inspects MBR, it chooses GPT as main partition table, when MBR contains only PMBR entry or it is bootcamp-compatible. If MBR has PMBR entry and some other, the loader rejects it.
Make these checks to be less strict. If loader decided that PMBR isn't suitable for GPT, it will use MBR.
Reported by: Paul Thornton |
256281 |
10-Oct-2013 |
gjb |
Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
255977 |
01-Oct-2013 |
pluknet |
Sweep man pages replacing ad -> ada.
Approved by: re (blackend) MFC after: 1 week X-MFC note: stable/9 only
|
254092 |
08-Aug-2013 |
ae |
Make the check for number of entries less strict. Some partitioning tools can create GPT with number of entries less than 128.
MFC after: 1 week
|
249719 |
21-Apr-2013 |
ae |
Since we didn't break the loop, we should set i to -1 to start from the beginning.
Submitted by: Steven Hartland MFC after: 1 week
|
249139 |
05-Apr-2013 |
avg |
strncmp for boot code: fix an off by one error
Before this change strncmp would access and _compare_ n+1 characters in the case where the first n characters match.
MFC after: 5 days
|
248121 |
10-Mar-2013 |
ian |
Attach the elf section headers to the loaded kernel as metadata, so they can easily be used by later post-processing. When searching for a compiled-in fdt blob, use the section headers to get the size and location of the .dynsym section to do a symbol search.
This fixes a problem where the search could overshoot the symbol table and wander into the string table. Sometimes that was harmless and sometimes it lead to spurious panic messages about an offset bigger than the module size.
|
248118 |
09-Mar-2013 |
ian |
Since ubldr doesn't necessarily load a kernel at the physical address in the elf headers, mask out the high nibble of that address. This effectly makes the entry point the offset from the load address, and it gets adjusted for the actual load address before jumping to it.
Masking the high nibble makes assumptions about memory layout that are true for all the arm platforms we support right now, but it makes me uneasy. This needs to be revisited.
|
247413 |
27-Feb-2013 |
ian |
Fix a typo that prevented booting a kernel that had virtual addresses in the elf headers.
|
247301 |
26-Feb-2013 |
ian |
Adjust the arm kernel entry point address properly regardless of whether the e_entry field holds a physical or a virtual address. Add a comment block that explains the assumptions being made by the adjustment code.
|
247250 |
25-Feb-2013 |
kientzle |
Fix the bug I introduced in r247045. After digging through more carefully, it looks like there's no real need to have the DTB in the module directory. So we can simplify a lot: Just copy DTB into local heap for "fdt addr" and U-Boot integration, drop all the extra COPYIN() calls.
I've left one final COPYIN() to update the in-kernel DTB for consistency with how this code used to work, but I'm no longer convinced it's appropriate here.
I've also remove the mem_load_raw() utility that I added to boot/common/module.c with r247045 since it's no longer necessary.
|
246953 |
18-Feb-2013 |
kientzle |
Add mem_load_raw() for loading data from another location in memory.
This will be used by some upcoming changes to loader(8) FDT handling to allow it to use an FDT provided by an earlier boot stage the same as an FDT loaded from disk.
|
246630 |
10-Feb-2013 |
ae |
Add bootcamp support to the loader.
Tested by: dchagin MFC after: 1 week
|
245148 |
08-Jan-2013 |
grehan |
Bring in some userboot changes from the bhyve branch to reduce diffs.
r238966 Bump up the heap size to 1MB. With a few kernel modules, libstand zalloc and userboot seem to want to use ~600KB of heap space, which results in a segfault when malloc fails in bhyveload.
r241180 Clarify comment about default number of FICL dictionary cells.
r241153 Allow the number of FICL dictionary cells to be overridden. Loading a 7.3 ISO with userboot/amd64 takes up 10035 cells, overflowing the long-standing default of 10000.
Bump userboot's value up to 15000 cells.
Reviewed by: dteske (r238966,241180) Obtained from: NetApp
|
242688 |
07-Nov-2012 |
dteske |
Hook in new files menusets.4th and manual.
Approved by: adrian (co-mentor) (implicit)
|
242145 |
26-Oct-2012 |
mav |
Fix loader crash when some unhalted exception happens during `include` command execution. In case of such unhandled exception, vmReset() inside ficlExecC() flushes the VM state. Attempt to return back to Forth after that cause garbage dereference with unexpected results. To avoid that situation call vmThrow() directly instead of expecting Forth to do it.
|
242084 |
25-Oct-2012 |
mav |
Remove new-line characters from the include() errors to make it consistent with the rest of code.
|
241876 |
22-Oct-2012 |
ae |
When loader tries to open GPT partition, but partition table is not GPT, then try automatically detect an appropriate partition type.
PR: kern/172550 Tested by: Ralf Wenk
|
241809 |
21-Oct-2012 |
ae |
Add the flags parameter to the disk_open() function and DISK_F_NOCACHE flag, that disables the caching of partition tables metadata. Use this flag for floppies in the libi386/biosdisk driver.
|
241299 |
06-Oct-2012 |
avg |
boot/console: handle consoles that fail to probe
- clarify meaning of console flags - perform i/o via a console only if both of the following conditions are met: o console is active (selected by user or config) o console flags that it can perform the operation - warn if a chosen console can not work (the warning may go nowhere without working and active console, though)
Reviewed by: jhb Tested by: Uffe Jakobsen <uffe@uffe.org>, Olivier Cochard-Labbe' <olivier@cochard.me> MFC after: 26 days
|
241070 |
30-Sep-2012 |
ae |
Fix the style.
|
241069 |
30-Sep-2012 |
ae |
Remember the file format of the last loaded module and try to use it for next files.
|
241065 |
30-Sep-2012 |
ae |
Fix disk_cleanup() to work without DISK_DEBUG too.
|
241053 |
29-Sep-2012 |
ae |
Almost each time when loader opens a file, this leads to calling disk_open(). Very often this is called several times for one file. This leads to reading partition table metadata for each call. To reduce the number of disk I/O we have a simple block cache, but it is very dumb and more than half of I/O operations related to reading metadata, misses this cache.
Introduce new cache layer to resolve this problem. It is independent and doesn't need initialization like bcache, and will work by default for all loaders which use the new DISK API. A successful disk_open() call to each new disk or partition produces new entry in the cache. Even more, when disk was already open, now opening of any nested partitions does not require reading top level partition table. So, if without this cache, partition table metadata was read around 20-50 times during boot, now it reads only once. This affects the booting from GPT and MBR from the UFS.
|
241023 |
28-Sep-2012 |
ae |
Make the loader a bit smarter, when it tries to open disk and the slice number is not exactly specified. When the disk has MBR, also try to read BSD label after ptable_getpart() call. When the disk has GPT, also set d_partition to 255. Mostly, this is how it worked before.
|
240782 |
21-Sep-2012 |
andreast |
Implement elfN(reloc) for powerpc. With this change the kernel is now able to resolve dependencies of modules at boot time and load additional modules when needed.
MFC after: 1 week
|
240481 |
14-Sep-2012 |
kientzle |
The MBR data is not necessarily aligned. This is a problem on ARM.
|
240342 |
11-Sep-2012 |
avg |
boot: file_loadraw should strdup name argument
... the same way it's done for type argument.
MFC after: 2 weeks
|
240249 |
08-Sep-2012 |
andreast |
Fix loading of kernel modules at boot time for powerpc64.
Reported by: Mathias Breuninger MFC after: 1 week
|
239325 |
16-Aug-2012 |
ae |
Add comment why the code has been disabled.
Requested by: rpaulo
|
239294 |
15-Aug-2012 |
ae |
Some BIOSes return incorrect number of sectors, make checks less strictly, to do not lost some partitions.
Reported by: swills@
|
239293 |
15-Aug-2012 |
ae |
Rework r239232 to unbreak ZFS detection on MBR slices.
|
239255 |
14-Aug-2012 |
des |
As discussed on -current, remove the hardcoded default maxswzone.
MFC after: 3 weeks
|
239232 |
13-Aug-2012 |
ae |
Restore the old behaviour. If requested partition is a BSD slice, but d_partition isn't explicitly set, then try to open BSD label and its first partition.
|
239231 |
13-Aug-2012 |
ae |
Remove colons from the debug message, device name returned by the disk_fmtdev() already has the colons.
|
239230 |
13-Aug-2012 |
ae |
Unbreak booting from the true dedicated disks. When we open the disk, check the type of partition table, that has been detected. If this is BSD label, then we assume this is DD mode.
Reported by: dim@
|
239210 |
12-Aug-2012 |
ae |
Add more debug messages.
|
239127 |
07-Aug-2012 |
ae |
As it turned out, there are some installations, where BSD label contains partitions with type zero. And it has worked. So, allow detect these partitions.
Reported by: glebius
|
239088 |
06-Aug-2012 |
ae |
Fix start offset calculation for the EBR partitions.
|
239058 |
05-Aug-2012 |
ae |
Introduce new API to work with disks from the loader's drivers. It uses new API from the part.c to work with partition tables.
Update userboot's disk driver to use new API. Note that struct loader_callbacks_v1 has changed.
|
239054 |
05-Aug-2012 |
ae |
Create the interface to work with various partition tables from the loader(8). The following partition tables are supported: BSD label, GPT, MBR, EBR and VTOC8.
|
237338 |
20-Jun-2012 |
jhb |
Don't return an error if a kld does not contain any modules (e.g. a kld that only contained a sysctl). The kernel linker allows such modules, so the boot loader should not reject them.
MFC after: 2 weeks
|
235988 |
25-May-2012 |
gleb |
Use 32-bit ufs_ino_t instead of ino_t to keep boot2 small and prevent unnecessary 64-bit math on 32-bit machines.
Sponsored by: Google Summer of Code 2011
|
235873 |
24-May-2012 |
wblock |
Fixes to man8 groff mandoc style, usage mistakes, or typos.
PR: 168016 Submitted by: Nobuyuki Koganemaru Approved by: gjb MFC after: 3 days
|
235330 |
12-May-2012 |
avg |
zfs boot: try to set vfs.root.mountfrom from currdev as a fallback
This way with the new zfsloader there is no need to explicitly set zfs root filesystem either via vfs.root.mountfrom or fstab. It should be automatically picked up from currdev which is by default is set from bootfs.
Tested by: Florian Wagner <florian@wagner-flo.net> (x86) MFC after: 1 month
|
235329 |
12-May-2012 |
avg |
zfsboot/zfsloader: support accessing filesystems within a pool
In zfs loader zfs device name format now is "zfs:pool/fs", fully qualified file path is "zfs:pool/fs:/path/to/file" loader allows accessing files from various pools and filesystems as well as changing currdev to a different pool/filesystem.
zfsboot accepts kernel/loader name in a format pool:fs:path/to/file or, as before, pool:path/to/file; in the latter case a default filesystem is used (pool root or bootfs). zfsboot passes guids of the selected pool and dataset to zfsloader to be used as its defaults.
zfs support should be architecture independent and is provided in a separate library, but architectures wishing to use this zfs support still have to provide some glue code and their devdesc should be compatible with zfs_devdesc. arch_zfs_probe method is used to discover all disk devices that may be part of ZFS pool(s).
libi386 unconditionally includes zfs support, but some zfs-specific functions are stubbed out as weak symbols. The strong definitions are provided in libzfsboot. This change mean that the size of i386_devspec becomes larger to match zfs_devspec.
Backward-compatibility shims are provided for recently added sparc64 zfs boot support. Currently that architecture still works the old way and does not support the new features.
TODO: - clear up pool root filesystem vs pool bootfs filesystem distinction - update sparc64 support - set vfs.root.mountfrom based on currdev (for zfs)
Mid-future TODO: - loader sub-menu for selecting alternative boot environment
Distant future TODO: - support accessing snapshots, using a snapshot as readonly root
Reviewed by: marius (sparc64), Gavin Mu <gavin.mu@gmail.com> (sparc64) Tested by: Florian Wagner <florian@wagner-flo.net> (x86), marius (sparc64) No objections: fs@, hackers@ MFC after: 1 month
|
235153 |
09-May-2012 |
avg |
sys/boot: add common CTASSERT definition
|
234789 |
29-Apr-2012 |
marius |
Add multiple inclusion protection.
PR: 165025 Submitted by: Gavin Mu MFC after: 1 week
|
234176 |
12-Apr-2012 |
ae |
Read backup GPT header from the last LBA only when primary GPT header and table aren't valid. If they are ok, use hdr_lba_alt value to read backup header. This will make gptboot happy when GPT used atop of some GEOM provider, e.g. GEOM_MIRROR.
Reviewed by: pjd MFC after: 2 weeks
|
233648 |
29-Mar-2012 |
eadler |
Remove trailing whitespace per mdoc lint warning
Disussed with: gavin No objection from: doc Approved by: joel MFC after: 3 days
|
233517 |
26-Mar-2012 |
marius |
Remove second consts in r233288 in order to appease C++ compilers. While at it, remove some style(9) bugs in libkern.h.
Submitted by: kan
|
233288 |
21-Mar-2012 |
marius |
Declare the CRC lookup-tables const as they hardly should change at run-time.
|
233105 |
18-Mar-2012 |
marius |
Declare some variables static in order to reduce the object size and redo r232822 in a less hackish way. The latter now no longer breaks compiling the x86 boot2 with clang.
MFC after: 1 week
|
232822 |
11-Mar-2012 |
marius |
Fix a bug introduced in r223938; on big-endian machines coping a 32-bit quantum bytewise to the address of a 64-bit variable results in writing to the "wrong" 32-bit half so adjust the address accordingly. This fix is implemented in a hackish way for two reasons: o in order to be able to get it into 8.3 with zero impact on the little- endian architectures where this bug has no effect and o to avoid blowing the x86 boot2 out of the water again when compiling it with clang, which all sane versions of this fix tested do. This change fixes booting from UFS1 file systems on big-endian machines.
MFC after: 3 days
|
229771 |
07-Jan-2012 |
kib |
Document comconsole_port and comconsole_pcidev loader variables.
MFC after: 2 weeks
|
229403 |
03-Jan-2012 |
ed |
Replace index() and rindex() calls with strchr() and strrchr().
The index() and rindex() functions were marked LEGACY in the 2001 revision of POSIX and were subsequently removed from the 2008 revision. The strchr() and strrchr() functions are part of the C standard.
This makes the source code a lot more consistent, as most of these C files also call into other str*() routines. In fact, about a dozen already perform strchr() calls.
|
228916 |
27-Dec-2011 |
pluknet |
Clean up from the 4.x era.
In an example of boot command: - rename wd(4) IDE disk drives name to ad(4) for the time being. - update the used kernel path "/kernel" to the current default. [It still worked occasionally by looking into the /boot/kernel directory, so the resulting path was "/boot//kernel/kernel", with two slashes.]
Bump .Dd for this and previous changes.
MFC after: 1 week
|
227056 |
03-Nov-2011 |
pluknet |
Remove the remnants of /stand/sysinstall.
loader.8: Sync the default init_path list with kern/init_main.c.
NOTES: Replace with /rescue/init in the INIT_PATH kernel option.
|
226569 |
20-Oct-2011 |
pjd |
With LOADER_MBR_SUPPORT defined and LOADER_GPT_SUPPORT undefined we would never call disk_openmbr().
Submitted by: avg MFC after: 3 days
|
226554 |
19-Oct-2011 |
pjd |
Fix missing return when LOADER_GPT_SUPPORT is defined, but LOADER_MBR_SUPPORT is not.
MFC after: 3 days
|
224722 |
08-Aug-2011 |
dim |
Fix buffer overflow in sys/boot/common/util.c's printf(), when printing large (>= 10^10) numbers. In theory, 20 characaters should be enough, but bump the buffer to 32 characters, so we have some room for the future.
Reviewed by: pjd Approved by: re (kib)
|
223938 |
11-Jul-2011 |
marius |
Since r219452 the alignment of __dmadat has changed, revealing that fsread() bogusly casts its contents around causing alignment faults on sparc64 and most likely also on at least powerpc. Fix this by copying the contents bytewise instead as partly already done here. Solving this the right way costs some space, i.e. 148 bytes with GCC and 16 bytes with clang on x86 there are still some bytes left there though, and an acceptable hack which tricks the compiler into only using a 2-byte alignment instead of the native one when accessing the contents turned out to even take up more space that.
|
223712 |
01-Jul-2011 |
marius |
Fix r223695 to compile on architectures which don't use the MBR scheme; wrap the MBR support in the common part of the loader in #ifdef's and enable it only for userboot for now.
|
223695 |
30-Jun-2011 |
dfr |
Add a version of the FreeBSD bootloader which can run in userland, packaged as a shared library. This is intended to be used by BHyVe to load FreeBSD kernels into new virtual machines.
|
223295 |
19-Jun-2011 |
kan |
Minimize backward seeks when trying to load ELF relocatable modules.
Some of loader filesystems are very ill equipped to handle seeking backwards within the file. Namely, tftp requires trasfer to be restarted from the start of the file every time we go backwards.
|
222417 |
28-May-2011 |
julian |
New boot loader menus from Devin Teske. Discussed on hackers and recommended for inclusion into 9.0 at the devsummit. All support email to devin dteske at vicor dot ignoreme dot com .
Submitted by: dteske at vicor dot ignoreme dot com Reviewed by: me and many others
|
221869 |
14-May-2011 |
attilio |
Disconnect sun4v architecture from the three.
Some files keep the SUN4V tags as a code reference, for the future, if any rewamped sun4v support wants to be added again.
Reviewed by: marius Tested by: sbruno Approved by: re
|
221601 |
07-May-2011 |
avg |
a whitespace nit
Reminder from: kib MFC after: 4 days
|
221593 |
07-May-2011 |
avg |
a whitespace nit
MFC after: 4 days
|
220332 |
04-Apr-2011 |
marcel |
Fix a long standing bug where file_load() passes down the global loadaddr to the l_load() method in the file_formats structure, while being passed an address as an argument (dest). With file_load() calling arch_loadaddr() now, this bug is a little bit more significant.
Spotted by: nyan@ (nice catch!)
|
220311 |
03-Apr-2011 |
marcel |
Add 2 new archsw interfaces: 1. arch_loadaddr - used by platform code to adjust the address at which the object gets loaded. Implement PC98 using this new interface instead of using conditional compilation. For ELF objects the ELF header is passed as the data pointer. For raw files it's the filename. Note that ELF objects are first considered as raw files. 2. arch_loadseg - used by platform code to keep track of actual segments, so that (instruction) caches can be flushed or translations can be created. Both the ELF header as well as the program header are passed to allow platform code to treat the kernel proper differently from any additional modules and to have all the relevant details of the loaded segment (e.g. protection).
|
220290 |
03-Apr-2011 |
marcel |
Revert rev 165325. The arch_maphint interface hasn't been in use for more than 4 years.
|
219691 |
16-Mar-2011 |
marcel |
MFaltix: Add support for Pre-Boot Virtual Memory (PBVM) to the loader.
PBVM allows us to link the kernel at a fixed virtual address without having to make any assumptions about the physical memory layout. On the SGI Altix 350 for example, there's no usuable physical memory below 192GB. Also, the PBVM allows us to control better where we're going to physically load the kernel and its modules so that we can make sure we load the kernel in memory that's close to the BSP.
The PBVM is managed by a simple page table. The minimum size of the page table is 4KB (EFI page size) and the maximum is currently set to 1MB. A page in the PBVM is 64KB, as that's the maximum alignment one can specify in a linker script. The bottom line is that PBVM is between 64KB and 8GB in size.
The loader maps the PBVM page table at a fixed virtual address and using a single translations. The PBVM itself is also mapped using a single translation for a maximum of 32MB.
While here, increase the heap in the EFI loader from 512KB to 2MB and set the stage for supporting relocatable modules.
|
219452 |
10-Mar-2011 |
rdivacky |
Some more shrinking.
o bunch of variables are turned into uint8_t
o initial setting of namep[] in lookup() is removed as it's only overwritten a few lines down
o kname is explicitly initialized in main() as BSS in boot2 is not zeroed
o the setting and reading of "fmt" in load() is removed
o buf in printf() is made static to save space
Reviewed by: jhb Tested by: me and Fabian Keil <freebsd-listen fabiankeil de>
|
219083 |
27-Feb-2011 |
pjd |
Rename bcpy() macro to bcopy().
|
218974 |
23-Feb-2011 |
brucec |
Handle memory allocation failures in include().
PR: i386/85652 Submitted by: Ben Thomas <bthomas at virtualiron.com> MFC after: 3 days
|
218716 |
15-Feb-2011 |
dim |
In sys/boot/common/ufsread.c, use uint8_t instead of u_int8_t.
Submitted by: mdf
|
218713 |
15-Feb-2011 |
dim |
Apply a few small optimizations to boot2's code, to make it shrink a little further. This gets us further on the way to be able to build it successfully with clang. Using in-tree gcc, this shrinks boot2.bin with 60 bytes, the in-tree clang shaves off 72 bytes, and ToT clang 84 bytes.
Submitted by: rdivacky Reviewed by: imp
|
217688 |
21-Jan-2011 |
pluknet |
Make MSGBUF_SIZE kernel option a loader tunable kern.msgbufsize.
Submitted by: perryh pluto.rain.com (previous version) Reviewed by: jhb Approved by: kib (mentor) Tested by: universe
|
215811 |
25-Nov-2010 |
emaste |
Give a bit of a hint of the failure (read != expected) but don't make the error message needlessly more verbose.
Discussed with: attilio
|
215758 |
23-Nov-2010 |
attilio |
Make this printfoutput more verbose.
Sponsored by: Sandvine Incorporated Submitted by: Sandvine Incorporated MFC after: 3 days
|
215016 |
08-Nov-2010 |
jhb |
Remove support for autoloading ACPI from the loader. Leave in the code to detect ACPI and export info such as the location of the RSDP via hints as that is still useful.
|
214114 |
20-Oct-2010 |
pjd |
Correct typos.
|
213573 |
08-Oct-2010 |
uqs |
mdoc: drop redundant .Pp and .LP calls
They have no effect when coming in pairs, or before .Bl/.Bd
|
213136 |
24-Sep-2010 |
pjd |
- Split code shared by almost any boot loader into separate files and clean up most layering violations:
sys/boot/i386/common/rbx.h:
RBX_* defines OPT_SET() OPT_CHECK()
sys/boot/common/util.[ch]:
memcpy() memset() memcmp() bcpy() bzero() bcmp() strcmp() strncmp() [new] strcpy() strcat() strchr() strlen() printf()
sys/boot/i386/common/cons.[ch]:
ioctrl putc() xputc() putchar() getc() xgetc() keyhit() [now takes number of seconds as an argument] getstr()
sys/boot/i386/common/drv.[ch]:
struct dsk drvread() drvwrite() [new] drvsize() [new]
sys/boot/common/crc32.[ch] [new]
sys/boot/common/gpt.[ch] [new]
- Teach gptboot and gptzfsboot about new files. I haven't touched the rest, but there is still a lot of code duplication to be removed.
- Implement full GPT support. Currently we just read primary header and partition table and don't care about checksums, etc. After this change we verify checksums of primary header and primary partition table and if there is a problem we fall back to backup header and backup partition table.
- Clean up most messages to use prefix of boot program, so in case of an error we know where the error comes from, eg.:
gptboot: unable to read primary GPT header
- If we can't boot, print boot prompt only once and not every five seconds.
- Honour newly added GPT attributes:
bootme - this is bootable partition bootonce - try to boot from this partition only once bootfailed - we failed to boot from this partition
- Change boot order of gptboot to the following:
1. Try to boot from all the partitions that have both 'bootme' and 'bootonce' attributes one by one. 2. Try to boot from all the partitions that have only 'bootme' attribute one by one. 3. If there are no partitions with 'bootme' attribute, boot from the first UFS partition.
- The 'bootonce' functionality is implemented in the following way:
1. Walk through all the partitions and when 'bootonce' attribute is found without 'bootme' attribute, remove 'bootonce' attribute and set 'bootfailed' attribute. 'bootonce' attribute alone means that we tried to boot from this partition, but boot failed after leaving gptboot and machine was restarted. 2. Find partition with both 'bootme' and 'bootonce' attributes. 3. Remove 'bootme' attribute. 4. Try to execute /boot/loader or /boot/kernel/kernel from that partition. If succeeded we stop here. 5. If execution failed, remove 'bootonce' and set 'bootfailed'. 6. Go to 2.
If whole boot succeeded there is new /etc/rc.d/gptboot script coming that will log all partitions that we failed to boot from (the ones with 'bootfailed' attribute) and will remove this attribute. It will also find partition with 'bootonce' attribute - this is the partition we booted from successfully. The script will log success and remove the attribute.
All the GPT updates we do here goes to both primary and backup GPT if they are valid. We don't touch headers or partition tables when checksum doesn't match.
Reviewed by: arch (Message-ID: <20100917234542.GE1902@garage.freebsd.pl>) Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com MFC after: 2 weeks
|
211817 |
25-Aug-2010 |
nwhitehorn |
Fix build of ppc32 loader.
|
211747 |
24-Aug-2010 |
rpaulo |
Replace structure assignments with explicity memcpy calls. This allows Clang to compile this file: it was using the builtin memcpy and we want to use the memcpy defined in gptboot.c. (Clang can't compile boot2 yet).
Submitted by: Dimitry Andric <dimitry at andric.com> Reviewed by: jhb
|
211678 |
23-Aug-2010 |
imp |
MF tbemd: Minor tweaks, prefer MACHINE_CPUARCH generally to MACHINE_ARCH (which simplifies some powerpc/powerpc64 ifs)
|
210764 |
02-Aug-2010 |
uqs |
mdoc: make sure to pass at least one argument to quotation macros
|
210423 |
23-Jul-2010 |
avg |
completely ignore zero-sized elf sections in modules of elf object type (amd64)
Current code doesn't check size of elf sections and may perform needless actions of zero-sized memory allocation and similar. The bigger issue is that alignment requirement of a zero-sized section gets effectively applied to the next section if it has smaller alignment requirement. But other tools, like gdb and consequently kgdb, completely ignore zero-sized sections and thus may map symbols to addresses differently.
Zero-sized sections are not typical in general. Their typical (only, even) cause in FreeBSD modules is inline assembly that creates custom sections which is found in pcpu.h and vnet.h. Mere inclusion of one of those header files produces a custom section in elf output. If there is no actual use for the section in a given module, then the section remains empty.
Better solution is to avoid creating zero-sized sections altogether, which is in plans.
Preloaded modules are handled in boot code (load_elf_obj.c), while dynamically loaded modules are handled by kernel (link_elf_obj.c).
Based on code by: np MFC after: 3 weeks
|
209920 |
12-Jul-2010 |
nwhitehorn |
Provide support in loader for booting 64-bit PowerPC kernels. Like amd64, 64-bit PowerPC kernels are loaded by a 32-bit loader, since nearly all powerpc64 firmwares execute in 32-bit mode.
|
207854 |
10-May-2010 |
imp |
Formatting nit
|
201941 |
09-Jan-2010 |
marcel |
Remove file system support based on the simple file system protocol as this only allows us to access file systems that EFI knows about. With a loader that can only use EFI-supported file systems, we're forced to put /boot on the EFI system partition. This is suboptimal in the following ways: 1. With /boot a symlink to /efi/boot, mergemaster complains about the mismatch and there's no quick solution. 2. The EFI loader can only boot a single version of FreeBSD. There's no way to install multiple versions of FreeBSD and select one at the loader prompt. 3. ZFS maintains /boot/zfs/zpool.cache and with /boot a symlink we end up with the file on a MSDOS file system. ZFS does not have proper handling of file systems that are under Giant.
Implement a disk device based on the block I/O protocol instead and pull in file system code from libstand. The disk devices are really the partitions that EFI knows about.
This change is backward compatible.
MFC after: 1 week
|
201932 |
09-Jan-2010 |
marius |
- Add code allowing a network device to only be open and closed once by keeping it opened after the first open and closing it via the cleanup handler when NETIF_OPEN_CLOSE_ONCE is defined in order to avoid the open-close-dance on every file access which with firmware that for example performs an auto-negotiation on every open causes netbooting to take horribly long. Basically the behavior with this knob enabled resembles the one employed between r60506 and r177108 (and for sparc64 also again since r182919) with the addition that the network device now is closed eventually before entering the kernel and before rebooting. Actually I think this should be the desired MI behavior, however the U-Boot loader actually requires net_close() to be called after every transaction in order for some local shutdown operations to be performed (and which I think thus will break on concurrent opens, i.e. when netdev_opens is > 1, like the loader does at least for disks when LOADER_GZIP_SUPPORT is enabled). - Use NETIF_OPEN_CLOSE_ONCE to replace the hack, which artificially increased netdev_opens for sparc64 in order to keep the network device opened forever, as at least some firmware versions require the network device to be closed eventually before entering the kernel or otherwise will DMA received packets to stale memory. The powerpc OFW loader probably wants NETIF_OPEN_CLOSE_ONCE to be set as well for the same reasons.
|
201901 |
09-Jan-2010 |
marius |
Remove clause 3 and 4 from TNF licenses (this was the only 4-clause TNF license FreeBSD had in sys/boot).
Obtained from: NetBSD
|
201340 |
31-Dec-2009 |
nyan |
Don't use 15M-16M area on pc98. It's reserved for some devices.
MFC after: 2 week
|
200945 |
24-Dec-2009 |
marius |
- Consistently wrap debugging in NETIF_DEBUG. This basically merges NetBSD rev 1.19. - Make the functions match their prototypes regarding static.
|
200460 |
13-Dec-2009 |
marcel |
Add support for memory disk (md). The size of the memory disk is determined by MD_IMAGE_SIZE. A file system can be embedded into the loader with /sys/tools/embed_mfs.sh. Note that md.c is not included when MD_IMAGE_SIZE is not set.
|
199210 |
12-Nov-2009 |
attilio |
Introduce a new option (BOOT_PROMPT_123) that lets enter the boot prompt only when typing the sequence "123" (opposite to the standard 'push any button' approach). That results useful when using serial lines sending garbage and leading to unwilling boot prompt appearence.
Obtained from: Sandvine Incorporated Reviewed by: emaste, jhb Sponsored by: Sandvine Incorporated MFC: 1 week
|
198537 |
28-Oct-2009 |
brueffer |
Close a file descriptor leak in an error case.
PR: 138374 Submitted by: Patroklos Argyroudis <argp@census-labs.com> MFC after: 1 week
|
193192 |
01-Jun-2009 |
rodrigc |
sys/boot/common.c ================= Extend the loader to parse the root file system mount options in /etc/fstab, and set a new loader variable vfs.root.mountfrom.options with these options. The root mount options must be a comma-delimited string, as specified in /etc/fstab. Only set the vfs.root.mountfrom.options variable if it has not been set in the environment.
sys/kern/vfs_mount.c ==================== When mounting the root file system, pass the mount options specified in vfs.root.mountfrom.options, but filter out "rw" and "noro", since the initial mount of the root file system must be done as "ro". While we are here, try to add a few hints to the mountroot prompt to give users and idea what might of gone wrong during mounting of the root file system.
Reviewed by: jhb (an earlier patch)
|
192972 |
28-May-2009 |
dfr |
Some of the boot loader code only works on a ufs file system, but it uses the generic struct dirent, which happens to look identical to UFS's struct direct. If BSD ever changes dirent then this will be a problem.
Submitted by: matthew dot fleming at isilon dot com
|
188666 |
16-Feb-2009 |
thompsa |
Add a helper function for loading geli keys from the loader.
|
187197 |
13-Jan-2009 |
luigi |
remove a file which is, as far as I can tell, totally unused.
|
185692 |
06-Dec-2008 |
danger |
- correct variable name
PR: docs/129448 Submitted by: Kenyon Ralph <kralph@gmail.com> MFC after: Revision 1.91 is merged
|
185132 |
20-Nov-2008 |
luigi |
As reported in kern/118222, pxeboot in RELENG7 (and presumably above) exhibits some misbehaviours on machines with AMD64 CPUs, which at least in some cases I have tracked down to a heap overflow.
It is unclear whether it depends on the CPU or on the pxe bios itself which may use more memory on AMD machines.
Noticeably a pxeboot compiled from 6.x sources works fine on all machines I have tried so far, while a pxeboot compiled from 7.x sources does not.
This patch is a first step in reducing the amount of memory used while processing the configuration files read by the loader at boot (some of them are quite large, 1700+ lines), and it does so by: + moving a buffer to static memory instead of allocating in the heap; + skipping empty lines; + reducing the amount of memory used for line descriptors;
Unfortunately there are several changes between 6.x and above, affecting the compiler, the loader code itself, and libstand, and it is not so straightforward to These changes fix the behaviour on one motherboard with a single-core AMD cpu, but are still not enough e.g on an Asus M2N-VM (with a dual-core CPU).
I need to investigate the problem a bit more before figuring out what should be committed to RELENG_7
PR: kern/118222
|
185029 |
17-Nov-2008 |
pjd |
Update ZFS from version 6 to 13 and bring some FreeBSD-specific changes.
This bring huge amount of changes, I'll enumerate only user-visible changes:
- Delegated Administration
Allows regular users to perform ZFS operations, like file system creation, snapshot creation, etc.
- L2ARC
Level 2 cache for ZFS - allows to use additional disks for cache. Huge performance improvements mostly for random read of mostly static content.
- slog
Allow to use additional disks for ZFS Intent Log to speed up operations like fsync(2).
- vfs.zfs.super_owner
Allows regular users to perform privileged operations on files stored on ZFS file systems owned by him. Very careful with this one.
- chflags(2)
Not all the flags are supported. This still needs work.
- ZFSBoot
Support to boot off of ZFS pool. Not finished, AFAIK.
Submitted by: dfr
- Snapshot properties
- New failure modes
Before if write requested failed, system paniced. Now one can select from one of three failure modes: - panic - panic on write error - wait - wait for disk to reappear - continue - serve read requests if possible, block write requests
- Refquota, refreservation properties
Just quota and reservation properties, but don't count space consumed by children file systems, clones and snapshots.
- Sparse volumes
ZVOLs that don't reserve space in the pool.
- External attributes
Compatible with extattr(2).
- NFSv4-ACLs
Not sure about the status, might not be complete yet.
Submitted by: trasz
- Creation-time properties
- Regression tests for zpool(8) command.
Obtained from: OpenSolaris
|
183878 |
14-Oct-2008 |
raj |
Initial support of loader(8) for ARM machines running U-Boot.
This uses the common U-Boot support lib (sys/boot/uboot, already used on FreeBSD/powerpc), and assumes the underlying firmware has the modern API for stand-alone apps enabled in the config (CONFIG_API).
Only netbooting is supported at the moment.
Obtained from: Marvell, Semihalf
|
182919 |
10-Sep-2008 |
marius |
Revert r177108 and restore r60506 for sparc64 as long as libstand isn't fixed to only open the network device once and not do a open and close dance on every file access; the firmwares of newer sparc64 machines perform an auto-negotiation with every open which in turn causes netbooting to take horribly long if we open and close the device over and over again.
|
182731 |
03-Sep-2008 |
raj |
Show info about net devices in loader's 'lsdev' command. While there fix style.
|
181278 |
04-Aug-2008 |
cperciva |
Setting a variable to the same value twice doesn't actually make it more likely to have the right value. Remove superfluous assignments.
Found by: LLVM/Clang Static Checker
|
180208 |
03-Jul-2008 |
peter |
Set magic fbsd:nokeywords property that allows files to bypass keyword expansion. (file-specific replacement for CVSROOT/exclude)
|
179634 |
07-Jun-2008 |
kib |
Fix the incorrect calculation of a block address within a single indirect block.
PR: 108215 Submitted by: Yuichiro Goto, y7goto gmail com MFC after: 2 weeks
|
177108 |
12-Mar-2008 |
raj |
Eliminate artificial increasing of 'netdev_opens' counter in loader's net_open().
This was introduced as a workaround long time ago for some Alpha firmware (which is now gone), and actually prevented net_close() to ever be called.
Certain firmwares (U-Boot) need local shutdown operations to be performed on a network controller upon transaction end: such platform-specific hooks are supposed to be called via netif_close() (from within net_close()).
This change effectively reverts the following CVS commit:
sys/boot/common/dev_net.c
revision 1.7 date: 2000/05/13 15:40:46; author: dfr; state: Exp; lines: +2 -1 Only probe network settings on the first open of the network device. The alpha firmware takes a seriously long time to open the network device the first time.
Also suppress excessive output while netbooting via loader, unless debugging.
While there, make sys/boot/uboot more style(9) compliant.
Reviewed by: imp Approved by: cognet (mentor)
|
176484 |
23-Feb-2008 |
marcel |
Add __elfN(relocation_offset). It holds the offset between the virtual (link) address and the physical (load) address. Ideally, the mapping between link and load addresses should be abstracted by the copyin(), copyout() and readin() functions, so that we don't have to add kluges in __elfN(loadimage)(). Then, we could also have paged virtual memory for the kernel. This can be important under EFI, where you need to allocate physical memory form the firmware if you want to work in all scenarios.
|
173440 |
08-Nov-2007 |
ru |
Document the per-arch default value of kern.maxbcache.
|
173040 |
26-Oct-2007 |
jhb |
Use the smaller cgbase() macro in ufsread.c if UFS_SMALL_CGBASE is defined. This lets each boot program choose which version of cgbase() it wants to use rather than forcing ufsread.c to have that knowledge.
MFC after: 1 week Discussed with: imp
|
173024 |
26-Oct-2007 |
imp |
The arm boot code uses this function as well. Redefining cgbase() saves about 500 bytes in the boot code. While the AT91RM9200 has 12k of space for the boot loader, which is more than i386's 8k, the code generated by gcc is a bit bigger.
I've had this in p4 for about two years now.
|
172940 |
24-Oct-2007 |
jhb |
First cut at support for booting a GPT labeled disk via the BIOS bootstrap on i386 and amd64 machines. The overall process is that /boot/pmbr lives in the PMBR (similar to /boot/mbr for MBR disks) and is responsible for locating and loading /boot/gptboot. /boot/gptboot is similar to /boot/boot except that it groks GPT rather than MBR + bsdlabel. Unlike /boot/boot, /boot/gptboot lives in its own dedicated GPT partition with a new "FreeBSD boot" type. This partition does not have a fixed size in that /boot/pmbr will load the entire partition into the lower 640k. However, it is limited in that it can only be 545k. That's still a lot better than the current 7.5k limit for boot2 on MBR. gptboot mostly acts just like boot2 in that it reads /boot.config and loads up /boot/loader. Some more details: - Include uuid_equal() and uuid_is_nil() in libstand. - Add a new 'boot' command to gpt(8) which makes a GPT disk bootable using /boot/pmbr and /boot/gptboot. Note that the disk must have some free space for the boot partition. - This required exposing the backend of the 'add' function as a gpt_add_part() function to the rest of gpt(8). 'boot' uses this to create a boot partition if needed. - Don't cripple cgbase() in the UFS boot code for /boot/gptboot so that it can handle a filesystem > 1.5 TB. - /boot/gptboot has a simple loader (gptldr) that doesn't do any I/O unlike boot1 since /boot/pmbr loads all of gptboot up front. The C portion of gptboot (gptboot.c) has been repocopied from boot2.c. The primary changes are to parse the GPT to find a root filesystem and to use 64-bit disk addresses. Currently gptboot assumes that the first UFS partition on the disk is the / filesystem, but this algorithm will likely be improved in the future. - Teach the biosdisk driver in /boot/loader to understand GPT tables. GPT partitions are identified as 'disk0pX:' (e.g. disk0p2:) which is similar to the /dev names the kernel uses (e.g. /dev/ad0p2). - Add a new "freebsd-boot" alias to g_part() for the new boot UUID.
MFC after: 1 month Discussed with: marcel (some things might still change, but am committing what I have so far)
|
172445 |
04-Oct-2007 |
obrien |
Also boot *.debug if everything else fails.
Approved by: re(gnn)
|
169399 |
09-May-2007 |
sepotvin |
Add documentation for the vm.kmem_size_min and vm.kmem_size_max tunables.
Approved by: njl (mentor, blanket)
|
169286 |
05-May-2007 |
jmg |
fixup talk of kern.maxswzone... It's been 32MB for almost 5 years now... and only supports just over 7GB of swap...
Sound a bit more professional..
Inspired by: Marc G. Fournier MFC After: 3 days
|
166486 |
04-Feb-2007 |
imp |
Document the init_chroot and init_script variables.
# I didn't check the markup too closely, so doc people, please check
Submitted by: Oliver Fromme
|
165876 |
07-Jan-2007 |
marius |
Garbage collect the code for auto-loading modules based on ISAPNP IDs, which is #if'ed out since nearly eight years, along with its outdated database.
Agreed by: ru (some months ago)
|
165325 |
18-Dec-2006 |
kmacy |
add an interface for passing the entire kernel size up front to the loader so that it can memory can be allocated aligned at the beginning of the desired large page
|
164739 |
29-Nov-2006 |
yar |
Note that not all architectures use sendfile(2) buffers; refer to the respective manpage for details.
MFC after: 3 days
|
163917 |
02-Nov-2006 |
ru |
Unbreak compile with ELF_VERBOSE defined, and fix format warnings.
|
163914 |
02-Nov-2006 |
ru |
Revert the last change. Masking only 2 MSBs of the virtual address to get the physical address doesn't work for all values of KVA_PAGES, while masking 8 MSBs works for all values of KVA_PAGES that are multiple of 4 for non-PAE and 8 for PAE. (This leaves us limited with 12MB for non-PAE kernels and 14MB for PAE kernels.)
To get things right, we'd need to subtract the KERNBASE from the virtual address (but KERNBASE is not easy to figure out from here), or have physical addresses set properly in the ELF headers.
Discussed with: jhb
|
163897 |
02-Nov-2006 |
marcel |
Extend struct devdesc with a unit field, called d_unit. Promote the device (kind) specific unit field to the common field. This change allows a future version of libefi to work without requiring anything more than what is defined in struct devdesc and as such makes it possible to compile said version of libefi for different platforms without requiring that those platforms have identical derivatives of struct devdesc.
|
163893 |
02-Nov-2006 |
marcel |
Don't unconditionally compile-in the bcache code. It's only used on i386/amd64 and pc98. Remove useless calls to bcache_init() from the ia64 and sparc64 loaders, as well as from the OFW common code.
|
163891 |
02-Nov-2006 |
marcel |
o Make sure to clear f->f_devdata if d_dev->dv_open() fails. It would otherwise cause devclose() to free() the memory again. o Refactor devopen() so that it's more readable.
|
163765 |
29-Oct-2006 |
ru |
Because the BTX mini-kernel now uses flat memory mode and clients are no longer limited to a virtual address space of 16 megabytes, only mask high two bits of a virtual address. This allows to load larger kernels (up to 1 gigabyte). Not masking addresses at all was a bad idea on machines with less than >3G of memory -- kernels are linked at 0xc0xxxxxx, and that would attempt to load a kernel at above 3G. By masking only two highest bits we stay within the safe limits while still allowing to boot larger kernels.
(This is a safer reimplmentation of sys/boot/i386/boot2/boot.2.c rev. 1.71.)
Prodded by: jhb Tested by: nyan (pc98)
|
163327 |
13-Oct-2006 |
ru |
Replace a rarely used "depuration" with "debugging".
PR: docs/85127 Submitted by: Gary W. Swearingen (partially) MFC after: 3 days
|
162815 |
29-Sep-2006 |
ru |
Fix WARNS=2 warnings.
|
162742 |
28-Sep-2006 |
jhb |
Ignore a sub-topic match if it is inside the command description. Otherwise, merge-help can get confused by a command description that includes a word that starts with a capital S.
MFC after: 1 week
|
161471 |
20-Aug-2006 |
ru |
Make the default "init_path" value breakable, so it fits on the screen's width, thus eliminating a groff(1) warning.
Suggested by: marck
|
161431 |
18-Aug-2006 |
marck |
kern.ipc.nmbclusters is sysctl, not compile-time option. Change Dv to Va.
Touch .Dd.
Pointed out by: ru MFC after: 1 week
|
161429 |
18-Aug-2006 |
marck |
Remove references to NMBCLUSTERS which is obsoleted.
PR: 100427 Approved by: maxim MFC after: 1 week
|
158467 |
12-May-2006 |
jhb |
Remove more Alpha bits from the boot code including fixing several stale comments.
|
154257 |
12-Jan-2006 |
marius |
In moduledir_readhints() cast the value returned by sizeof() to ssize_t when checking whether it's greater than a struct stat st_size in order to also catch the case when st_size is -1. Previously this check didn't trigger on sparc64 when st_size is -1 (as it's the case for a file on a bzipfs, TFTP server etc.), causing the content of the linker hints file to be copied to memory referenced by a null-pointer.
PR: 91231 MFC after: 1 week
|
153504 |
18-Dec-2005 |
marcel |
Make our ELF64 type definitions match standards. In particular this means: o Remove Elf64_Quarter, o Redefine Elf64_Half to be 16-bit, o Redefine Elf64_Word to be 32-bit, o Add Elf64_Xword and Elf64_Sxword for 64-bit entities, o Use Elf_Size in MI code to abstract the difference between Elf32_Word and Elf64_Word. o Add Elf_Ssize as the signed counterpart of Elf_Size.
MFC after: 2 weeks
|
150469 |
22-Sep-2005 |
ru |
Add loader(8) variables for RB_DFLTROOT, RB_MUTE, and RB_PAUSE: "boot_dfltroot", "boot_mute", and "boot_pause" respectively.
|
149213 |
18-Aug-2005 |
iedowse |
Add a "comconsole_speed" loader variable that can be used to change the serial console speed (i386 and amd64 only). If the previous stage boot loader requested a serial console (RB_SERIAL or RB_MULTIPLE) then the default speed is determined from the current serial port speed. Otherwise it is set to 9600 or the value of BOOT_COMCONSOLE_SPEED at compile time.
This makes it possible to set the serial port speed once in /boot.config and the setting will propagate to boot2, loader and the kernel serial console.
|
148516 |
29-Jul-2005 |
brian |
Fix a comparison that broke ``set console=vidconsole'' and even the loader.conf line ``console="vidconsole"''.
Sponsored by: ActiveState/Sophos MFC after: 1 week
|
148398 |
25-Jul-2005 |
jmg |
remove a pointless comment with a more helpful one...
Submitted by: Tobias Roth MFC after: 5 days
|
147366 |
14-Jun-2005 |
ru |
Improved markup, fixes some spelling and grammar.
Approved by: re (blanket)
|
146804 |
30-May-2005 |
ru |
Markup nits.
|
146698 |
27-May-2005 |
jhb |
- Add support to the loader for multiple consoles. - Teach the i386 and pc98 loaders to honor multiple console requests from their respective boot2 binaries so that the same console(s) are used in both boot2 and the loader. - Since the kernel doesn't support multiple consoles, whichever console is listed first is treated as the "primary" console and is passed to the kernel in the boot_howto flags.
PR: kern/66425 Submitted by: Gavin Atkinson gavin at ury dot york dot ac dot uk MFC after: 1 week
|
146421 |
19-May-2005 |
sobomax |
Extend `autoboot_delay' handling - is this variable is set to -1 don't allow user to interrupt autoboot process at all. Currently, even when `autoboot_delay' is set to 0, loader(8) still allows autoboot process to be interrupted by pressing any key on the console when the loader reads kernel and modules from the disk. In some cases (i.e. untrusted environment) such behaviour is highly indesirable and user should not be allowed to interfere with the autoboot process at all.
Sponsored by: PBXpress Inc. MFC after: 3 days
|
146365 |
19-May-2005 |
sobomax |
Whitespace only: kill trailing spaces.
|
142012 |
17-Feb-2005 |
des |
Document the new default init_path.
Reminded by: ru MFC after: 2 weeks
|
141060 |
30-Jan-2005 |
rwatson |
Insert an explicit McAfee license, as we use a stock two-clause BSD license rather than the slightly custom licence in ufsread.c.
|
138249 |
01-Dec-2004 |
scottl |
Remove the last vestiges of the userconfig option. None of this actually did anything, so this commit should be considered a NO-OP.
|
137667 |
13-Nov-2004 |
ru |
There's no reason for "read" and "echo" commands to not appear in the online command list.
|
137615 |
12-Nov-2004 |
ru |
Pass the "?" command output through the pager.
(This doesn't quite work as this command is overridden by Forth, and some Forth commands are appended to the output.)
|
136895 |
24-Oct-2004 |
ru |
Collapse several adjacent .if's into .if/.elif.
|
136893 |
24-Oct-2004 |
nyan |
ELF64 support is not needed on pc98.
|
136549 |
15-Oct-2004 |
imp |
document host_start_mem.
# feel free to wordsmith.
Suggested by: ru@
|
136548 |
15-Oct-2004 |
ru |
Polish the last change.
|
136525 |
15-Oct-2004 |
imp |
Document hw.{pci,acpi}.host_start_mem
Requested by: ru@
|
136144 |
05-Oct-2004 |
pjd |
Back out changes which were introduced to delay mounting root file system. Those changes were made on gmirror needs, but now gmirror handles this by itself.
|
136097 |
03-Oct-2004 |
stefanf |
Use the correct printf specifier.
PR: 47187
|
135999 |
01-Oct-2004 |
ru |
The "autoboot" command also has a third (optional) parameter.
|
135996 |
30-Sep-2004 |
ru |
Don't give instructions on how to disable ACPI in the MI section. For novice users, beastie.4th can just do it. Expert users can read ACPI instructions by typing "help ACPI".
|
135980 |
30-Sep-2004 |
ru |
Retire now useless userconfig_script_*.
|
135975 |
30-Sep-2004 |
ru |
The value of $interpret is "OK", in uppercase.
|
135974 |
30-Sep-2004 |
ru |
Fixed the default value of the $prompt variable, document what happens if $prompt is unset.
|
135973 |
30-Sep-2004 |
ru |
Setting dump device from loader(8) has not been supported since 2002.
|
135970 |
30-Sep-2004 |
ru |
The default value of "bootfile" has been "kernel" since 2000.
|
135969 |
30-Sep-2004 |
ru |
Mention "help index" in the online help, and provide a help for the `?' command.
|
135967 |
30-Sep-2004 |
ru |
Document boot_cdrom, boot_multicons, and boot_serial. Reduce diffs between help.common and loader(8). Mention that boot_userconfig is currently a no-op.
|
135965 |
30-Sep-2004 |
ru |
`?' is not the same as "help index".
|
135929 |
29-Sep-2004 |
ru |
Fixed exiting from pager using the `q' key while paging "help index" or "help <topic>" with list of subtopics.
|
135729 |
24-Sep-2004 |
pjd |
Document vfs.root.mountdelay value.
Reminded by: ru
|
134459 |
29-Aug-2004 |
iedowse |
Add the loader side of support for preloading ELF relocatable object format modules, which are currently only used on the amd64 platform. This initial implementation just parses enough of the module to allow it to extract dependencies and load all the bits into the right place in memory, so the kernel must still do the full relocation and linking. The details of the loaded sections are passed to the kernel by supplying a copy of the ELF section header table as module metadata with the MODINFOMD_SHDR tag.
|
134458 |
28-Aug-2004 |
iedowse |
Separate out the ELF relocation code from the ELF loader, and add better relocation support for the amd64 and i386 platforms. This should not result in any change in functionality, but moves a step towards supporting the relocatable object file modules on amd64.
The same hack/trick as load_elf*.c uses is used here to simultaneously support both elf32 and elf64 on amd64 and i386.
|
134441 |
28-Aug-2004 |
iedowse |
Add a few helper functions for zeroing kernel space and reading from specified file offsets. Make use of these in load_elf.c.
|
134151 |
22-Aug-2004 |
maxim |
Trim EOL white spaces.
|
134150 |
22-Aug-2004 |
maxim |
Check a return code from read(2) correctly.
PR: kern/70815 Submitted by: info [at] haakh.de
|
133948 |
18-Aug-2004 |
maxim |
Bump the manpage date.
Noticed by: ru
|
133947 |
18-Aug-2004 |
maxim |
Retire hw.pci.allow_unsupported_io_range.
PR: bin/70533 Submitted by: Gavin Atkinson
|
133217 |
06-Aug-2004 |
jmg |
remove /boot/kernel from the default path.. There is already code that will prepend the current kernel booting... This prevents a problem of loading /boot/kernel's modules when a different kernel has no modules, but you left your module_load="YES" in loader.conf...
Reviewed by: dcs (minus the help part)
|
132854 |
29-Jul-2004 |
ceri |
Correct a documentation bug.
Approved by: jhb
|
131840 |
08-Jul-2004 |
brian |
Change the following environment variables to kernel options:
bootp -> BOOTP bootp.nfsroot -> BOOTP_NFSROOT bootp.nfsv3 -> BOOTP_NFSV3 bootp.compat -> BOOTP_COMPAT bootp.wired_to -> BOOTP_WIRED_TO
- i.e. back out the previous commit. It's already possible to pxeboot(8) with a GENERIC kernel.
Pointed out by: dwmalone
|
131814 |
08-Jul-2004 |
brian |
Change the following kernel options to environment variables:
BOOTP -> bootp BOOTP_NFSROOT -> bootp.nfsroot BOOTP_NFSV3 -> bootp.nfsv3 BOOTP_COMPAT -> bootp.compat BOOTP_WIRED_TO -> bootp.wired_to
This lets you PXE boot with a GENERIC kernel by putting this sort of thing in loader.conf:
bootp="YES" bootp.nfsroot="YES" bootp.nfsv3="YES" bootp.wired_to="bge1"
or even setting the variables manually from the OK prompt.
|
131754 |
07-Jul-2004 |
ru |
mdoc(7) fixes.
|
131575 |
04-Jul-2004 |
stefanf |
Consistently use __inline instead of __inline__ as the former is an empty macro in <sys/cdefs.h> for compilers without support for inline.
|
131489 |
02-Jul-2004 |
ru |
Fixed what appeared to be a hard sentence break.
|
131393 |
01-Jul-2004 |
ps |
When building a kernel or the loader, let the hostname be overridden
|
129310 |
16-May-2004 |
ru |
Markup fixes.
|
128019 |
07-Apr-2004 |
imp |
Remove advertising clause from University of California Regent's license, per letter dated July 22, 1999 and email from Peter Wemm, Alan Cox and Robert Watson.
Approved by: core, peter, alc, rwatson
|
127789 |
03-Apr-2004 |
le |
mdoc fix: put the end-of-list macro after the last list element.
Approved by: grog (mentor)
|
126837 |
11-Mar-2004 |
bde |
Fixed a misspelling of 0 as NULL.
|
125561 |
07-Feb-2004 |
ru |
Style: use the defined() expression explicitly.
|
125091 |
27-Jan-2004 |
des |
Rename the kern.vm.kmem.size tunable to the more logical vm.kmem_size. To assure backward compatibility (conditional on !BURN_BRIDGES), look it up by its old name first, and log a warning (but accept the setting) if it was found. If both the old and new name are defined, the new name takes precedence.
Also export vm.kmem_size as a read-only sysctl variable; I find it hard to tune a parameter when I don't know its default value, especially when that default value is computed at boot time.
|
121973 |
03-Nov-2003 |
iedowse |
Override the root server address if an IP address is specified in the root path. This is reported to make non-PXE netbooting, such as is used on sparc64 systems, work correctly when the TFTP server is not the same as the root server.
PR: kern/57328 Submitted by: Per Kristian Hove <Per.Hove@math.ntnu.no>
|
119483 |
25-Aug-2003 |
obrien |
Use __FBSDID(). Also some minor style cleanups.
|
117044 |
29-Jun-2003 |
brueffer |
Capitalize an occurrence of 'ficl' for consistency.
Submitted by: Andre Guibert de Bruet <andy@siliconlandmark.com> MFC after: 3 days
|
116864 |
26-Jun-2003 |
peter |
Build on amd64. Yes, I know this isn't particularly nice.
|
115113 |
17-May-2003 |
ru |
Fixed the markup and wording of the kern.ipc.nsfbufs tunable. (It does not modify NSFBUFS, but just overrides it if set.)
Approved by: re (blanket)
|
114937 |
12-May-2003 |
peter |
Fix lookup of module metadata on amd64 systems. While this is in common code, the non-trivial part is #ifdef'ed and only executes when loading amd64 kernels. The rest is trivial but needed for the the amd64 case. (Two variables changed from char ** to Elf_Addr).
Approved by: re (amd64 "low-risk" stuff)
|
114707 |
05-May-2003 |
obrien |
Since we insist on loading the POS ACPI by default, give the poor user instructions on the main help screen for disabling it.
|
114654 |
04-May-2003 |
murray |
Fix a bunch of typos and grammatical errors.
PR: docs/40234 Submitted by: Chris Pepper <pepper@rockefeller.edu> (mostly) MFC After: 3 days
|
114379 |
01-May-2003 |
peter |
Enable the i386 loader to load and run an amd64 kernel. If this puts things over floppy size limits, I can exclude it for release builds or something like that. Most of the changes are to get the load_elf.c file into a seperate elf32_ or elf64_ namespace so that you can have two ELF loaders present at once. Note that for 64 bit kernels, it actually starts up the kernel already in 64 bit mode with paging enabled. This is really easy because we have a known minimum feature set.
Of note is that for amd64, we have to pass in the bios int 15 0xe821 memory map because once in long mode, you absolutely cannot make VM86 calls. amd64 does not use 'struct bootinfo' at all. It is a pure loader metadata startup, just like sparc64 and powerpc. Much of the infrastructure to support this was adapted from sparc64.
|
113161 |
06-Apr-2003 |
peter |
Zap some a.out leftovers
|
113083 |
04-Apr-2003 |
phk |
Libdisk does not need to include <sys/diskslice.h> any more.
Move the remaining bits of <sys/diskslice.h> to <i386/include/bootinfo.h>
Move i386/pc98 specific bits from <sys/reboot.h> to <i386/include/bootinfo.h> as well.
Adjust includes in sys/boot accordingly.
|
111957 |
07-Mar-2003 |
trhodes |
Fix a few spelling errors.
Submitted by: Stefan Farfeleder <stefan@fafoe.dyndns.org> via -doc.
|
111890 |
04-Mar-2003 |
seanc |
Document the tunable kern.ipc.nsfbufs in help.common and loader.8. Small nearby grammar fixup that saves a line of display while in the loader (help set tunables), but reuses the line for kern.ipc.nsfbufs.
Approved by: roam
|
111852 |
03-Mar-2003 |
ru |
FreeBSD 5.0 has stopped shipping /modules 2.5 years ago. Catch up with this further by excluding /modules from the (default) kern.module_path.
|
111456 |
25-Feb-2003 |
obrien |
Only apply rev 1.10 (which hacks around the i386 boot2 being too big for both ufs1 and ufs2 support) on i386.
|
111410 |
24-Feb-2003 |
mckusick |
Revert to old (broken for over 1.5Tb filesystems) version of cgbase so that boot loader once again will fit.
Sponsored by: DARPA & NAI Labs.
|
110554 |
08-Feb-2003 |
trhodes |
s/hw.pci_allow_unsupported_io_range/hw.pci.allow_unsupported_io_range/
The former was incorrect and gave an `unknown oid' error.
|
109616 |
21-Jan-2003 |
jake |
Fix module dependency (pre)loading on sparc64 by relocating the variables read from the raw kld files.
Submitted by: Hartmut Brandt <brandt@fokus.gmd.de> PR: 46870 Tested on: alpha (obrien), i386, sparc64
|
109281 |
15-Jan-2003 |
mdodd |
Minimally document hw.syscons.sc_no_suspend_vtswitch.
Requested by: Nate Lawson <nate@root.org>
|
107877 |
14-Dec-2002 |
phk |
Restructure so we can compile UFS1_ONLY, UFS2_ONLY or UFS1_AND_UFS2 versions from the same basic function.
|
107788 |
12-Dec-2002 |
ru |
Uniformly refer to a file system as "file system".
Approved by: re
|
107294 |
27-Nov-2002 |
mckusick |
Create a new 32-bit fs_flags word in the superblock. Add code to move the old 8-bit fs_old_flags to the new location the first time that the filesystem is mounted by a new kernel. One of the unused flags in fs_old_flags is used to indicate that the flags have been moved. Leave the fs_old_flags word intact so that it will work properly if used on an old kernel.
Change the fs_sblockloc superblock location field to be in units of bytes instead of in units of filesystem fragments. The old units did not work properly when the fragment size exceeeded the superblock size (8192). Update old fs_sblockloc values at the same time that the flags are moved.
Suggested by: BOUWSMA Barry <freebsd-misuser@netscum.dyndns.dk> Sponsored by: DARPA & NAI Labs.
|
107266 |
26-Nov-2002 |
yar |
Eliminate references to defunct kernel tunables.
Approved by: re PR: bin/43343
|
106845 |
13-Nov-2002 |
mdodd |
Document loader tunables hw.pci.enable_io_modes and hw.pci.allow_unsupported_io_range.
Submitted by: Hiten Pandya <hiten@angelica.unixdaemons.com> Approved by: re (murray)
|
106842 |
13-Nov-2002 |
mdodd |
Loader tunable 'machdep.disable_mtrrs'. Sysctl of same name to reflect status.
Submitted by: jhb Approved by: re (murray) MFC after: 1 day
|
104678 |
08-Oct-2002 |
phk |
It seems that the only problem with UFS2 booting on i386 is the 64bit divide/remainder calls. For reasons not resolved, compiling the relevant routines from libkern into boot2 results in stack corruption.
Do the simple thing: Don't use 64bit divide/remainder operations.
Sponsored by: DARPA & NAI Labs
|
104612 |
07-Oct-2002 |
phk |
Move the definition of UFS1_ONLY into the Makefiles where it belongs.
Sponsored by: DARPA & NAI Labs.
|
102612 |
30-Aug-2002 |
iwasaki |
s/hint.acpi.0.disable/hint.acpi.0.disabled/
Fix device hints entry for disabling acpi(4). This also should fix the arbitration with apm(4) when both drivers are enabled.
Note that your /boot/device.hints needs to be updated if you want to stop auto-loading acpi.ko or disable acpi(4).
|
102588 |
29-Aug-2002 |
peter |
Actually remove the stale a.out kld support. This is the stuff that was never updated for the metadata infrastructure.
|
102556 |
29-Aug-2002 |
peter |
Initiate deorbit burn of i386 a.out kld "support" in loader. Note that this was quite broken, it never was updated for metadata support. The a.out kld file support was never really used, as it wasn't necessary. You could always load elf kld's, even in an a.out kernel.
|
101823 |
13-Aug-2002 |
ru |
mdoc(7) police: revert unapproved changes in rev. 1.43, added missing markup bits in rev. 1.45.
|
101558 |
09-Aug-2002 |
obrien |
Restore autoloading of ACPI module.
Document the approved ways of disabling it. Submitted by: Daniel O'Connor <doconnor@gsoft.com.au>
|
101112 |
31-Jul-2002 |
jake |
Stash various networking paramters in the environment for the kernel to pick up, ala pxe.
|
100016 |
15-Jul-2002 |
keramida |
Use present tense in all the verbs, when describing loader's startup. Most of them are not in a future tense already.
|
99974 |
14-Jul-2002 |
charnier |
The .Nm
|
99546 |
07-Jul-2002 |
mp |
Change help documentation for bootfile and module_path to reflect the actual code. Both use a ";" (not a ",") to delimit entries.
PR: 39679 Submitted by: Cyrille Lefevre <cyrille.lefevre@laposte.net> MFC after: 3 days
|
98593 |
21-Jun-2002 |
jake |
Enable UFS1_AND_UFS2 support for sparc64 by default. Booting from ufs1 or ufs2 filesystems seems to work fine.
|
98542 |
21-Jun-2002 |
mckusick |
This commit adds basic support for the UFS2 filesystem. The UFS2 filesystem expands the inode to 256 bytes to make space for 64-bit block pointers. It also adds a file-creation time field, an ability to use jumbo blocks per inode to allow extent like pointer density, and space for extended attributes (up to twice the filesystem block size worth of attributes, e.g., on a 16K filesystem, there is space for 32K of attributes). UFS2 fully supports and runs existing UFS1 filesystems. New filesystems built using newfs can be built in either UFS1 or UFS2 format using the -O option. In this commit UFS1 is the default format, so if you want to build UFS2 format filesystems, you must specify -O 2. This default will be changed to UFS2 when UFS2 proves itself to be stable. In this commit the boot code for reading UFS2 filesystems is not compiled (see /sys/boot/common/ufsread.c) as there is insufficient space in the boot block. Once the size of the boot block is increased, this code can be defined.
Things to note: the definition of SBSIZE has changed to SBLOCKSIZE. The header file <ufs/ufs/dinode.h> must be included before <ufs/ffs/fs.h> so as to get the definitions of ufs2_daddr_t and ufs_lbn_t.
Still TODO: Verify that the first level bootstraps work for all the architectures. Convert the utility ffsinfo to understand UFS2 and test growfs. Add support for the extended attribute storage. Update soft updates to ensure integrity of extended attribute storage. Switch the current extended attribute interfaces to use the extended attribute storage. Add the extent like functionality (framework is there, but is currently never used).
Sponsored by: DARPA & NAI Labs. Reviewed by: Poul-Henning Kamp <phk@freebsd.org>
|
97864 |
05-Jun-2002 |
phk |
Make sparc64 share ufsread.c with i386.
Sponsored by: DARPA & NAI Labs.
|
97861 |
05-Jun-2002 |
phk |
Indent this file more like style(9).
Sponsored by: DARPA & NAI Labs.
|
97860 |
05-Jun-2002 |
phk |
Preparation for UFS2 commit:
Factor the ufs reading code out of the i386/boot2 loader so it can be reused by for instance sparc64.
Sponsored by: DARPA and NAI Labs.
|
97525 |
29-May-2002 |
schweikh |
Fix a handful of typos and grammar bogons. No content changes. Translators can ignore this commit.
MFC after: 2 weeks
|
96310 |
10-May-2002 |
obrien |
We don't need bootinfo any more, and sparc64 doesn't have it anyways.
|
94419 |
11-Apr-2002 |
peter |
Bandaid for a buffer overrun in the module searching code. When breaking up the module_path string, we would walk one past the end of the buffer. This hurting ia64 originally, but it was probably also happening on i386 occasionally as well. The effects were usually harmless, it would add bogus "binary" search directories to the places it actually looked for files.
|
94313 |
09-Apr-2002 |
dcs |
Upgrade FICL to 3.02. Forgot this one, sorry.
PR: 36308 Submitted by: dcs
|
94248 |
09-Apr-2002 |
jake |
Fix another unsigned long used to index the symbol table which should be Elf_Hashelt.
|
93922 |
06-Apr-2002 |
peter |
Use the correct elf hash table entry type. This matches a similar fix in the kernel side of things some time ago. The hash table entries are always 32 bits wide, even on 64 bit machines.
|
93306 |
28-Mar-2002 |
obrien |
Not all platforms have and want a.out format support.
|
92766 |
20-Mar-2002 |
alfred |
Remove __P.
|
92339 |
15-Mar-2002 |
ru |
mdoc(7) police: fix a typo and markup.
|
92030 |
10-Mar-2002 |
sobomax |
CG superfluous prototype.
|
91219 |
25-Feb-2002 |
bde |
Declare time(not3) instead of depending on namespace pollution 3 layers deep in <stand.h> to eventually include <time.h> to declare the user version.
This is not quite the right place to declare it, but <stand.h> would be worse because time() is very MD so it isn't in libstand.
Many places in the boot sources still get the user version using only 1 layer of pollution (#include <sys/time.h>. Some pollute themselves directly (#include <time.h>). But the boot Makefiles are too broken to enable warnings for redeclarations.
|
91218 |
25-Feb-2002 |
bde |
Removed mounds of unused variables.
|
91008 |
21-Feb-2002 |
davidc |
Document the hw.physmem kernel environment variable.
Reviewed by: alfred
|
89699 |
23-Jan-2002 |
sobomax |
CG hard sentence breaks.
Submitted by: ru
|
89601 |
21-Jan-2002 |
sobomax |
Allow dump device be configured as early as possible using loader(8) tunable. This allows obtaining crash dumps from the panics occured during late stages of kernel initialisation before system enters into single-user mode.
MFC after: 2 weeks
|
87855 |
14-Dec-2001 |
ru |
mdoc(7) police: remove hard sentence break which I didn't submit to Jonathan Mini.
|
87636 |
11-Dec-2001 |
jhb |
- Add 'fwrite' and 'fseek' words for writing to and seeking on files. - 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.
|
87634 |
11-Dec-2001 |
jhb |
Add support for writing blocks to the loader's disk cache.
PR: kern/32389 Submitted by: Jonathan Mini <mini@haikugeek.com> Sponsored by: ClickArray, Inc.
|
87599 |
10-Dec-2001 |
obrien |
Update to C99, s/__FUNCTION__/__func__/, also don't use ANSI string concatenation.
|
87505 |
07-Dec-2001 |
rwatson |
o Expand list of tunables documented in loader.8 to include kern.maxusers, since other related tunables were also documented here. Add a cross reference to tuning(7) for information on setting this value appropriately.
|
87344 |
04-Dec-2001 |
des |
The entry for the 'set' command no longer has a list of variables.
PR: 32454 Submitted by: Gary W. Swearingen <swear@blarg.net> MFC after: 3 days
|
87261 |
03-Dec-2001 |
murray |
Fix typo.
PR: 32455 Submitted by: "Gary W. Swearingen" <swear@blarg.net>
|
87058 |
28-Nov-2001 |
dcs |
Waits for a keypress before rebooting on panic.
PR: kern/32351 Submitted by: Jonathan Mini <mini@haikugeek.com> MFC after: 1 week
|
86608 |
19-Nov-2001 |
obrien |
Upper case the FreeBSD loader prompt. On OFW based machines, it is just too confusing having the firmware and OS loader giving the same prompt. This is a nice compromise that 99% of the users on non-OFW platforms will probably not even notice.
|
86469 |
16-Nov-2001 |
iedowse |
Fix a number of misspellings of "dependency" and "dependencies" in comments and function names.
PR: kern/8589 Submitted by: Rajesh Vaidheeswarran <rv@fore.com>
|
86168 |
07-Nov-2001 |
fenner |
Initialize first to -1; this will create a (nearly) empty file on failure, instead of looping until the disk is full. This kind of failure can especially happen when a version of awk that doesn't support POSIX character classes is used.
Submitted by: David Wolfskill <david@catwhisker.org>
|
86090 |
05-Nov-2001 |
jhb |
Add a DEVT_CD type for CD drivers.
|
85997 |
04-Nov-2001 |
jhb |
Print out 'foo devices:' as the line before displaying a group of devices in 'lsdev' output rather than printing out a pointer to the print function since the user really could care less about the pointer value. Perhaps this was intended to be a debugging printf?
|
85935 |
03-Nov-2001 |
obrien |
Revert rev 1.3 which moved us away from POSIX character classes. The community feels our base AWK must handle them.
|
85808 |
01-Nov-2001 |
obrien |
Bell-Labs AWK does not support POSIX "bracket expressions" (POSIXese for "character classes", basically). So change them to their character representation.
Submitted by: David Wolfskill <david@catwhisker.org>
|
84337 |
01-Oct-2001 |
silby |
grammar fix: to -> too
|
83321 |
11-Sep-2001 |
peter |
Implement the long-awaited module->file cache database. A userland 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
|
81955 |
20-Aug-2001 |
ru |
mdoc(7) police: markup nits.
|
81933 |
20-Aug-2001 |
dillon |
Limit the amount of KVM reserved for the buffer cache and for swap-meta information. The default limits only effect machines with > 1GB of ram and can be overriden with two new kernel conf variables VM_SWZONE_SIZE_MAX and VM_BCACHE_SIZE_MAX, or with loader variables kern.maxswzone and kern.maxbcache. This has the effect of leaving more KVM available for sizing NMBCLUSTERS and 'maxusers' and should avoid tripups where a sysad adds memory to a machine and then sees the kernel panic on boot due to running out of KVM.
Also change the default swap-meta auto-sizing calculation to allocate half of what it was previously allocating. The prior defaults were way too high. Note that we cannot afford to run out of swap-meta structures so we still stay somewhat conservative here.
|
81462 |
10-Aug-2001 |
ru |
mdoc(7) police: join split punctuation to macro calls.
|
79757 |
15-Jul-2001 |
dd |
Remove whitespace at EOL.
|
78696 |
24-Jun-2001 |
dwmalone |
Get rid of some constness warnings.
|
78465 |
19-Jun-2001 |
peter |
Convert the elf loader to the new linker set layout for elf files. This should make dependencies at load time work like before. Oops.
Noticed by: markm
|
78463 |
19-Jun-2001 |
peter |
Fix some of the worst formatting bug (seperate commit)
|
78195 |
14-Jun-2001 |
peter |
Nuke old gensetdefs based linker sets with extreme prejudice
|
77971 |
10-Jun-2001 |
jesper |
Fix a minor style bug in the last commit.
Submitted by: Adrian Steinmann <ast@marabu.ch> MFC after: 2 days
|
77285 |
27-May-2001 |
jesper |
In sys/boot/common/module.c, near line 105 a request for a raw file is processed by passing its name in argv[1]: return(mod_loadobj(typestr, argv[1])); however, it is not tested to see if argv[1] actually is defined.
At best, mod_loadobj() near line 244 returns an error like "can't find 'garbage'" but if the "filename" entered is sufficiently long, some buffer gets overrun. Of course, "load -t filename" is actually a typo because we meant to type "load -t mfs_root filename"; nevertheless, a hung machine seems like too harsh a punishment for such a small typo...
PR: i386/27693 Submitted by: Adrian Steinmann <ast@marabu.ch> MFC after: 1 week
|
74850 |
27-Mar-2001 |
ru |
MAN[1-9] -> MAN.
|
73349 |
02-Mar-2001 |
ru |
setlocale(3) has been fixed to match POSIX standard: LC_ALL takes precedence over other LC_* envariables.
|
73233 |
28-Feb-2001 |
ru |
Eliminate mdocNG warnings caused by misplaced or extraneous macro calls.
|
72879 |
22-Feb-2001 |
dcs |
Whenever the user might be offered a chance to quit through pager_output(), respect that choice.
PR: 15747
|
71895 |
01-Feb-2001 |
ru |
mdoc(7) police: split punctuation characters + misc fixes.
|
70519 |
30-Dec-2000 |
phk |
Use <sys/queue.h> macro API.
Submitted by: "Jason" <jsmethers@pdq.net> Reviewed by: /sbin/md5
|
70405 |
27-Dec-2000 |
ru |
Prepare for mdoc(7)NG.
|
70020 |
14-Dec-2000 |
ru |
mdoc(7) police: removed duplicate .Os call.
|
69027 |
22-Nov-2000 |
ru |
mdoc(7) police: do not split author names in the AUTHORS section.
|
68961 |
20-Nov-2000 |
ru |
mdoc(7) police: use the new features of the Nm macro.
|
68851 |
17-Nov-2000 |
msmith |
The default kernel filename is "kernel" again, not "kernel.ko".
Submitted by: mckusick
|
68716 |
14-Nov-2000 |
ru |
Use Fx macro wherever possible.
|
68548 |
10-Nov-2000 |
benno |
OpenFirmware/PowerPC loader, part 2.
As of this patchset, the loader builds (under NetBSD/macppc), boots, interacts and talks to BOOTP/NFS servers.
(main.c was moved from boot/ofw/libofw to boot/ofw/common but has no revision history)
Reviewed by: obrien
|
68547 |
10-Nov-2000 |
benno |
Give the network device a print method.
Reviewed by: obrien
|
67591 |
25-Oct-2000 |
dfr |
Don't indirect through a null pointer if we run out of kernel filenames.
|
65940 |
16-Sep-2000 |
dcs |
The default search path for kernel and modules was bogus. It makes no sense for /boot/kernel to come last.
|
65881 |
15-Sep-2000 |
dcs |
Start countdown only _after_ the kernel was loaded. Not very fair otherwise.
|
65683 |
10-Sep-2000 |
dcs |
Change NOFORTH comment character from # to \ followed by space, 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.
|
65622 |
08-Sep-2000 |
dcs |
Update boot and boot-conf descriptions to reflect new and old changes. Add a warning in loader(8) that boot might be changed by loader.4th.
|
65614 |
08-Sep-2000 |
dcs |
Make the pnp structure a global variable, so it can be used elsewhere.
|
65613 |
08-Sep-2000 |
dcs |
Fix autoboot. Now autoboot *always* show the correct kernel name. It 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().
|
65549 |
06-Sep-2000 |
obrien |
With the committed changes to the loaders modules path code, the kernel path does not need to be hard coded.
|
65502 |
05-Sep-2000 |
obrien |
Fix the kernel default load from "/boot/modules" to "/boot/kernel".
Reported by: dcs
|
65501 |
05-Sep-2000 |
obrien |
The kernel is now known as `kernel.ko' and it and its matching modules live in ``/boot/kernel/''.
|
65042 |
24-Aug-2000 |
sheldonh |
List loader.conf and friends in the FILES section.
Requested by: obrien
|
64532 |
11-Aug-2000 |
dcs |
Add missing "is".
PR: 20524 Submitted by: Peter Pentchev <roam@orbitel.bg>
|
64527 |
11-Aug-2000 |
ps |
Add support to send the string 'PXEClient' as the Vendor class identifier to the DHCP server. Now you can check for this string in your dhcp configuration to decide whether you will hand out a lease to the client or not.
|
64220 |
04-Aug-2000 |
jhb |
Bring back the perform() function. However, conditionionalize it on BOOT_FORTH as it is only used if BOOT_FORTH is not defined.
|
64188 |
03-Aug-2000 |
jhb |
Fix the more obvious warnings to deal with my earlier warning cleanups.
|
64187 |
03-Aug-2000 |
jhb |
Cleanup warnings. Most of these are signed/unsigned warnings, as well as some added const's.
|
62874 |
10-Jul-2000 |
kris |
Don't call printf with no format string.
|
62873 |
10-Jul-2000 |
kris |
Don't call printf with no format string. This is technically a security vulnerability and could in principle be used to upload a new kernel from the bootloader :-)
|
62049 |
25-Jun-2000 |
mph |
Typo fix: tunnable. Backslash-parsing is not the role of printf(3), but is provided by the C language.
|
61943 |
22-Jun-2000 |
sheldonh |
Whitespace-only changes: apply accepted line breaking style as a pre-cursor to other markup changes.
Accepted in principle by the author.
|
61720 |
16-Jun-2000 |
dcs |
Fix vocabulary juggling so that builtins voc is always searched before forth vocabulary when initially creating the builtins. FICL 2.05 has a better way to do this, but this works for now.
Fixes "?".
|
61693 |
14-Jun-2000 |
dcs |
Remove the setting of sourceid from bf_vm(), as bf_vm() really has no clue.
Set sourceid to 0 when booting, which is the correct setting for stdin.
Set sourceid to an arbitrary fd when include'ing, preserving and restoring the previous sourceid. This is possibly broken(), as 0 is a valid fd. Maybe we should +1 to this value.
This fixes the version problem widely reported.
|
61659 |
14-Jun-2000 |
ps |
Delay calling the device cleanup routines until the absolute last moment. We were cleaning up after PXE too early and the module dependancy code would not be able to load any files if it needed too.
|
61653 |
14-Jun-2000 |
ps |
Make typing 'q' or 'Q' work for the show command as the pager prompt says it should.
|
61371 |
07-Jun-2000 |
dcs |
Place original builtins in a vocabulary called "builtins". This is intended mainly for debuging purposes, but it can be used by other words if done carefully.
|
61353 |
07-Jun-2000 |
dcs |
Remove residual printf.
Prodded by: msmith
|
60938 |
26-May-2000 |
jake |
Back out the previous change to the queue(3) interface. It was not discussed and should probably not happen.
Requested by: msmith and others
|
60833 |
23-May-2000 |
jake |
Change the way that the queue(3) structures are declared; don't assume that the type argument to *_HEAD and *_ENTRY is a struct.
Suggested by: phk Reviewed by: phk Approved by: mdodd
|
60820 |
23-May-2000 |
dcs |
Document abial's .#.
|
60710 |
19-May-2000 |
dcs |
One of loaders' bugs disappeared somewhere along the way.
|
60704 |
19-May-2000 |
dcs |
Move man page directives to common/Makefile.inc.
|
60684 |
18-May-2000 |
dcs |
Make corrections to allow for Alpha.
|
60506 |
13-May-2000 |
dfr |
Only probe network settings on the first open of the network device. The alpha firmware takes a seriously long time to open the network device the first time.
|
60490 |
13-May-2000 |
obrien |
The loader was written so that if /kernel was missing /kernel.old would be booted. Due to a bug, this wasn't happening.
There is still a lesser bug in that the loader decides which file to boot after the 10sec count down. This means the bootfile listed in the count down in is wrong in the case where the loader will boot /kernel.old.
|
60432 |
12-May-2000 |
bp |
long != int on Alphas.
|
60006 |
04-May-2000 |
dcs |
Make documentation on recently added heap? command reflect reality.
|
60005 |
04-May-2000 |
dcs |
Add "heap?" to loader's man page.
|
60003 |
04-May-2000 |
dcs |
Further improve ordering.
|
60002 |
04-May-2000 |
dcs |
Sort entries in FreeBSD-specific FICL commands.
|
59874 |
01-May-2000 |
peter |
Add $FreeBSD$
|
59857 |
01-May-2000 |
peter |
GC unused variable (size)
|
59856 |
01-May-2000 |
peter |
Fix some warnings on the Alpha. sizeof() returns different things on x86 and Alpha. Sigh.
|
59854 |
01-May-2000 |
bp |
Update loader logic to distinguish modules vs. files. Add support for module metadata. The old way of dependancy handling will be supported for a while.
Reviewed by: peter
|
59767 |
29-Apr-2000 |
jlemon |
Teach the loader about the ext2fs filesystem, extended partitions, and the new readdir function.
|
59408 |
20-Apr-2000 |
ps |
Add a cleanup function. This is needed for PXE where you should shutdown the UNDI and unload the stack.
|
59294 |
16-Apr-2000 |
msmith |
Some more i386-only BIOS-friendliness:
- Add support for using the PCI BIOS functions for configuration space accesses, and make this the default.
- Make PNPBIOS the default (obsoletes the PNPBIOS config option).
- Add two new boot-time tunables to disable each of the above.
|
58080 |
15-Mar-2000 |
dcs |
bcache_strategy() now receives an unit number, and keep track of what was the last unit number received. If it changes, it flushes the cache. Add bcache_flash().
The actual fix is sligthly different from the one in the PR.
PR: 17098 Submitted by: John Hood <jhood@sitaranetworks.com>
|
57468 |
25-Feb-2000 |
bp |
Fix the loader to handle module dependencies properly. More fixes will be provided after modmetadata appears in the kernel.
Reviewed by: msmith Approved by: jkh
|
57269 |
17-Feb-2000 |
msmith |
Close a file descriptor leak in the code which loads file objects.
Submitted by: Paul Saab <paul@mu.org> Approved by: jkh
|
55206 |
29-Dec-1999 |
peter |
Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" is an application space macro and the applications are supposed to be free to use it as they please (but cannot). This is consistant with the other BSD's who made this change quite some time ago. More commits to come.
|
55173 |
28-Dec-1999 |
msmith |
Correctly handle a user-requested abort in the middle of displaying a help subtopic.
PR: kern/13196 Submitted by: MIHIRA Sanpei Yoshiro <sanpei@sanpei.org>
|
54695 |
16-Dec-1999 |
marcel |
Don't build gensetdefs when we can use /usr/bin/gensetdefs. The latter also creates setdef{0|1}.c so there's no need to have those in the repository. Using /usr/bin/gensetdefs has no consequences for the output.
|
54264 |
07-Dec-1999 |
msmith |
Update to reflect use of : not ; as separator in paths passed to the kernel.
|
53993 |
01-Dec-1999 |
dcs |
Add fairings. Do not depend on user actually supplying the arguments he is supposed to supply.
|
53786 |
27-Nov-1999 |
dcs |
Make the prompt look like on OpenBoot.
|
52748 |
01-Nov-1999 |
dcs |
Changes the default prompt to "ok".
Mike says the whole idea of a current device was a bad idea in first place, and will be doing away with currdev.
Anyway, people are not supposed to even notice this. :-)
|
51786 |
29-Sep-1999 |
dcs |
Bring in ficl version 2.03. No version bump for loader.
|
50737 |
01-Sep-1999 |
dfr |
* Fix a stack of warnings. * Make it possible to type a filename to boot1 so that it is possible to recover from fatally broken versions of /boot/loader. * Make a start at a CD boot program (not yet functional).
|
50477 |
28-Aug-1999 |
peter |
$Id$ -> $FreeBSD$
|
49191 |
28-Jul-1999 |
nik |
Fix some typos.
PR: docs/11955 Submitted by: Christian Weisgerber <naddy@mips.rhein-neckar.de>
|
48952 |
21-Jul-1999 |
msmith |
Walk around the end of all the silly guessing of device types and unit numbers that we have been doing in the past, and read /etc/fstab off the proposed root filesystem to determine the actual device name and vfs type for the root filesystem. These are then exported to the kernel via the environment variable vfs.root.mountfrom.
|
48829 |
15-Jul-1999 |
n_hibma |
The boot countdown timer says it will boot in 1 seconds, which is grammatically incorrect.
PR: 12628 Submitted-By: R. Matthew Emerson <rme@nightfly.apk.net>
|
48477 |
02-Jul-1999 |
msmith |
Document the hw.physmem tunable. (There should be arch-specific tunable help sections.)
|
48351 |
29-Jun-1999 |
peter |
Reconcile all the loader newvers.sh's into one common one.
|
48243 |
26-Jun-1999 |
peter |
ABS_SET() and BSS_SET() are no longer used. The sole remaining user of TEXT_SET() is DDB's command tables.
|
48135 |
23-Jun-1999 |
ru |
-mdoc fix.
|
47609 |
30-May-1999 |
dfr |
Typo: "can't boot 'boot'" should be "can't boot 'kernel'"
|
47576 |
28-May-1999 |
brian |
Always output a linefeed when we've decided whether to boot or display a loader prompt; either we've said "Booting [%s]..." or we've received a non-line-feed character and need a '\n' anyway.
|
47395 |
22-May-1999 |
rnordier |
Fix a reference to the mysterious Mike Smisth.
|
47011 |
11-May-1999 |
jb |
Found the needle in the haystack!
Use colons instead of semi-colons in the default init_path to behave like UNIX instead of DOS.
Suggested by: bde Reminded by: des (with no hint as to *which* man page).
|
46356 |
03-May-1999 |
dfr |
Changes to support diskless booting on the alpha: * Make the network code in the bootstrap more chatty (helps debugging) * Add nfs root stuff to cpu_rootconf(). I also added a check to make sure it really was netbooting which allows the use of the same kernel for local and network boots. * Tweak the de driver so that it takes the speed setting from the console for the alpha (some PWSs have broken de chipsets). This is the same behaviour as NetBSD/alpha.
Submitted by: Andrew Gallatin <gallatin@cs.duke.edu>
|
46354 |
03-May-1999 |
jkoshy |
Correct typos.
PR: docs/11445 Submitted by: Kazuo Horikawa <horikawa@jp.freebsd.org>
|
46074 |
25-Apr-1999 |
dcs |
Make man page reflect reality on parsing rules. Now I know Jordan never read this man page... :-)
|
45881 |
20-Apr-1999 |
des |
Make the location of init(8) tunable at boot time.
|
45867 |
20-Apr-1999 |
joerg |
Don't clobber the "prompt" variable if it has already been set (e. g. from within loader.conf).
Reviewed by: dcs
|
45720 |
16-Apr-1999 |
peter |
Bring the 'new-bus' to the i386. This extensively changes the way the i386 platform boots, it is no longer ISA-centric, and is fully dynamic. Most old drivers compile and run without modification via 'compatability shims' to enable a smoother transition. eisa, isapnp and pccard* are not yet using the new resource manager. Once fully converted, all drivers will be loadable, including PCI and ISA.
(Some other changes appear to have snuck in, including a port of Soren's ATA driver to the Alpha. Soren, back this out if you need to.)
This is a checkpoint of work-in-progress, but is quite functional.
The bulk of the work was done over the last few years by Doug Rabson and Garrett Wollman.
Approved by: core
|
44780 |
15-Mar-1999 |
dcs |
The man page, version 0.1.
|
44750 |
14-Mar-1999 |
msmith |
Fix syntax for boot command
Noticed by: Ruslan Ermilov <ru@ucb.crimea.ua>
|
44571 |
08-Mar-1999 |
dcs |
Increase ficl's dictionary size, in preparation for the newer loader.rc.
|
44570 |
08-Mar-1999 |
dcs |
Fix a number of memory leaks and other memory-related disorders.
Also, unbreak the breakage introduced at the last revision of module.c. This changes the semantics of mod_searchfile() (and mod_searchmodule()) to make the caller's responsibility freeing the buffer returned. This is different from other functions in loader's code, and was done as a fix for kern/9631. If someone wants to revert this to the original behavior, don't forget to fix kern/9631 in another way.
This should also fix bin/10462, which was introduced as a result of the first try at kern/9631 (module.c last revision).
PR: bin/10462 Submitted by: Takanori Saneto <sanewo@ba2.so-net.ne.jp>
|
44427 |
02-Mar-1999 |
dcs |
Don't treat empty lines as end-of-file in include(). (I can't believe this bug is still here... :-( )
|
44210 |
22-Feb-1999 |
dcs |
Fix assorted memory leak/buffer reuse problems.
Not restricted to, but including:
PR: kern/9631 Submitted by: Bill Fenner <fenner@parc.xerox.com>
|
44069 |
15-Feb-1999 |
tegge |
Enable load of i386 ELF kernels with larger KVA range (e.g. starting at 0xe0100000u or 0xc0100000u instead of the usual 0xf0100000u).
|
43738 |
07-Feb-1999 |
dcs |
Remove strange-looking quotes. This part of the code is #if'ed out, and the variable doesn't even exist (though it is referenced elsewhere). Just make sure it produces error messages when Mike get back to it.
PR: kern/9934 Submitted by: Adrian Filipi-Martin
|
43614 |
04-Feb-1999 |
dcs |
Make use of prototypes to silence warnings.
Change include() so it will be able to load files with forth code, instead of just builtins. Remove #@- from the include section of the help file, since they don't work in the new version of include, unless BOOT_FORTH is not defined.
Change bf_run() so it will return the result returned by ficlExec(). Also, make bf_run() push "interpret" to be executed by ficlExec(), since ficlExec() doesn't do it by itself. (Things worked previously because nothing recursed through ficlExec() by the way of bf_run()).
Change/extend comments on builtin behavior.
Search for "interpret" at the end of bf_init(), so /boot/boot.4th can provide it's own version.
Remove dead code.
|
43600 |
04-Feb-1999 |
dcs |
Silence a warning. PR: bin/9754
|
43563 |
03-Feb-1999 |
msmith |
Mention the net.inet.tcp.tcbhashsize tunable.
|
43561 |
03-Feb-1999 |
kato |
PC98 version of new boot loader. Because boot2 has not yet ported, files in boot2 directory are copies from legacy biosboot.
Submitted by: IMAI Takeshi <take-i@ceres.dti.ne.jp>
|
43491 |
01-Feb-1999 |
jkh |
Whoops! Forgot to include Mr. Sobray's more command in the last set of commits.
Submitted by: Daniel C. Sobral <dcs@newsguy.com>
|
43368 |
29-Jan-1999 |
msmith |
Document the machdep.pccard.pcic_irq tunable, which allows the user to tune the interrupt which will be given to the PCIC. If the value supplied is illegal or not available, interrupts will be turned off and polled mode used instead.
|
43321 |
28-Jan-1999 |
jkh |
Make builtin's state-aware in loader.
Submitted by: Daniel C. Sobral PR: 9663
|
43189 |
25-Jan-1999 |
rnordier |
Correctly record the end of the a.out symbol table. In practice, a bootinfo structure where bi_esymtab < bi_symtab was being passed to the kernel. In the case of older 2.x kernels, this was causing garbage to be printed to the video console, followed by an exception.
This should resolve a problem reported on -current by Peter Jeremy <peter.jeremy@auss2.alcatel.com.au>.
|
43077 |
22-Jan-1999 |
msmith |
bootstrap.h help.common interp.c Rename the 'source' command to 'include' in order to avoid conflict with the ANS Forth command of the same name. (kern/9473)
interp_forth.c: Changes from kern/9412 (EXCEPTION word), kern/9442 (TIB buffer sizing) and an improved version of kern/9460 (set version numbers).
load_aout.c: Trim some obsolete #if 0'ed cruft.
pnp.c: Tidy the pnpscan output, turn off the module scanning until we sort out how to do it right.
PR: kern/9412 kern/9442 kern/9460 kern/9473 Submitted by: PRs from Daniel Sobral <dcs@newsguy.com>
|
43072 |
22-Jan-1999 |
rnordier |
Fix extraneous free() on error.
|
43016 |
21-Jan-1999 |
msmith |
Add 'set tunables' help, list the kernel tunable values that can currently be overridden.
|
42807 |
18-Jan-1999 |
msmith |
Transition from using Perl to using awk for our text-manipulation needs. This removes the dependancy on Perl for the generation of the loader, allowing the world to be built on a perl-free system.
Submitted by: Joe Abley <jabley@clear.co.nz>
|
42713 |
16-Jan-1999 |
jdp |
Replace duplicated "old" linker set definitions with an include of <sys/linker_set.h>. Note, this isn't used on the i386.
|
42682 |
15-Jan-1999 |
abial |
Fall back to /boot/boot.conf, if /boot/loader.rc was not fount. This is to cover the transition period.
Suggested by: msmith
|
42636 |
13-Jan-1999 |
abial |
Change /boot/boot.conf to /boot/loader.rc - this name reflects what it really is.
Agreed upon by: jkh, msmith and many others
|
42620 |
13-Jan-1999 |
msmith |
Typo in patch application.
PR: kern/9459 Submitted by: "Daniel C. Sobral" <dcs@newsguy.com>
|
42512 |
11-Jan-1999 |
msmith |
No builtin command resets getopt before using it, causing problems in case a wrong option was given previously, and no option is given to the next command.
PR: kern/9371 Submitted by: "Daniel C. Sobral" <dcs@newsguy.com>
|
42465 |
10-Jan-1999 |
msmith |
Enable escapes for $ to make it possible to insert variable names into other variable values.
|
42418 |
09-Jan-1999 |
msmith |
Add a description for 'lsdev' so that it shows up in the '?' display
|
42290 |
04-Jan-1999 |
peter |
Fix variable initialization.. It was written with '==' instead of '-'. #include <string.h> for string prototypes.
|
42289 |
04-Jan-1999 |
peter |
Clean some unused variables lint
|
42288 |
04-Jan-1999 |
peter |
Don't forget a trailing \n when loading a kernel that has been stripped. (This might make ELF_VERBOSE look funny, but I'm tempted to delete that anyway)
|
42000 |
22-Dec-1998 |
abial |
* Begin integration of built-ins with Forth: leave the exit code from a built-in command on Forth stack. * Fix a bug which was causing a panic when loading stripped aout kernels.
Reviewed by: jkh
|
41861 |
16-Dec-1998 |
n_hibma |
Removed dynamic loading of FileHandle
|
41822 |
15-Dec-1998 |
msmith |
Reformat help to improve subtopic display appearance, other minor cleaning. The 'help' command in the loader should now be usable and hopefully informative.
|
41821 |
15-Dec-1998 |
msmith |
Build the composite help file from the generic and architecture-specific help files, sorting topics and subtopics to allow maximum flexibility.
|
41259 |
20-Nov-1998 |
archie |
Fix misallocation of buffer bug (too short)
|
41254 |
19-Nov-1998 |
paul |
This fixes a bug in the bcache code whereby false cache hits occur the first time block 0 is read. This fix initialises the block numbers to -1 which isn't the most correct thing for a daddr_t but it isn't likely to cause a problem in the boot blocks and it could do with a more thought out fix later.
The bug is probably benign on the i386 but on the alpha it can cause initial file opens to fail. This is the cause of the "can't open /boot/boot.conf" errors.
It appears on the alpha because of a number of combining factors. On the alpha the LABELSECTOR is 0 so block 0 needs to be read in from the media. The first time this happens you get a false hit because the bc_blkno field is zero initially. Also, the timestamp check against this cache hit succeeds because on the alpha a hacked getsecs() function can return 0 when it starts counting so that the zero initial timestamp + BCACHE_TIMEOUT is greater than the current time until getsecs() has counted passed BCACHE_TIMEOUT.
The overall effect is that the first open() that occurs gets a false cache hit and returns garbage to the bd_strategy() function which then fails the open() call. This false hit then stays in the cache until BCACHE_TIMEOUT getsecs() ticks have passed; all open() calls during this time fail.
This explains why you can generally access the media by the time you get to interp() and start issuing commands but the earlier attempts to run the boot scripts are failing.
It's possible that this is causing the problem switching to the mfsroot floppy as well but I haven't confirmed that.
|
41140 |
13-Nov-1998 |
msmith |
Add documentation for $rootdev.
|
40988 |
07-Nov-1998 |
jkh |
Eliminate much code cruft by extending simple file I/O API to include fopen and fclose. Also look for /boot/boot.4th now and, if found, load its contents.
|
40984 |
07-Nov-1998 |
jkh |
Don't have debugging on by default - it makes testing annoying. :)
|
40950 |
06-Nov-1998 |
msmith |
Ack. Create parseable command tail properly, and eat args out of the TIB.
|
40948 |
06-Nov-1998 |
msmith |
Don't use the poxy vmGetString interface (who uses counted strings these days?), get the input buffer ourselves. Add some debugging code.
|
40929 |
05-Nov-1998 |
jkh |
Remember a bit more of my forth and do:
o Add fexists word to check for the presence of a file o make fexists and fload immediate words which DTRT both interpreted and compiled (doh!) o add an init word which gets run at bootstrapping time to do extra post-coldload initialization (in the default implementation, we look for /boot/boot.4th and load it if found).
|
40882 |
04-Nov-1998 |
msmith |
Use a smaller default dictionary to waste less space.
|
40875 |
04-Nov-1998 |
msmith |
Add BootForth hooks; if BOOT_FORTH is defined, pass every line read to the Forth interpreter. Instantiate all of our inbuilt commands as Forth words, and handle them being called from there.
Add my copyright to the bcache module (oops).
|
40835 |
02-Nov-1998 |
msmith |
Ok, the entry aging algorithm sucked; 1s time resolution is not enough for LRU. Use a 31-bit counter instead. If we decide to do heavy I/O through the bootloader this will have to be revisited.
|
40834 |
02-Nov-1998 |
msmith |
Implement a simple LRU block cache. By default this is initialised to 16k, and will bypass transfers for more than 8k. Blocks are invalidated after 2 seconds, so removable media should not confuse the cache.
The 8k threshold is a compromise; all UFS transfers performed by libstand are 8k or less, so large file reads thrash the cache. However many filesystem metadata operations are also performed using 8k blocks, so using a lower threshold gives poor performance.
Those of you with an eye for cache algorithms are welcome to tell me how badly this one sucks; you can start with the 'bcachestats' command which will print the contents of the cache and access statistics.
|
40832 |
02-Nov-1998 |
msmith |
Standardise on ';' as a component separator; it seems to be a little more common than ','.
|
40793 |
31-Oct-1998 |
dfr |
* Extend the memory available for the heap from 256k to 512k. * Embed the stack into the bss section for loader and netboot. This is required for netboot since otherwise the stack would be inside our heap. * Install loader and netboot in /boot by default. * Fix getbootfile so that it searches for a ',' instead of a ';' when terminating the filename.
|
40775 |
31-Oct-1998 |
msmith |
- Add a new command 'lsdev' to list devices which might be likely to host filesystems. - New 'help' command and data in the help.* files (not yet installed), provides topic and subtopic help, indexes, etc. - Don't crash if the user tries to set an invalid console. Be helpful instead. - Expand tabs (badly) on the i386 video console. - Some minor cosmetic changes.
|
40597 |
22-Oct-1998 |
msmith |
Export an interface for presetting the ISA PnP read port address. Make the EISA ID formatter generally available
|
40553 |
21-Oct-1998 |
msmith |
Make ISA PnP work. This successfully enumerates as many ISA devices as I can fit into my test machine.
- Move to using STAILQs rather than ad-hoc singly-linked lists. - Use a mostly procedural interface to the PnP information. This improves data-hiding.
Implement a new linker-set technique (currently on i386 only but should work on Alpha as well). This is a good candidate for replacing the current gensetdefs cruft completely.
|
40465 |
17-Oct-1998 |
peter |
Load the first page of the file and use the headers in it. This should avoid the need to seek back to offset zero which is causing trouble on the Alpha with a gzipped kernel.
|
40429 |
16-Oct-1998 |
peter |
"fix" the gzipped kernel load problem by having the loader check that it can seek back to the first PT_LOAD and doing a close/reopen if it cannot. This is because the first PT_LOAD section includes the ELF headers. This fixes gzipped kernels on the i386, it should solve mike's problem for the Alpha.
|
40414 |
15-Oct-1998 |
dfr |
Change some printfs so that ELF_VERBOSE prints meaningful values on the alpha.
|
40327 |
14-Oct-1998 |
peter |
Tweak the output one more time again. The kernel or module pathname is useful, and usually fits all on one line with the load sizes.
|
40291 |
13-Oct-1998 |
peter |
Make the ELF load messages cleaner.
|
40254 |
12-Oct-1998 |
peter |
Only print kernel entry point during load. Drastically quieten down the verbose load progress messages. They were more useful for debugging than anything, but are beyond a joke when loading a few dozen modules. Simplify the ELF extended symbol table load format. Just take the main symbol table and the string table that corresponds. This is what we will be getting local symbols from. (needed for the alpha stack tracebacks). Use the (optional) full symbol tables in lookups. This means we have to furhter distinguish between symbols that can come from the dynamic linking table and the complete table. The alpha boot code now needs to be adapted as ddb/db_elf.c cannot use the simpler format. I have not implemented loading the extended symbol tables from the syscall interface yet, just for preloaded modules. I am not sure about the symbol resolution. I *think* it's possible that a local symbol can be found in preference to a global, depending on the search sequence and dependency tree.
|
40253 |
12-Oct-1998 |
peter |
Only print filename and entry address for the kernel itself. The rest have a meaningless entry as they are relocatable.
|
40215 |
11-Oct-1998 |
peter |
Fix a warning
|
40214 |
11-Oct-1998 |
peter |
Probe all consoles, not just the first. It doesn't make a lot of difference, but might later on when we implement some sort of multi-head console mode. Select a console after probing them all. Don't strdup a potentially NULL return from getenv(). If we don't select an active console, choose the first regardless. Call the console init function, at startup time and on a manual change. The env_setenv() function needs EV_VOLATILE because it's pointing to data that isn't malloc'ed and will cause a fault if it's freed later.
|
40213 |
11-Oct-1998 |
peter |
Cosmetic: After the autoboot timeout, print a \n.
|
40143 |
09-Oct-1998 |
peter |
Implement preloading for elf modules - get dependency info from PT_DYNAMIC's DT_NEEDED tags. - store MODINFOMD_DYNAMIC for the kernel's later use setenv kernelname when we have it Fix firstaddr/lastaddr calculation (duh! :-) Explicitly skip string table with section names in it.
|
40142 |
09-Oct-1998 |
peter |
Preload support for a.out KLD not implemented yet. (almost) KLD modules are *not* PIC. (Shared libs are pic to avoid relocations causing copy-on-write, that's irrelevant here). setenv kernelname when we load it. Use MODINFO_SSYM/ESYM for each symbol section when (if) there are more than one being loaded.
|
40141 |
09-Oct-1998 |
peter |
Use a consistant module search path (same as kernel will be). Use new dependency mechanism.
|
40140 |
09-Oct-1998 |
peter |
loader <-> kernel preload module interface constants moved to common file. Remove Mike's explicit data structures for dependency info. This is done via DT_NEEDED etc in the dynamic section for now. This may need to be revisited later on.
|
40106 |
09-Oct-1998 |
msmith |
Sync the MODINFO constants with <sys/linker.h> Remove debugging in command_read(). Correctly strip leading controls on script commands. Make 'ls' more DWIM in regard to pathnames. We can still do better.
|
40015 |
07-Oct-1998 |
msmith |
- VERBOSE_LS is obsolete, as the heap is much better behaved now. - Don't whine about nodes we can't stat(); these are usually symlinks that lead out of the filesystem. - Autoboot is now controlled by $autoboot_delay, which is a value in seconds or NO to disable autoboot. - Don't autoboot at the end of boot.conf if we have already tried. - Add a 'read' command to complement 'echo'. Both are still hidden. - Improve the 'source' command/function so that it is possible to source scripts off removable media. The entire script is read and saved before beginning execution. Script lines beginning with '@' will not be echoed when being executed. Script execution will normally terminate at the first error, however if the script line begins with '-' this behaviour is overriden for that command.
|
39968 |
05-Oct-1998 |
msmith |
Insert whitespace between unargv'd arguments. Submitted by: "Louis A. Mamakos" <louie@TransSys.COM>
|
39894 |
02-Oct-1998 |
msmith |
boot.c Increase the robustness of the "is it time to boot yet" test; if the time skipped the "when" time, we would miss it. Don't spin in an endless loop if we don't find the first possible kernel suggested. When we run out, don't try to load an empty kernel name.
load_aout.c printf format warnings
|
39887 |
02-Oct-1998 |
peter |
First shot at loading elf symbols. Things are a bit strange because of the ..umm.. "wierd" way binutils lays out the file. The section headers are nearly at the end of the file and this is a problem when loading from a .gz file which can't seek backwards (or has a limited reverse seek, ~2K from memory).
This is intended to be compatable with the ddb/db_elf.c code and the alpha/libalpha/elf_freebsd.c layout. I've studied these (which are NetBSD derived) but did it a bit differently. Naturally the process is similar since it's supposed to end up with the same result.
|
39830 |
30-Sep-1998 |
peter |
ELF loader, part 1. It works with ELF kernels generated on the i386 so far, and should probably be able to be made to work for the alpha without too much trouble once it's connected up and my assumptions tested.
I think (but have not tested) it will also load "old" ELF kernels that were not linked with DYNAMIC headers.
The module glue is yet to come. (oh fun.. :-)
It does not explicitly load symbols [yet]. The _DYNAMIC data contains a runtime symbol set that ddb can use via ddb/db_kld.c. It'll be missing some detail that stabs normally provides (eg: number of args to a function, line numbers, etc). On the other hand, those minimal symbols will always be available even on a stripped kernel.
This is mostly stolen from load_aout.c with some ideas from alpha/libalpha/elf_freebsd.c.
|
39828 |
30-Sep-1998 |
peter |
s/out_loadmodule/aout_loadmodule/ in a printf diagnostic.
|
39827 |
30-Sep-1998 |
peter |
Uncomment prototype for elf_loadmodule
|
39732 |
28-Sep-1998 |
peter |
Use the variable with the path in it for the error message.
|
39673 |
26-Sep-1998 |
dfr |
* Add old UFS compatibility code to alpha/boot1. * Fix a raft of warnings, printf and otherwise. * Allocate the correct amount in mod_searchmodule to prevent an overflow. * Fix the makefiles so they work outside my home directory (oops).
|
39660 |
26-Sep-1998 |
msmith |
console.c Allow the MI code to override the preferred console (eg. so that an RB_SERIAL flag from the i386 boot2 can override the default first active console)
isapnp.c Use the standard format for ISA PnP IDs.
pnp.c Allow trailing comments on lines, be less picky about line contents.
ls.c Cosmetic error message fix.
panic.c Print the right arguments.
|
39530 |
20-Sep-1998 |
dfr |
Make the alpha bootstrap build again, fix some warning and change sdboot to daboot.
|
39472 |
19-Sep-1998 |
msmith |
Add a generic hexdump tool for debugging purposes.
|
39448 |
18-Sep-1998 |
msmith |
Remove 'panic' command (it works), don't ask for a keypress in panic, as exit() does. Perhaps it shouldn't?
|
39446 |
18-Sep-1998 |
msmith |
Use a.out.h to get all the correct bits in one place.
|
39444 |
18-Sep-1998 |
msmith |
Oops, missed these. Machine-independant ISA PnP enumerator.
|
39441 |
17-Sep-1998 |
msmith |
Initial integration of the i386 bootloader and BTX.
- Discard large amounts of BIOS-related code in favour of the more compact BTX vm86 interface. - Build the loader module as ELF, although the resulting object is a.out, make gensetdefs 32/64-bit sensitive and use a single copy of it. - Throw away installboot, as it's no longer required. - Use direct bcopy operations in the i386_copy module, as BTX maps the first 16M of memory. Check operations against the detected size of actual memory.
|
39178 |
14-Sep-1998 |
msmith |
Resynch with working sources before BTX integration.
- Use format-independant module allocator. - Conditionalise ISA PnP support. - Simplify PnP enumerator interface. - Improve module/object searching. - Add missing depend/install targets in BTX makefiles. - Pass the kernel environment and module data in extended bootinfo fields. - Add a pointer to the end of the kernel + modules in bootinfo. - Fix parsing of old-style kernel arguments.
|
38789 |
04-Sep-1998 |
msmith |
Generic plug-and-play enumerator infrastructure. Query supplied enumerators, crossreference returned identifiers with a text-format database and automatically load corresponding modules and dependancies.
|
38765 |
03-Sep-1998 |
jkh |
Allow quoted strings (single or double) for grouping whitespace separated items. Eliminate warnings.
|
38764 |
03-Sep-1998 |
msmith |
Bootstrap updates.
- Move some startup code from MD to MI sections - Add a 'copyout' and some copyout-related functions. These will be obsoleted when BTX is available for the 386 and the kernel load area becomes directly addressable. - Add the ability load an arbitrary file as a module, associating and arbitrary type string with it. This can be used eg. for loading splash-screen images etc. - Add KLD module dependancy infrastructure. We know how to look for dependancies inside KLD modules, how to resolve these dependancies and what to do if things go wrong. Only works for a.out at the moment, due to lack of an MI ELF loader. Attach KLD module information to loaded modules as metadata, but don't pass it to the kernel (it can find it itself). - Load a.out KLD modules on a page boundary. Only pad the a.out BSS for the kernel, as it may want to throw symbols away. (We might want to do this for KLD modules too.) - Allow commands to be hidden from the '?' display, to avoid cluttering it with things like 'echo'. Add 'echo'. - Bring the 'prompt' command into line with the parser syntax. - Fix the verbose 'ls'; it was using an uninitialised stack variable. - Add a '-v' flag to 'lsmod' to have it display module metadata as well (not terribly useful for the average user) - Support a 'module searchpath' for required modules. - The bootstrap file on i386 is now called 'loader' to permit the /boot directory to use that name. - Discard the old i386 pread() function, as it's replaced by arch_readin()
|
38716 |
01-Sep-1998 |
msmith |
New commandline/script parser, supports backslash quoting and environment variable substitution.
Submitted by: Jordan Hubbard <jkh@freebsd.org>
|
38712 |
31-Aug-1998 |
msmith |
Bootloader update.
- Implement a new copyin/readin interface for loading modules. This allows the module loaders to become MI, reducing code duplication. - Simplify the search for an image activator for the loaded kernel. - Use the common module management code for all module metadata. - Add an 'unload' command that throws everything away. - Move the a.out module loader to MI code, add support for a.out kld modules.
Submitted by: Alpha changes fixed by Doug Rabson <dfr@freebsd.org>
|
38475 |
22-Aug-1998 |
dfr |
Minor tweaks to track a couple of i386 changes and to make it compile.
|
38466 |
21-Aug-1998 |
msmith |
This commit was generated by cvs2svn to compensate for changes in r38465, which included commits to RCS files with non-trunk default branches.
|