#
76681bd9 |
|
22-Sep-2023 |
Augustin Cavalier <waddlesplash@gmail.com> |
kernel: Rewrite B_DEBUG_SPINLOCK_CONTENTION. * Replace count_low/count_high with bigtime_t fields plus an int32. sizeof(spinlock) is now 32 bytes with the debug option enabled. * Adjust and clean up all spinlock code to use the new fields. * Fold DEBUG_SPINLOCK_LATENCIES into the new code. Remove the bootloader option and other flags for it (these were not compiled in by default.) The new code should be much easier to understand and also more powerful. However, the information transmitted to userland isn't as useful now; the KDL command output will have the interesting information. (Things could be reworked to transmit more interesting information to userland again if desired, but as this code clearly hadn't been compiled for many years, as it referred to global spinlocks that have been gone for a very long time.) Change-Id: I2cb34078bfdc7604f288a297b6cd1aa7ff9cc512 Reviewed-on: https://review.haiku-os.org/c/haiku/+/6943 Reviewed-by: waddlesplash <waddlesplash@gmail.com> Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
|
#
33f97c10 |
|
02-Jul-2022 |
Humdinger <humdingerb@gmail.com> |
Boot Options: Minor GUI string changes Under "Select Boot Volume" you can also select an older state to boot into: Rename to "Select Boot Volume/State". The title on the page to select an older state was "Select Haiku version". Since every un/install of any software package creates a "state" it's not actually the "Haiku version" but the overall state: Rename to "Select package activation state". Change-Id: Ife9408c52214f6ceeb9994c8b7020cec6d679f54 Reviewed-on: https://review.haiku-os.org/c/haiku/+/5428 Tested-by: Automation <automation@haiku-os.org> Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
|
#
66d04700 |
|
08-Jul-2021 |
beaglejoe <beaglejoe13@gmail.com> |
bootmenu: fix initial current boot volume selection Fixes #17069 Change-Id: I42f6ecbad57d7d6b21bfbde2645f1d7112d650b8 Reviewed-on: https://review.haiku-os.org/c/haiku/+/4200 Reviewed-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
|
#
6f2e83ce |
|
06-Apr-2021 |
Humdinger <humdingerb@gmail.com> |
Boot options: rename 'blocklist' option As 'blocklisting' sounds weird, esp. when used as verb, call the option "Disable system componets". Also, "components" is less technical than "entries". Change-Id: Ia6dbbbe6ebc800e2017e0fb4b0393d19f07afbc5 Reviewed-on: https://review.haiku-os.org/c/haiku/+/3833 Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com> Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
560961ee |
|
11-Aug-2020 |
Murai Takashi <tmurai01@gmail.com> |
Bootloader: replace blacklist with blocklist Various projects, both commercial and OSS, began to use inclusive terminology. There is no reason to not do it. In Haiku, bootloader uses Blacklist, which is recommended to replace with Denylist or Blocklist. I think Blocklist is appropriate here, since it's a list used to block offending driver at boot. Some strings remain unchanged for compatibility with previous naming, but this change prepares for later removal of these (once everyone has updated their kernel and bootloader). Change-Id: Id9105ff5e9fcb866000355089b5ef97bf63ee854 Reviewed-on: https://review.haiku-os.org/c/haiku/+/3145 Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
c9606abe |
|
30-Dec-2019 |
Augustin Cavalier <waddlesplash@gmail.com> |
boot_loader: Add an error message to the "Continue booting" item. This way, when it is disabled, at least there will be an error message giving some indication of what has gone wrong.
|
#
c1c99c5c |
|
11-Aug-2019 |
Ryan Leavengood <leavengood@gmail.com> |
boot_loader: Only load old package states in the boot menu Normal boots should not be slowed down by old package states. Should fix #12498. Later I will fix the package kit to merge old states so they don't build up indefinitely. Change-Id: I6830dd4ed65a3a659c0a68590238be0dcefff451 Reviewed-on: https://review.haiku-os.org/c/haiku/+/1703 Reviewed-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
|
#
deeaee6f |
|
14-Aug-2018 |
Humdinger <humdingerb@gmail.com> |
Boot options: add help text to state selection To indicate this is a menu you can enter to select a previous state to boot. Also rename "Latest version" to "Latest state" as that is more correct. Thanks waddlesplash for pointers. Fixes #14362
|
#
3aeed660 |
|
07-Aug-2014 |
Jérôme Duval <jerome.duval@gmail.com> |
include strings.h where appriopriate... instead or additionally to string.h, in preparation for functions move. * moves str[n]casecmp() functions and others to strings.h. * strings.h doesn't include string.h anymore. * this solves #10949
|
#
5c0f8450 |
|
14-Apr-2014 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Boot loader: Add support for choosing an old packages state For potential boot volumes with older packages states the respective item in the boot volume menu now has a sub menu for selecting a state. The boot loader functionality for this feature is complete -- i.e. the respective kernel is loaded and the name of the old state is added to the kernel args -- but kernel packagefs and package daemon support is still missing.
|
#
c552bd67 |
|
07-Apr-2014 |
Jessica Hamilton <jessica.l.hamilton@gmail.com> |
haiku_loader: search for matching shortcut in supermenus Fixes #7469.
|
#
8540ec24 |
|
19-Jan-2014 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Save previous session's debug syslog during boot Add boot loader debug menu option "Save syslog from previous session during boot". If enabled (defaults to true), the previous session's debug syslog data is copy to a separate buffer and passed to the kernel, which writes it back to the file /var/log/previous_syslog. As long as Haiku still boots, this should now be the most convenient way to retrieve the output from a kernel crash.
|
#
a3fe978f |
|
10-Dec-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
boot loader: Always show 4 GB memory limit safemode option On x86 we mainly want to disable PAE, which is now also used with less memory as long as NX support is available. Ideally we'd check this condition as well and only add the menu item, if the kernel would enable PAE.
|
#
65947ae5 |
|
30-Nov-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
boot loader: blacklist menu: Set different title when disabled When booting from CD (or when no boot volume has been selected) blacklisting isn't supported. In that case let the menu title indicated that.
|
#
ccfc7bea |
|
30-Nov-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
boot loader: blacklist menu: Add "Return to ..." item
|
#
cbfc38c6 |
|
30-Nov-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
boot loader: MenuItem: Add SetLabel()
|
#
c04f3a62 |
|
20-Nov-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
boot loader: Add safe mode blacklist submenu It's a browser for the system package content, where entries can be selected to blacklist them. The selected entries are removed from the packagefs instance in the boot loader, so that e.g. selected drivers won't be picked up. The paths are also added to the safe mode driver settings and will be interpreted when the system packagefs instance is mounted by the kernel.
|
#
6c7abe98 |
|
20-Nov-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
boot loader: Menu[Item] API improvements * Make Menu and MenuItem polymorphic. * MenuItem: - Make SetMarked() virtual, so it can be overridden. - Add SetSubmenu() and Supermenu(). - Delete the submenu in the destructor. * Menu: - Add Entered()/Exited() hooks. They frame the time the user navigates the menu or any of its submenus. The hooks allow for subclasses populating their item list dynamically. - Add SortItems(). * Update boot loader menu copyright text to include 2013, now that it is over soon. :-)
|
#
4b723e3f |
|
06-May-2013 |
Axel Dörfler <axeld@pinc-software.de> |
boot loader: Almost removed use of kernel_cpp.h. * For some reason that is beyond me, fat/CachedBlock.cpp needs this header, or else building the boot loader fails.
|
#
69a8b954 |
|
23-Jun-2012 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
FixedWidthPointer: Fix ==/!= operators, remove OtherType casts * FixedWidthPointer: - operators ==/!=: Change second operand type from void* to const Type*. Also add non-const version to resolve ambiguity warning when comparing with non-const pointer. - Add Pointer() getter. - Remove templatized cast operators. They are nice for casting the pointer directly to another pointer type, but result in ambiguity. * Make preloaded_image::debug_string_table non-const. Avoids clashes of the const and non-coast FixedWidthPointer comparison operators. A cleaner (but more verbose) solution would be to spezialize FixedWidthPointer for const types.
|
#
17a33898 |
|
21-Jun-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Remove phys_addr_range, just use addr_range for both virtual and physical address ranges (as requested by Ingo).
|
#
93cb9538 |
|
20-Jun-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Don't store a KMessage in kernel_args for the boot volume, only the buffer address/size. Pointers in kernel_args are going to be changed to unconditionally use 64-bit storage (to make kernel_args compatible with both the x86 and x86_64 kernels). KMessage stores a pointer to its buffer, however since KMessage is used outside of the boot code it is undesirable to change it to use 64-bit storage for the pointer as it may add additional overhead on 32-bit builds. Therefore, only store the buffer address and size and then construct a KMessage from those in the kernel.
|
#
34f10aee |
|
08-Mar-2012 |
Humdinger <humdingerb@gmail.com> |
Added a hint that connection parameters are defaults.
|
#
0a1b1648 |
|
06-Mar-2012 |
Humdinger <humdingerb@gmail.com> |
Small cosmetics of the boot loader. * Updated copyright to 2012. * Corrected capitalization of "Welcome To The..." * Added info for serial debug "(115200, 8N1)"
|
#
d11ea2b5 |
|
17-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Introduce BootVolume abstraction class BootVolume is initialized from a root directory of a volume. It finds the system directory, and -- not implemented yet -- mounts the system package, if the system is packaged, replacing the system directory with it. Adjusted several functionality (main(), the loader functions, user_menu()) to use BootVolume instead of the root directory.
|
#
5e78920c |
|
12-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added platform_debug_get_log_buffer() which returns the debug log buffer and its size. * Added "Display current boot loader log" item to the "Debug Options" boot loader menu. It displays what the boot loader has logged so far. Might be interesting for early boot issues when serial debugging is not possible. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42134 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e7d7b1e2 |
|
24-May-2011 |
Rene Gollent <anevilyak@gmail.com> |
Add debug option to disable the on-screen debug output's paging by default, for cases such as USB keyboards where the keyboard no longer functions once the kernel is entered and the USB stack initializes. Implements #7561. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41736 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e26b9867 |
|
23-May-2011 |
Rene Gollent <anevilyak@gmail.com> |
Build fix, removed one line too many. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41708 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5e3eb88b |
|
23-May-2011 |
Rene Gollent <anevilyak@gmail.com> |
Cleanup: no need for parsing since the kernel settings will handle semicolon separated options directly. Thanks Axel! git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41707 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8837310c |
|
23-May-2011 |
Rene Gollent <anevilyak@gmail.com> |
* Slightly alter the semantics of the input gathering function to take the menu item it's associated with rather than an input string. This allows it to calculate the position to start the input at, as well as the correct line to place it on. The previous solution always put the input at the center line, which happened to be the right place by happy coincidence unless one also had the menu items for viewing/saving the debug syslog present. * Implement input buffer scrolling, and consequently lift the previous size limit on user input (it is now only limited by the size of the passed in buffer). * Implement parsing of the input buffer to allow it to handle comma-separated options. Thus, one can now input things like "disable_smp true, serial_debug_output false" and it will be handled properly. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41706 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d2b49a00 |
|
18-May-2011 |
Rene Gollent <anevilyak@gmail.com> |
* Implement support for user input of additional safe mode options that aren't otherwise exposed via the safe mode menus. The option can be found under the debug options menu, where additional settings can be added one at a time with the same syntax used in kernel settings files (i.e. disable_acpi on). Scrolling of the input buffer is not yet supported (will implement that soon), so currently the input is clamped to the size of one line. This shouldn't be a problem for our current set of options though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41577 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e64bb277 |
|
14-May-2011 |
Michael Lotz <mmlr@mlotz.ch> |
Fix another oversight of r41500. The size check was using sizeof(char *) instead of bufferSize, corrupting entries when multiple items within the same menu were checked. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41505 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
469cccb2 |
|
14-May-2011 |
Rene Gollent <anevilyak@gmail.com> |
Fix small error in previous commit that resulted in the fix not working as intended. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41501 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e21407d0 |
|
14-May-2011 |
Rene Gollent <anevilyak@gmail.com> |
When applying settings from the boot menus, aggregate them and then add them to the kernel args in a single go. Otherwise we wind up with more link list entries than expected, which in turn resulted in settings not quite being parsed properly upon entering the kernel, which meant that if options were chosen in both the debug and safe mode menus, only the debug ones were applied. This might also have resulted in the kernel settings not being loaded correctly in such an instance. Should fix various issues people have had with safe mode settings not being applied properly. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41500 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b2330bb3 |
|
02-Jan-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
strcpy() -> strlcpy() (CID 7984). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40076 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
80b5decb |
|
02-Jan-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Init MenuItem::fShortcut in constructor (CID 10273). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40075 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
216cd910 |
|
26-Jun-2010 |
Philippe Saint-Pierre <stpere@gmail.com> |
Fix small typo in safe mode options menu. "compatibilty" => "compatibility" git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37268 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
36c80d70 |
|
25-Jun-2010 |
Axel Dörfler <axeld@pinc-software.de> |
* Fixed warnings. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37251 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7b1d69ec |
|
23-Jun-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added safe mode option B_SAFEMODE_4_GB_MEMORY_LIMIT (plus a boot loader menu item) and kernel settings option "4gb_memory_limit". Enabling either one causes the memory beyond 4 GB to be ignored. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37225 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
868aa7a0 |
|
15-Apr-2010 |
Axel Dörfler <axeld@pinc-software.de> |
* Added shortcut handling to the boot loader menu (in preparation of adopting ticket #5312). * Added shortcut 'b' to continue booting, 'r' to reboot. * Consolidated asterisk style. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36310 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
25bca188 |
|
27-Mar-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Moved setting the debug syslog default to main(). Previously that was done only when the boot loader menu was entered. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35977 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
38c7ed7c |
|
16-Mar-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added kernel debug config option KDEBUG_ENABLE_DEBUG_SYSLOG which determines the default setting for the "debug syslog" feature (can still be overridden in the boot loader). Per default enabled for kdebug level >= 1. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35884 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
085cf27b |
|
16-Mar-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added Directory::CreateFile() which can be implemented by file systems to support file creation. * Extended open() and open_from() to support O_CREAT to create files. open_from() has got an optional "permissions" parameter for that purpose. * Fixed errno. It would crash when being used. Also changed the POSIX functions to return their error code via errno as expected. * Added writev(). * FAT file system: - Added support for reading long file names. - Added support for creating files (8.3 name only) and writing to them. - Enabled scanning partitions with it. * Boot loader menu: - Enabled the "Reboot" menu item unconditionally. - Added "Save syslog from previous session" menu item to the debug menu. Currently saving the syslog to FAT32 volumes is supported. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35882 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
28a2172c |
|
11-Mar-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
kernel: * The kernel syslog ring buffer is no longer emptied by the syslog sender thread. Instead we only drop the oldest data from the buffer when we're writing to it and there's not enough free space in it. Advantages: We drop old data rather than the most recent data when the buffer is full. The "syslog" KDL command has more data available now. So the odds are that kernel syslog messages not written to disk yet are at least still in the kernel buffer. * Changed dprintf_no_syslog() semantics: Now it writes to the syslog, but doesn't notify the syslog sender thread. boot loader: * Added the ring_buffer implementation and a dummy user_memcpy(). * bios_x86: Moved the syslog stuff from serial.{cpp,h} to debug.{cpp.h}. * Moved the debug options from the "Select safe mode options" menu to a new "Select debug options" menu. * Added option "Enable debug syslog" to the new menu (ATM available on x86 only). It allocates a 1 MB in-memory buffer for the syslog for this session in such a way that it can be accessed by the boot loader after a reset. * Added item "Display syslog from previous session" to the new menu, doing what its name suggests. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35816 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3ce26345 |
|
30-Dec-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Fixed the semantics of [v]snprintf(): If the buffer is not large enough, the function shall nevertheless return the length of the string that would be written, if the buffer were large enough. Added a touch of C++ while doing that. :-) * Fixed the instances in boot loader, kernel, and kernel modules where the wrong semantics were expected. The majority of uses actually. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34826 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6242fd59 |
|
08-Nov-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Added the possibility to debug latency issues with spinlocks. * When DEBUG_SPINLOCK_LATENCIES is 1, the system will panic if any spinlock is held longer than DEBUG_LATENCY micro seconds (currently 200). If your system doesn't boot anymore, a new safemode setting can disable the panic. * Besides some problems during boot when the MTRRs are set up, 200 usecs work fine here if all debug output is turned off (the output stuff is definitely problematic, though I don't have a good idea on how to improve upon it a lot). * Renamed the formerly BeOS compatible safemode settings to look better; there is no need to be compatible there. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33953 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
89294b50 |
|
26-Aug-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Added option for enabling serial debug output. * Moved device_manager/settings.cpp to debug/safemode_settings.cpp. * Removed the somewhat hacky concatenation of kernel settings and safemode settings in the boot loader. Instead, get_safemode_option() will now fall back to the kernel settings, if it couldn't spot a setting in the safemode settings. This allows for more control, and also makes enabling serial debug output actually work (ie. overriding the kernel settings via safemode options). * Adjusted debug_init_post_vm(), and smp_init_other_cpus() to use get_safemode_boolean(). * Therefore, I added safemode_settings.cpp to the boot loader as well. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32685 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
eb0a51d2 |
|
30-Jun-2008 |
Philippe Houdoin <philippe.houdoin@gmail.com> |
Applied patch by David Powell: fix missing and existing bootloader options menu items help texts. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26184 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fc205e97 |
|
26-Dec-2007 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
added more debug output git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23167 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9e8dc2a9 |
|
14-Jul-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
[Sorry, couldn't split this one up any further.] * Images preloaded by the boot loader had to be modules to be of any use to the kernel. Extended the mechanism so that any images not accepted by the module code would later be tried to be added as drivers by the devfs. This is a little hacky ATM, since the devfs manages the drivers using a hash map keyed by the drivers inode ID, which those drivers obviously don't have. * The devfs emulates read_pages() using read(), if the device driver doesn't implement the former (all old-style drivers), thus making it possible to BFS, which uses the file cache which in turn requires read_pages(), on the device. write_pages() emulation is still missing. * Replaced the kernel_args::boot_disk structure by a KMessage, which can more flexibly be extended and deals more gracefully with arbitrarily-size data. The disk_identifier structure still exists, though. It is added as message field in cases where needed (non net boot). Moved the boot_drive_number field of the bios_ia32 platform specific args into the message. * Made the stage 1 PXE boot loader superfluous. Moved the relevant initialization code into the stage 2 loader, which can now be loaded directly via PXE. * The PXE boot loader does now download a boot tgz archive via TFTP. It does no longer use the RemoteDisk protocol (it could actually be removed from the boot loader). It also parses the DHCP options in the DHCPACK packet provided by PXE and extracts the root path to be mounted by the kernel. * Reorganized the boot volume search in the kernel (vfs_boot.cpp) and added support for network boot. In this case the net stack is initialized and the network interface the boot loader used is brought up and configured. Since NBD and RemoteDisk are our only options for net boot (and those aren't really configurable dynamically) ATM, the the boot device is found automatically by the disk device manager. Booting via PXE does work to some degree now. The most grievous problem is that loading certain drivers or kernel modules (or related activity) causes a reboot (likely a triple fault, though one wonders where our double fault handler is on vacation). Namely the keyboard and mouse input server add-ons need to be deactivated as well as the media server. A smaller problem is the net server, which apparently tries to (re-)configure the network interface we're using to boot, which obviously doesn't work out that well. So, if all this stuff is disabled Haiku does fully boot, when using the RemoteDisk protocol (not being able to use keyboard or mouse doesn't make this a particular fascinating experience, though ;-)). I had no luck with NBD -- it seemed to have protocol problems with the servers I tried. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21611 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8ba7bc69 |
|
19-Jun-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Calms down a superfluous GCC 2 warning. * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21468 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5efe9479 |
|
13-Jan-2007 |
Jérôme Duval <korli@users.berlios.de> |
ACPI boot menu item is for bios_ia32 added a kernel settings option to disable ACPI git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19791 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
173acea7 |
|
12-Jan-2007 |
Jérôme Duval <korli@users.berlios.de> |
added a boot menu option "Disable ACPI" and code to avoid loading the ACPI module when it's active. untested (because of sudden reboots when boot menu is used). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19777 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
82029bda |
|
16-Sep-2006 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
added missing nothrow parameter git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18868 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
92447917 |
|
25-Jan-2006 |
Axel Dörfler <axeld@pinc-software.de> |
Implemented on screen debug output during boot - to be enabled in the boot loader safemode menu. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16081 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
391f9962 |
|
24-Oct-2005 |
Axel Dörfler <axeld@pinc-software.de> |
NULL MenuItem::Data() entries are now filtered out. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14497 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
df13a980 |
|
17-Oct-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Mixed up concepts of a selected and a marked item - the Menu::ChoiceText() is now set correctly (it behaved a bit fuzzy before). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14396 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5ea23bb0 |
|
14-Oct-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Removed platform_boot_device_is_image() again; it's now replaced by a field "booted_from_image" in the kernel_args' boot_disk structure. Also, added fields "cd" and "user_selected". A CHOICE_MENU menu can now have a choice text - this is automatically updated as entries in the menu get selected. The boot volume menu now has the initial choice text "CD-ROM or hard drive" in case the boot loader was loaded from an image. The "Rescan volumes" item is no longer selected by default (only if there was no boot volume found) - but it's still functionless anyway. The TAR fs will now appear as "Boot from CD-ROM" in the boot volume menu. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14388 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5af32e75 |
|
13-Apr-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Renamed src/kernel to src/system. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12359 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3aeed6607cd07762c0e709633c012b3a632dbad9 |
|
07-Aug-2014 |
Jérôme Duval <jerome.duval@gmail.com> |
include strings.h where appriopriate... instead or additionally to string.h, in preparation for functions move. * moves str[n]casecmp() functions and others to strings.h. * strings.h doesn't include string.h anymore. * this solves #10949
|
#
5c0f8450acfa799aaf13a0e86ba8941212a6bfb3 |
|
14-Apr-2014 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Boot loader: Add support for choosing an old packages state For potential boot volumes with older packages states the respective item in the boot volume menu now has a sub menu for selecting a state. The boot loader functionality for this feature is complete -- i.e. the respective kernel is loaded and the name of the old state is added to the kernel args -- but kernel packagefs and package daemon support is still missing.
|
#
c552bd67714954d1fd5b1be90aacaf78142037a0 |
|
07-Apr-2014 |
Jessica Hamilton <jessica.l.hamilton@gmail.com> |
haiku_loader: search for matching shortcut in supermenus Fixes #7469.
|
#
8540ec2446d1fda22904ace548570b73d91f4726 |
|
19-Jan-2014 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Save previous session's debug syslog during boot Add boot loader debug menu option "Save syslog from previous session during boot". If enabled (defaults to true), the previous session's debug syslog data is copy to a separate buffer and passed to the kernel, which writes it back to the file /var/log/previous_syslog. As long as Haiku still boots, this should now be the most convenient way to retrieve the output from a kernel crash.
|
#
a3fe978f8ab957ea216b6d50982c7da2b70abea2 |
|
10-Dec-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
boot loader: Always show 4 GB memory limit safemode option On x86 we mainly want to disable PAE, which is now also used with less memory as long as NX support is available. Ideally we'd check this condition as well and only add the menu item, if the kernel would enable PAE.
|
#
65947ae5ae53be36ecd9b9190c632e1fcb6a20f8 |
|
30-Nov-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
boot loader: blacklist menu: Set different title when disabled When booting from CD (or when no boot volume has been selected) blacklisting isn't supported. In that case let the menu title indicated that.
|
#
ccfc7bea502f61c942a39ef40ad783960f70f2d3 |
|
30-Nov-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
boot loader: blacklist menu: Add "Return to ..." item
|
#
cbfc38c62d972fa79a84b8b2ed528e10f3b82eae |
|
30-Nov-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
boot loader: MenuItem: Add SetLabel()
|
#
c04f3a625afa73d870e755e27e1ebdf9ea6c8038 |
|
20-Nov-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
boot loader: Add safe mode blacklist submenu It's a browser for the system package content, where entries can be selected to blacklist them. The selected entries are removed from the packagefs instance in the boot loader, so that e.g. selected drivers won't be picked up. The paths are also added to the safe mode driver settings and will be interpreted when the system packagefs instance is mounted by the kernel.
|
#
6c7abe982939eb2f37df772014db96ad8b5f440a |
|
20-Nov-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
boot loader: Menu[Item] API improvements * Make Menu and MenuItem polymorphic. * MenuItem: - Make SetMarked() virtual, so it can be overridden. - Add SetSubmenu() and Supermenu(). - Delete the submenu in the destructor. * Menu: - Add Entered()/Exited() hooks. They frame the time the user navigates the menu or any of its submenus. The hooks allow for subclasses populating their item list dynamically. - Add SortItems(). * Update boot loader menu copyright text to include 2013, now that it is over soon. :-)
|
#
4b723e3fb86ecc8027728c6c26d782964419f573 |
|
06-May-2013 |
Axel Dörfler <axeld@pinc-software.de> |
boot loader: Almost removed use of kernel_cpp.h. * For some reason that is beyond me, fat/CachedBlock.cpp needs this header, or else building the boot loader fails.
|
#
69a8b95491c160f03a5b0dab0fa8d1899fe42d4b |
|
23-Jun-2012 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
FixedWidthPointer: Fix ==/!= operators, remove OtherType casts * FixedWidthPointer: - operators ==/!=: Change second operand type from void* to const Type*. Also add non-const version to resolve ambiguity warning when comparing with non-const pointer. - Add Pointer() getter. - Remove templatized cast operators. They are nice for casting the pointer directly to another pointer type, but result in ambiguity. * Make preloaded_image::debug_string_table non-const. Avoids clashes of the const and non-coast FixedWidthPointer comparison operators. A cleaner (but more verbose) solution would be to spezialize FixedWidthPointer for const types.
|
#
17a3389882cee19532ddc99bc1f9aa1efd296749 |
|
21-Jun-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Remove phys_addr_range, just use addr_range for both virtual and physical address ranges (as requested by Ingo).
|
#
93cb9538be54a2dd4ab6097453ac7d521a9a0b6c |
|
20-Jun-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Don't store a KMessage in kernel_args for the boot volume, only the buffer address/size. Pointers in kernel_args are going to be changed to unconditionally use 64-bit storage (to make kernel_args compatible with both the x86 and x86_64 kernels). KMessage stores a pointer to its buffer, however since KMessage is used outside of the boot code it is undesirable to change it to use 64-bit storage for the pointer as it may add additional overhead on 32-bit builds. Therefore, only store the buffer address and size and then construct a KMessage from those in the kernel.
|
#
34f10aee4145ce12b4be86a43460c07965d2e521 |
|
08-Mar-2012 |
Humdinger <humdingerb@gmail.com> |
Added a hint that connection parameters are defaults.
|
#
0a1b16486b06e14e610da6f22b400a2da90464ce |
|
06-Mar-2012 |
Humdinger <humdingerb@gmail.com> |
Small cosmetics of the boot loader. * Updated copyright to 2012. * Corrected capitalization of "Welcome To The..." * Added info for serial debug "(115200, 8N1)"
|
#
d11ea2b5edf78d1018b1149a57a593af50687920 |
|
17-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Introduce BootVolume abstraction class BootVolume is initialized from a root directory of a volume. It finds the system directory, and -- not implemented yet -- mounts the system package, if the system is packaged, replacing the system directory with it. Adjusted several functionality (main(), the loader functions, user_menu()) to use BootVolume instead of the root directory.
|
#
5e78920c127914641b54a79ce41cb7120b6615fc |
|
12-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added platform_debug_get_log_buffer() which returns the debug log buffer and its size. * Added "Display current boot loader log" item to the "Debug Options" boot loader menu. It displays what the boot loader has logged so far. Might be interesting for early boot issues when serial debugging is not possible. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42134 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e7d7b1e232d4bf96e2f01a32c9a6897053ac6cf1 |
|
24-May-2011 |
Rene Gollent <anevilyak@gmail.com> |
Add debug option to disable the on-screen debug output's paging by default, for cases such as USB keyboards where the keyboard no longer functions once the kernel is entered and the USB stack initializes. Implements #7561. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41736 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e26b9867f0cff8263c8402015ad9dc586ae2344e |
|
23-May-2011 |
Rene Gollent <anevilyak@gmail.com> |
Build fix, removed one line too many. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41708 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5e3eb88b1c471f69cfbe5326b0df57f5fdce9b50 |
|
23-May-2011 |
Rene Gollent <anevilyak@gmail.com> |
Cleanup: no need for parsing since the kernel settings will handle semicolon separated options directly. Thanks Axel! git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41707 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8837310ce73c6558049edd7763e6e655eba3863f |
|
23-May-2011 |
Rene Gollent <anevilyak@gmail.com> |
* Slightly alter the semantics of the input gathering function to take the menu item it's associated with rather than an input string. This allows it to calculate the position to start the input at, as well as the correct line to place it on. The previous solution always put the input at the center line, which happened to be the right place by happy coincidence unless one also had the menu items for viewing/saving the debug syslog present. * Implement input buffer scrolling, and consequently lift the previous size limit on user input (it is now only limited by the size of the passed in buffer). * Implement parsing of the input buffer to allow it to handle comma-separated options. Thus, one can now input things like "disable_smp true, serial_debug_output false" and it will be handled properly. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41706 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d2b49a00311f3e9a474e02d1724a5beed8b5f293 |
|
18-May-2011 |
Rene Gollent <anevilyak@gmail.com> |
* Implement support for user input of additional safe mode options that aren't otherwise exposed via the safe mode menus. The option can be found under the debug options menu, where additional settings can be added one at a time with the same syntax used in kernel settings files (i.e. disable_acpi on). Scrolling of the input buffer is not yet supported (will implement that soon), so currently the input is clamped to the size of one line. This shouldn't be a problem for our current set of options though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41577 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e64bb2771271a3ba4b84177ef5c9aa8798b59e9a |
|
14-May-2011 |
Michael Lotz <mmlr@mlotz.ch> |
Fix another oversight of r41500. The size check was using sizeof(char *) instead of bufferSize, corrupting entries when multiple items within the same menu were checked. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41505 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
469cccb22c786971f6d2f65ff1226bebc683cc8a |
|
14-May-2011 |
Rene Gollent <anevilyak@gmail.com> |
Fix small error in previous commit that resulted in the fix not working as intended. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41501 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e21407d07b82a11ecff5cdd27acf2c51fa6030c2 |
|
14-May-2011 |
Rene Gollent <anevilyak@gmail.com> |
When applying settings from the boot menus, aggregate them and then add them to the kernel args in a single go. Otherwise we wind up with more link list entries than expected, which in turn resulted in settings not quite being parsed properly upon entering the kernel, which meant that if options were chosen in both the debug and safe mode menus, only the debug ones were applied. This might also have resulted in the kernel settings not being loaded correctly in such an instance. Should fix various issues people have had with safe mode settings not being applied properly. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41500 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b2330bb3191e34cea60459e5ba0091bf6e979da4 |
|
02-Jan-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
strcpy() -> strlcpy() (CID 7984). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40076 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
80b5decbec04707c5b841b37385a1997bb882955 |
|
02-Jan-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Init MenuItem::fShortcut in constructor (CID 10273). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40075 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
216cd910b66d3957a016e120b30fd1b33cd572a1 |
|
26-Jun-2010 |
Philippe Saint-Pierre <stpere@gmail.com> |
Fix small typo in safe mode options menu. "compatibilty" => "compatibility" git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37268 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
36c80d700277377b7d6ebe204e8f7a4fb94078ad |
|
25-Jun-2010 |
Axel Dörfler <axeld@pinc-software.de> |
* Fixed warnings. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37251 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7b1d69ecbb66d555b074b028e26380e92c198673 |
|
23-Jun-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added safe mode option B_SAFEMODE_4_GB_MEMORY_LIMIT (plus a boot loader menu item) and kernel settings option "4gb_memory_limit". Enabling either one causes the memory beyond 4 GB to be ignored. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37225 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
868aa7a0e08a6f01717ea8029190baa456794e49 |
|
15-Apr-2010 |
Axel Dörfler <axeld@pinc-software.de> |
* Added shortcut handling to the boot loader menu (in preparation of adopting ticket #5312). * Added shortcut 'b' to continue booting, 'r' to reboot. * Consolidated asterisk style. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36310 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
25bca18888c038fe4cedfc1a7711498f48a7814b |
|
27-Mar-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Moved setting the debug syslog default to main(). Previously that was done only when the boot loader menu was entered. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35977 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
38c7ed7c476e4a985fee9129c8150a85237d362e |
|
16-Mar-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added kernel debug config option KDEBUG_ENABLE_DEBUG_SYSLOG which determines the default setting for the "debug syslog" feature (can still be overridden in the boot loader). Per default enabled for kdebug level >= 1. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35884 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
085cf27b40c06dc45f633f33c41258f32bec3a23 |
|
16-Mar-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added Directory::CreateFile() which can be implemented by file systems to support file creation. * Extended open() and open_from() to support O_CREAT to create files. open_from() has got an optional "permissions" parameter for that purpose. * Fixed errno. It would crash when being used. Also changed the POSIX functions to return their error code via errno as expected. * Added writev(). * FAT file system: - Added support for reading long file names. - Added support for creating files (8.3 name only) and writing to them. - Enabled scanning partitions with it. * Boot loader menu: - Enabled the "Reboot" menu item unconditionally. - Added "Save syslog from previous session" menu item to the debug menu. Currently saving the syslog to FAT32 volumes is supported. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35882 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
28a2172c3f19a34e31ba20085148e5428544823a |
|
11-Mar-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
kernel: * The kernel syslog ring buffer is no longer emptied by the syslog sender thread. Instead we only drop the oldest data from the buffer when we're writing to it and there's not enough free space in it. Advantages: We drop old data rather than the most recent data when the buffer is full. The "syslog" KDL command has more data available now. So the odds are that kernel syslog messages not written to disk yet are at least still in the kernel buffer. * Changed dprintf_no_syslog() semantics: Now it writes to the syslog, but doesn't notify the syslog sender thread. boot loader: * Added the ring_buffer implementation and a dummy user_memcpy(). * bios_x86: Moved the syslog stuff from serial.{cpp,h} to debug.{cpp.h}. * Moved the debug options from the "Select safe mode options" menu to a new "Select debug options" menu. * Added option "Enable debug syslog" to the new menu (ATM available on x86 only). It allocates a 1 MB in-memory buffer for the syslog for this session in such a way that it can be accessed by the boot loader after a reset. * Added item "Display syslog from previous session" to the new menu, doing what its name suggests. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35816 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3ce26345338e484601eb0a6598414d22cb73c9cc |
|
30-Dec-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Fixed the semantics of [v]snprintf(): If the buffer is not large enough, the function shall nevertheless return the length of the string that would be written, if the buffer were large enough. Added a touch of C++ while doing that. :-) * Fixed the instances in boot loader, kernel, and kernel modules where the wrong semantics were expected. The majority of uses actually. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34826 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6242fd597772185600b922845b95c5223f8b3336 |
|
08-Nov-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Added the possibility to debug latency issues with spinlocks. * When DEBUG_SPINLOCK_LATENCIES is 1, the system will panic if any spinlock is held longer than DEBUG_LATENCY micro seconds (currently 200). If your system doesn't boot anymore, a new safemode setting can disable the panic. * Besides some problems during boot when the MTRRs are set up, 200 usecs work fine here if all debug output is turned off (the output stuff is definitely problematic, though I don't have a good idea on how to improve upon it a lot). * Renamed the formerly BeOS compatible safemode settings to look better; there is no need to be compatible there. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33953 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
89294b508428bd4575a67bd179bceabce7619c08 |
|
26-Aug-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Added option for enabling serial debug output. * Moved device_manager/settings.cpp to debug/safemode_settings.cpp. * Removed the somewhat hacky concatenation of kernel settings and safemode settings in the boot loader. Instead, get_safemode_option() will now fall back to the kernel settings, if it couldn't spot a setting in the safemode settings. This allows for more control, and also makes enabling serial debug output actually work (ie. overriding the kernel settings via safemode options). * Adjusted debug_init_post_vm(), and smp_init_other_cpus() to use get_safemode_boolean(). * Therefore, I added safemode_settings.cpp to the boot loader as well. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32685 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
eb0a51d2f292f1774948f165f68735f9c12edc77 |
|
30-Jun-2008 |
Philippe Houdoin <philippe.houdoin@gmail.com> |
Applied patch by David Powell: fix missing and existing bootloader options menu items help texts. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26184 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fc205e971718ba4c460c3e0f8b64949ee0b17192 |
|
26-Dec-2007 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
added more debug output git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23167 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9e8dc2a9bbbe768acdfd224a6a4af01918bb4ce0 |
|
14-Jul-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
[Sorry, couldn't split this one up any further.] * Images preloaded by the boot loader had to be modules to be of any use to the kernel. Extended the mechanism so that any images not accepted by the module code would later be tried to be added as drivers by the devfs. This is a little hacky ATM, since the devfs manages the drivers using a hash map keyed by the drivers inode ID, which those drivers obviously don't have. * The devfs emulates read_pages() using read(), if the device driver doesn't implement the former (all old-style drivers), thus making it possible to BFS, which uses the file cache which in turn requires read_pages(), on the device. write_pages() emulation is still missing. * Replaced the kernel_args::boot_disk structure by a KMessage, which can more flexibly be extended and deals more gracefully with arbitrarily-size data. The disk_identifier structure still exists, though. It is added as message field in cases where needed (non net boot). Moved the boot_drive_number field of the bios_ia32 platform specific args into the message. * Made the stage 1 PXE boot loader superfluous. Moved the relevant initialization code into the stage 2 loader, which can now be loaded directly via PXE. * The PXE boot loader does now download a boot tgz archive via TFTP. It does no longer use the RemoteDisk protocol (it could actually be removed from the boot loader). It also parses the DHCP options in the DHCPACK packet provided by PXE and extracts the root path to be mounted by the kernel. * Reorganized the boot volume search in the kernel (vfs_boot.cpp) and added support for network boot. In this case the net stack is initialized and the network interface the boot loader used is brought up and configured. Since NBD and RemoteDisk are our only options for net boot (and those aren't really configurable dynamically) ATM, the the boot device is found automatically by the disk device manager. Booting via PXE does work to some degree now. The most grievous problem is that loading certain drivers or kernel modules (or related activity) causes a reboot (likely a triple fault, though one wonders where our double fault handler is on vacation). Namely the keyboard and mouse input server add-ons need to be deactivated as well as the media server. A smaller problem is the net server, which apparently tries to (re-)configure the network interface we're using to boot, which obviously doesn't work out that well. So, if all this stuff is disabled Haiku does fully boot, when using the RemoteDisk protocol (not being able to use keyboard or mouse doesn't make this a particular fascinating experience, though ;-)). I had no luck with NBD -- it seemed to have protocol problems with the servers I tried. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21611 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8ba7bc695af9cde6701fc4b512104c9e7d1c9e8e |
|
19-Jun-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Calms down a superfluous GCC 2 warning. * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21468 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5efe9479fe2d64624e32112d1a246865952d8a65 |
|
13-Jan-2007 |
Jérôme Duval <korli@users.berlios.de> |
ACPI boot menu item is for bios_ia32 added a kernel settings option to disable ACPI git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19791 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
173acea776e8c550648dfb3ef00430eabd520d4f |
|
12-Jan-2007 |
Jérôme Duval <korli@users.berlios.de> |
added a boot menu option "Disable ACPI" and code to avoid loading the ACPI module when it's active. untested (because of sudden reboots when boot menu is used). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19777 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
82029bdae870b0e257a54929116ddfb6da9efdca |
|
16-Sep-2006 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
added missing nothrow parameter git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18868 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
924479179b8e0792397a804dccfefb9947ea04cd |
|
25-Jan-2006 |
Axel Dörfler <axeld@pinc-software.de> |
Implemented on screen debug output during boot - to be enabled in the boot loader safemode menu. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16081 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
391f996261977c17a5a6b4d55db14f28dbfed4e7 |
|
24-Oct-2005 |
Axel Dörfler <axeld@pinc-software.de> |
NULL MenuItem::Data() entries are now filtered out. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14497 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
df13a980fe154a88eb6bb140a9550b765bb417a5 |
|
17-Oct-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Mixed up concepts of a selected and a marked item - the Menu::ChoiceText() is now set correctly (it behaved a bit fuzzy before). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14396 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5ea23bb0a3c0abdd8494122942c1327e5734d959 |
|
14-Oct-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Removed platform_boot_device_is_image() again; it's now replaced by a field "booted_from_image" in the kernel_args' boot_disk structure. Also, added fields "cd" and "user_selected". A CHOICE_MENU menu can now have a choice text - this is automatically updated as entries in the menu get selected. The boot volume menu now has the initial choice text "CD-ROM or hard drive" in case the boot loader was loaded from an image. The "Rescan volumes" item is no longer selected by default (only if there was no boot volume found) - but it's still functionless anyway. The TAR fs will now appear as "Boot from CD-ROM" in the boot volume menu. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14388 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5af32e752606778be5dd7379f319fe43cb3f6b8c |
|
13-Apr-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Renamed src/kernel to src/system. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12359 a95241bf-73f2-0310-859d-f6bbb57e9c96
|