#
f6166140 |
|
29-Nov-2022 |
Augustin Cavalier <waddlesplash@gmail.com> |
build: Define _BOOT_MODE once and for all in ArchitectureRules+BootRules. Previously it was spread all around the tree, and was not defined consistently for all boot objects (there were a number of boot modules which did not define it, but did include headers which checked for it.) Now, as it is handled in SetupBoot which is invoked for all boot objects, it will be applied consistently throughout. We can thus drop the manual additions of it from all Jamfiles.
|
#
cf77ef18 |
|
25-Jan-2019 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
haiku_loader: Toss iSCSITarget, add TCP stack to loader. * This iSCSI implementation only worked on PPC big-endian atm. * We're pretty sure iSCSI support in haiku_loader doesn't make much sense anymore. iPXE on (on arm,x86,etc EFI/BIOS platforms) supports iSCSI boot of disks. * Haiku could use a iSCSI driver add-on, but it would exist much higher up and likely use standard drivers vs bare-minimum iSCSI target impementations. * Leaving TCP and adding to all arches since it could make sense for haiku's native network disk subsystem or network debugging? Change-Id: Ic181b93a1d8ffd77f69e00e372b44b79abbddb42 Reviewed-on: https://review.haiku-os.org/c/899 Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com> Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
1f96a3cb |
|
08-Oct-2018 |
Jessica Hamilton <jessica.l.hamilton@gmail.com> |
system/boot: Add support for multiple bootloaders
|
#
c0bdc8be |
|
22-Apr-2016 |
Jessica Hamilton <jessica.l.hamilton@gmail.com> |
bootloader: build objects in $(TARGET_BOOT_PLATFORM) This separates the objects required for the various boot loaders, allowing the build system to be able to build for different targets alongside each other. Currently only done for bios_ia32 vs efi, as both loaders will be needed for the x86_64 images.
|
#
bd060476 |
|
06-Nov-2013 |
Fredrik Holmqvist <fredrik.holmqvist@gmail.com> |
Setup -fno-pic or -fpic in Architecture Rules. EFI boot needs -fpic but all boot code was built with -fno-pic. This is now set accordingly in HAIKU_BOOT_CCFLAGS and HAIKU_BOOT_C++FLAGS. Also setup compile flags for EFI platform.
|
#
65ad1ba3 |
|
26-May-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Made it possible to build the bootloader when targetting x86_64. * x86_64 is using the existing *_ia32 boot platforms. * Special flags are required when compiling the loader to get GCC to compile 32-bit code. This adds a new set of rules for compiling boot code rather than using the kernel rules, which compile using the necessary flags. * Some x86_64 private headers have been stubbed by #include'ing the x86 versions. These will be replaced later.
|
#
5b086e27 |
|
05-Sep-2010 |
Andreas Färber <andreas.faerber@web.de> |
boot_net: Add iSCSI initiator support Add support for both discovery and regular iSCSI sessions. Command and status sequence numbers do differentiate between session and connection but only one connection per session is currently supported. Code is Big Endian for now, so compile it for ppc only. Based on RFC 3720 ff. Tested against OpenSolaris 2009.06. Resolves most of ticket #5319. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38536 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1f4a2bd9 |
|
31-Aug-2010 |
Andreas Färber <andreas.faerber@web.de> |
boot_net: Disable TCP for all archs but ppc Unbreaks the build until a better solution is found. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38485 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b7e825d6 |
|
30-Aug-2010 |
Andreas Färber <andreas.faerber@web.de> |
boot_net: Add TCP support Modelled after UDP, add limited TCP support to the boot net stack. The socket works by queuing received packets as well as sent packets that have not yet been ACK'ed. Some known issues are documented, especially there's only limited congestion control. I.e., we send immediately and in unlimited quantity, thus its use should be restricted to local networks, and due to a fixed window size there is potential for our socket being overrun with data packets before they are read. Some corner cases like wrapping sequence numbers may cause a timeout. The TCP implementation is based on Andrew S. Tanenbaum's "Computer Networks", 4th ed., as well as lecture notes from Prof. W. Effelsberg, the relevant RFCs and Wikipedia. The pseudo-random number Galois LFSR used for the sequence number was suggested by Endre Varga. Since the code is unlikely to get much smaller, better merge it now so that subsequent changes get easier to review. No platform actively uses TCP sockets yet, and the receiving code has been reviewed for endianness issues and should terminate okay after verifying the checksum if no sockets are open. Based on a version tested with custom code (#5240) as well as with iSCSI. Compile-tested boot_loader_openfirmware, pxehaiku-loader with gcc4 and haiku_loader with gcc2. Closes ticket #5240. Changes from #5240 proposed patch: * Various bug fixes related to queuing, some memory leaks fixed. * Never bump the sequence number when dequeuing a packet. It's done afterwards. * Don't bump the sequence number again when resending the queue or ACK'ing. * Aggressively ACK while waiting for packets. * Don't queue sent ACK-only packets. * More trace output, esp. for queue inspection. * Adapted use of TCP header flags to r38434. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38472 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
44d56753 |
|
16-Aug-2006 |
Jérôme Duval <korli@users.berlios.de> |
KernelAddon and KernelStaticLibrary don't include kernel, kernel arch, boot platform headers anymore. Fixed the build of most of targets using these rules. Though the build can be still broken, feel free to fix. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18521 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d561d0ad |
|
27-Dec-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added a mini networking stack to the boot loader. It speaks basic ARP, IP, and UDP, as well as a home brewn UDP based protocol, "remote disk", which provides random access to a single remote file/device. The Open Firmware flavored boot loader automatically initializes the net stack, searches for a remote disk, and tries to boot from it, if the boot device is a network device (e.g. when loading the boot loader via TFTP). This is quite nice for developing with a two-machine setup, since one doesn't even need to install Haiku on the test machine anymore, but can serve it directly from the development machine. When the networking support in the kernel is working, this method could even be used to fully boot, not just for loading kernel and initial modules. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15689 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
65ad1ba320d945c9626f471c4fb0972ae49440b5 |
|
26-May-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Made it possible to build the bootloader when targetting x86_64. * x86_64 is using the existing *_ia32 boot platforms. * Special flags are required when compiling the loader to get GCC to compile 32-bit code. This adds a new set of rules for compiling boot code rather than using the kernel rules, which compile using the necessary flags. * Some x86_64 private headers have been stubbed by #include'ing the x86 versions. These will be replaced later.
|
#
5b086e27e874a6c81f5d6043f7bbcf7643840553 |
|
05-Sep-2010 |
Andreas Färber <andreas.faerber@web.de> |
boot_net: Add iSCSI initiator support Add support for both discovery and regular iSCSI sessions. Command and status sequence numbers do differentiate between session and connection but only one connection per session is currently supported. Code is Big Endian for now, so compile it for ppc only. Based on RFC 3720 ff. Tested against OpenSolaris 2009.06. Resolves most of ticket #5319. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38536 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1f4a2bd985ab741e817362074700b8c378f804e7 |
|
31-Aug-2010 |
Andreas Färber <andreas.faerber@web.de> |
boot_net: Disable TCP for all archs but ppc Unbreaks the build until a better solution is found. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38485 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b7e825d6e742817cd52eca03f6f1897452fa68e7 |
|
30-Aug-2010 |
Andreas Färber <andreas.faerber@web.de> |
boot_net: Add TCP support Modelled after UDP, add limited TCP support to the boot net stack. The socket works by queuing received packets as well as sent packets that have not yet been ACK'ed. Some known issues are documented, especially there's only limited congestion control. I.e., we send immediately and in unlimited quantity, thus its use should be restricted to local networks, and due to a fixed window size there is potential for our socket being overrun with data packets before they are read. Some corner cases like wrapping sequence numbers may cause a timeout. The TCP implementation is based on Andrew S. Tanenbaum's "Computer Networks", 4th ed., as well as lecture notes from Prof. W. Effelsberg, the relevant RFCs and Wikipedia. The pseudo-random number Galois LFSR used for the sequence number was suggested by Endre Varga. Since the code is unlikely to get much smaller, better merge it now so that subsequent changes get easier to review. No platform actively uses TCP sockets yet, and the receiving code has been reviewed for endianness issues and should terminate okay after verifying the checksum if no sockets are open. Based on a version tested with custom code (#5240) as well as with iSCSI. Compile-tested boot_loader_openfirmware, pxehaiku-loader with gcc4 and haiku_loader with gcc2. Closes ticket #5240. Changes from #5240 proposed patch: * Various bug fixes related to queuing, some memory leaks fixed. * Never bump the sequence number when dequeuing a packet. It's done afterwards. * Don't bump the sequence number again when resending the queue or ACK'ing. * Aggressively ACK while waiting for packets. * Don't queue sent ACK-only packets. * More trace output, esp. for queue inspection. * Adapted use of TCP header flags to r38434. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38472 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
44d5675324128d940518aaf7f2096efe9965db3a |
|
16-Aug-2006 |
Jérôme Duval <korli@users.berlios.de> |
KernelAddon and KernelStaticLibrary don't include kernel, kernel arch, boot platform headers anymore. Fixed the build of most of targets using these rules. Though the build can be still broken, feel free to fix. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18521 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d561d0ad6889135e08b83c18dede8872a75c6d75 |
|
27-Dec-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added a mini networking stack to the boot loader. It speaks basic ARP, IP, and UDP, as well as a home brewn UDP based protocol, "remote disk", which provides random access to a single remote file/device. The Open Firmware flavored boot loader automatically initializes the net stack, searches for a remote disk, and tries to boot from it, if the boot device is a network device (e.g. when loading the boot loader via TFTP). This is quite nice for developing with a two-machine setup, since one doesn't even need to install Haiku on the test machine anymore, but can serve it directly from the development machine. When the networking support in the kernel is working, this method could even be used to fully boot, not just for loading kernel and initial modules. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15689 a95241bf-73f2-0310-859d-f6bbb57e9c96
|