aboutsummaryrefslogtreecommitdiff
path: root/sys/boot/forth/beastie.4th
Commit message (Collapse)AuthorAgeFilesLines
* Move sys/boot to stand. Fix all references to new locationWarner Losh2017-11-141-110/+0
| | | | | | | Sponsored by: Netflix Notes: svn path=/head/; revision=325834
* Enable the beastie menu for the UEFI consoleEd Maste2016-01-061-5/+0
| | | | | | | | | | As of r293233 the UEFI console includes basic terminal emulator support. MFC after: 2 weeks Relnotes: Yes Notes: svn path=/head/; revision=293234
* Solve dreaded "dictionary full" issue by segregating words into newDevin Teske2015-04-011-2/+4
| | | | | | | | | | | | | | | vocabularies delay-processing, password-processing, version-processing, frame-drawing, menu-infrastructure, menu-namespace, menu-command-helpers, and menusets-infrastructure. The net effect is to remove almost 200 definitions from the main forth vocabulary reducing the dictionary size by over 50%. The chances of hitting "dictionary full" should be greatly reduced by this patch. MFC after: 3 days X-MFC-to: stable/10 Notes: svn path=/head/; revision=280937
* Move beastie to logo-*.4th; brands to brand-*.4thDevin Teske2015-04-011-180/+25
| | | | | | | | | Suggested by: jkh, alfred MFC after: 3 days X-MFC-to: stable/10 Notes: svn path=/head/; revision=280933
* Comments. No functional change(s).Devin Teske2015-03-311-1/+1
| | | | | | | | MFC after: 3 days X-MFC-to: stable/10 Notes: svn path=/head/; revision=280924
* Whitespace. No functional change(s).Devin Teske2015-03-311-14/+6
| | | | | | | | MFC after: 3 days MFH: stable/10 Notes: svn path=/head/; revision=280923
* Revert SVN r277693.Devin Teske2015-02-061-5/+6
| | | | | | | | Discussed on: src-committers Approved by: core (emaste) Notes: svn path=/head/; revision=278335
* Fix the font in the text version. This has bothered me for a long time...Dag-Erling Smørgrav2015-01-251-6/+5
| | | | | | | MFC after: 1 week Notes: svn path=/head/; revision=277693
* loader: implement multiboot support for Xen Dom0Roger Pau Monné2015-01-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement a subset of the multiboot specification in order to boot Xen and a FreeBSD Dom0 from the FreeBSD bootloader. This multiboot implementation is tailored to boot Xen and FreeBSD Dom0, and it will most surely fail to boot any other multiboot compilant kernel. In order to detect and boot the Xen microkernel, two new file formats are added to the bootloader, multiboot and multiboot_obj. Multiboot support must be tested before regular ELF support, since Xen is a multiboot kernel that also uses ELF. After a multiboot kernel is detected, all the other loaded kernels/modules are parsed by the multiboot_obj format. The layout of the loaded objects in memory is the following; first the Xen kernel is loaded as a 32bit ELF into memory (Xen will switch to long mode by itself), after that the FreeBSD kernel is loaded as a RAW file (Xen will parse and load it using it's internal ELF loader), and finally the metadata and the modules are loaded using the native FreeBSD way. After everything is loaded we jump into Xen's entry point using a small trampoline. The order of the multiboot modules passed to Xen is the following, the first module is the RAW FreeBSD kernel, and the second module is the metadata and the FreeBSD modules. Since Xen will relocate the memory position of the second multiboot module (the one that contains the metadata and native FreeBSD modules), we need to stash the original modulep address inside of the metadata itself in order to recalculate its position once booted. This also means the metadata must come before the loaded modules, so after loading the FreeBSD kernel a portion of memory is reserved in order to place the metadata before booting. In order to tell the loader to boot Xen and then the FreeBSD kernel the following has to be added to the /boot/loader.conf file: xen_cmdline="dom0_mem=1024M dom0_max_vcpus=2 dom0pvh=1 console=com1,vga" xen_kernel="/boot/xen" The first argument contains the command line that will be passed to the Xen kernel, while the second argument is the path to the Xen kernel itself. This can also be done manually from the loader command line, by for example typing the following set of commands: OK unload OK load /boot/xen dom0_mem=1024M dom0_max_vcpus=2 dom0pvh=1 console=com1,vga OK load kernel OK load zfs OK load if_tap OK load ... OK boot Sponsored by: Citrix Systems R&D Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D517 For the Forth bits: Submitted by: Julien Grall <julien.grall AT citrix.com> Notes: svn path=/head/; revision=277215
* Disable the beastie menu for EFI console which doesn't support ANSI codesDevin Teske2014-04-271-0/+5
| | | | | | | | | | (so things like `at-xy', `clear', and other commands don't work making it impossible to generate a living menu). Reviewed by: nwhitehorn, emaste Notes: svn path=/head/; revision=265028
* Refactor draw-beastie function.Devin Teske2013-11-171-46/+16
| | | | | | | Discussed on: -hackers Notes: svn path=/head/; revision=258269
* Extend loader_delay as-documented in beastie.4th(8) and delay.4th(8), making ↵Devin Teske2013-11-071-2/+0
| | | | | | | | | | | | | | | it available to architectures that do not use or load the beastie menu. This is reported to save headaches on some PPC systems where unload followed by load does not produce the desired results wherein if-given the opportunicy to abort the initial loading sequence, you can customize the first load. Reviewed by: nwhitehorn, kan Discussed on: -current Notes: svn path=/head/; revision=257821
* Defer loading of kernel and modules if the beastie menu is enabled. Add aDevin Teske2013-11-041-1/+9
| | | | | | | | | | | | | | kernel selection menu to the beastie menu. List of kernels is taken from `kernels' in loader.conf(5) as a space (or comma) separated list of names to display (up to 9). If not set, default value is "kernel kernel.old". Does not validate that kernels exist because the next enhancement will be to allow selection of the root device. Discussed on: -current MFC after: 3 days Notes: svn path=/head/; revision=257650
* Building upon SVN r254237, disable automated activation of alternate layoutsDevin Teske2013-08-261-16/+4
| | | | | | | | | | | | | and add support for default underride to $loader_version, acting as a way to name a release. Release text is not displayed for the aforementioned feature of alternate display layout (introduced in r254237); however, for all other layouts (incl. default), the release name is displayed at lower-right. See version.4th(8) for additional information and/or historical details. NOTE: Also a minor edit to version.4th(8) while we're here. Notes: svn path=/head/; revision=254942
* Add optional support for default override of standard setup; but only ifDevin Teske2013-08-121-3/+35
| | | | | | | | corresponding functions are provided. If override function does not exist, boot remains unmodified. This patch should not result in any changes. Notes: svn path=/head/; revision=254237
* Since the introduction of SVN r244048 and [follow-up] r244089, it is nowDevin Teske2013-08-081-3/+3
| | | | | | | safe to build upon ``boot_serial?'' functionality to make safer UI choices. Notes: svn path=/head/; revision=254105
* Add an echo to say we're "Booting..." when the overloaded "boot" Ficl word isDevin Teske2012-10-081-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | executed to better differentiate between loader-specific errors and kernel- specific errors (if ever any of either). This type of functionality hasn't been required before the introduction of the advanced menu system (r222417). Adding this functionality will help different- iate errors at the loader-level such as a BTX halt caused by heap exhaustion and errors that may be involved with executing the kernel (wrong architecture for example). A user can learn that messages before "Booting..." are related to the loader(8) environment and it's Forth-ilk, while those after are not related to loader(8) -- the point that loader(8) has ``left the building''. This patch also includes a man-page update to color.4th(8) as the color logic moves to a lower-level (from being included by beastie.4th to being included by loader.4th). After noticing a delay between execution of the overloaded "boot" FICL word and the display of text on-screen, gcooper confirmed that the introduction of a builtin memory test (disabled by adding hw.memtest.tests="0" to loader.conf(5)) was the cause of the delay. This patch adds an echo to produce "Booting..." when the overloaded "boot" word is executed (this includes from the interactive command-prompt on all arches, from the menu system on arches that run the beastie menu, and even those arches that run the menu but disable it by setting beastie_disable="YES" in loader.conf(5)). When loader_color="YES" in loader.conf(5), the same message is produced but in white text on a blue background (only the letters produced have this background -- opposed to perhaps the entire line). Notes: svn path=/head/; revision=241361
* Fix domain.Devin Teske2012-07-141-1/+1
| | | | | | | Approved by: emaste Notes: svn path=/head/; revision=238431
* Update contact info.Devin Teske2012-05-171-1/+1
| | | | | | | | | | | PR: N/A (mentor approved) Submitted by: dteske Reviewed by: dteske (mentor approved) Approved by: emaste (mentor) MFC after: 1 week Notes: svn path=/head/; revision=235560
* New boot loader menus from Devin Teske.Julian Elischer2011-05-281-226/+197
| | | | | | | | | | | 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 Notes: svn path=/head/; revision=222417
* Fix a stack leak in r215345 when skipping over the ACPI menu item forJohn Baldwin2011-01-201-1/+1
| | | | | | | | | machines that do not support ACPI. Submitted by: olli Notes: svn path=/head/; revision=217644
* Don't display option 2 (to toggle ACPI on or off) on x86 machines if theJohn Baldwin2010-11-151-5/+16
| | | | | | | | | | BIOS does not support ACPI. The other options in the menu retain their existing numbers, option 2 is simply blanked out (and '2' is ignored). MFC after: 1 month Notes: svn path=/head/; revision=215345
* Remove support for autoloading ACPI from the loader. Leave in the code toJohn Baldwin2010-11-081-7/+2
| | | | | | | | detect ACPI and export info such as the location of the RSDP via hints as that is still useful. Notes: svn path=/head/; revision=215016
* If autoboot_delay is set to -1, boot immediately without checking forJohn Baldwin2010-09-081-1/+4
| | | | | | | | | | | | a keypress to match the behavior of the loader. PR: docs/108101 Submitted by: Wayne Sierke ws of au.dyndns.ws Tested by: brd MFC after: 1 week Notes: svn path=/head/; revision=212338
* Remove the USB keyboard hack now that KBDMUX is enabled by default. AllowScott Long2006-03-311-11/+1
| | | | | | | it to be disabled if Safe Mode is selected. Notes: svn path=/head/; revision=157339
* Replace loader_color with loader_logoScott Long2005-10-301-9/+42
| | | | Notes: svn path=/head/; revision=151873
* Fix a bunch of stack leaks. These were theoretically harmless, except thatScott Long2004-12-011-5/+11
| | | | | | | | | | they would leave enough elements on the stack that if you escaped to the loader prompt and then typed 'setenv', it would pull in all of the leaked junk and cause an exception in the environment. There still seems to be 3 leaked elements, but they don't appear to be coming from this file. Notes: svn path=/head/; revision=138258
* Add a loader menu option to set hint.atkbd.0.flags=0x1 which allows USBBrooks Davis2004-10-301-0/+10
| | | | | | | | | keyboards to work if no PS/2 keyboard is attached. The position in the menu was chosen to avoid moving option 6 (loader prompt). This should be a no-op on non-i386/amd64 machines. Notes: svn path=/head/; revision=137071
* Disable the APIC when selecting the 'Safe Mode' option of the loader. ThisScott Long2004-01-091-0/+1
| | | | | | | will disable both APIC interrupt routing and SMP. Notes: svn path=/head/; revision=124306
* Directly call the 'reboot' word instead of indirectly evaluating it.Scott Long2003-10-281-1/+1
| | | | Notes: svn path=/head/; revision=121632
* Directly call the 'boot' word instead of indirectly evaluating it.Scott Long2003-10-271-7/+7
| | | | | | | Submitted by: dcs Notes: svn path=/head/; revision=121618
* Apply Aleksander Fafula's crayons to the beastie. Add the this line toScott Long2003-09-131-1/+38
| | | | | | | | | /boot/loader.conf to see the pretty colors =-) loader_color="YES" Notes: svn path=/head/; revision=120031
* Don't start the beastie menu if the 'beastie_disable' variable is set toScott Long2003-06-101-1/+11
| | | | | | | | | | 'YES'. If the user selects to escape to the loader prompt, set 'autoboot_delay' to 'NO' so that the prompt timer doesn't run. Notes: svn path=/head/; revision=116175
* Man, I'm not on the ball. 4th does not need to escape '\' chars. ThisScott Long2003-05-311-8/+8
| | | | | | | should make our beloved friend look less like he has a massive head wound. Notes: svn path=/head/; revision=115451
* Flag when ACPI has been disabled by the user so that sysinstall can doScott Long2003-05-311-0/+2
| | | | | | | something with it. Notes: svn path=/head/; revision=115434
* Add a new bootloader menu. Pull in screen.4th and frames.4th from theScott Long2003-05-301-0/+206
examples directory to support it. This is installed only on i386 for now. It will be enabled in a later commit. Approved by: re Notes: svn path=/head/; revision=115410