History log of /haiku/src/tools/makebootable/platform/bios_ia32/Jamfile
Revision Date Author Comments
# 61790bdb 09-Sep-2022 Jérôme Duval <jerome.duval@gmail.com>

partitioning_systems: create libpartitioning_systemscommon for common files

Change-Id: I1b3c2f9bad60024a7a07ae4bbfe3970ac5ae42b4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5632
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>


# 37c10606 23-Nov-2018 Augustin Cavalier <waddlesplash@gmail.com>

build: Remove support for cross-building from Cygwin and SunOS.

These have been broken for a long time. Some Cygwin changes that
are relevant on MinGW are kept here, but users on Windows who
want to build Haiku should probably use WSL at this point.

However, now that we are using relative paths and don't need
to worry about drive path kludges, it's actually possible to
get some host tools built on MinGW. Changes for that coming.


# 80bc54a5 17-Dec-2016 Jessica Hamilton <jessica.l.hamilton@gmail.com>

partitioning_systems/gpt: write the protective MBR & bootloader

* This fixes booting Haiku when creating a brand new GPT
partition layout with the BIOS/MBR.
* This also fixes boot issues with UEFI based on OVMF, which
rejects GPT partitions that don't have the protective MBR.


# fcad732f 08-Oct-2015 Jessica Hamilton <jessica.l.hamilton@gmail.com>

Revert "makebootable: Add in needed GPT libuuid on cross-platform builds"

This reverts commit 832f090ea891d7189b5ecad438a925d3c2f993f8.


# f217aa87 08-Oct-2015 Jessica Hamilton <jessica.l.hamilton@gmail.com>

gpt/Header.cpp: also disable UUID code when _USER_MODE defined.

src/tools/makebootable defines _USER_MODE, which we can check
for in gpt/Header.cpp to remove the dependency on libuuid, as
makebootable only needs read-only access to partition maps
anyway.


# c5271e6b 08-Oct-2015 Rene Gollent <rene@gollent.com>

makebootable: Fix various build problems.

- Add jamfile for a build variant of libuuid.
- Adjust the build version of makebootable to link to that instead, as it would
otherwise link in the target platform's version of libuuid_kernel, which
wasn't necessarily compatible with the build platform's objects (i.e. when
building a 32-bit Haiku image on a 64-bit host OS), and would consequently
fail.


# 832f090e 07-Oct-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

makebootable: Add in needed GPT libuuid on cross-platform builds


# 42f25fe9 04-Jun-2015 Jessica Hamilton <jessica.l.hamilton@gmail.com>

makebootable: add support for GPT partition tables; fixes #9291

* with #4028 implemented, we can now use makebootable on
GPT formatted disks as well.


# b0944c78 01-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

More work towards hybrid support

* All packaging architecture dependent variables do now have a
respective suffix and are set up for each configured packaging
architecture, save for the kernel and boot loader variables, which
are still only set up for the primary architecture.
For convenience TARGET_PACKAGING_ARCH, TARGET_ARCH, TARGET_LIBSUPC++,
and TARGET_LIBSTDC++ are set to the respective values for the primary
packaging architecture by default.
* Introduce a set of MultiArch* rules to help with building targets for
multiple packaging architectures. Generally the respective targets are
(additionally) gristed with the packaging architecture. For libraries
the additional grist is usually omitted for the primary architecture
(e.g. libroot.so and <x86>libroot.so for x86_gcc2/x86 hybrid), so that
Jamfiles for targets built only for the primary architecture don't
need to be changed.
* Add multi-arch build support for all targets needed for the stage 1
cross devel package as well as for libbe (untested).


# d6778355 30-Sep-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* <DiskDeviceTypes.h>: Removed kPartitionTypeIntel{Primary,Logical} constants.
* Added new header headers/private/system/disk_device_types.h, which defines
the <DiskDeviceTypes.h> constants as macros and which can be used where the
constants cannot be used. The constants are defined using the macros, so now
there's only one place where the string literals should be specified.
* Use the macros in the partitioning systems. I was too lazy to also adjust the
file systems -- most of them seem to hard-code the string literal yet.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33386 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 21055357 31-Oct-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Artur Wyszynski: Added support for partitions in Darwin.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28404 a95241bf-73f2-0310-859d-f6bbb57e9c96


# dfcc059e 13-Oct-2008 Rene Gollent <anevilyak@gmail.com>

Fix build of tool version of makebootable on Haiku.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28062 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4d121ec0 09-Aug-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Andreas Faerber with changes by myself: Work towards Solaris
build platform support.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26899 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 39fd631a 23-Jul-2008 Maurice Kalinowski <mauricek@nowhere.fake>

julun+mauricek:
* as on darwin platform we cannot use resources for the boot sector data. Instead use attributes to store the data.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26589 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 39bdbadf 18-May-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

If the boot code couldn't be found in makebootable's resources, it tries
to load it from an attribute ("BootCode"). On Darwin we write the boot
code into this attribute. This should solve the problem that writing
resources into the makebootable file renders it not executable there.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21170 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6dcd0ccf 18-May-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Morgan Howe (slightly modified): Several changes to support
building on Mac OS X (Darwin). A problem with makebootable remains.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21165 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 69b1f76d 29-Nov-2006 Ingo Weinhold <ingo_weinhold@gmx.de>

FreeBSD build platform support. Original patches courtesy of
Samuel Rodriguez Perez, somewhat hacked by myself.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19392 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 622e9392 05-Apr-2006 Axel Dörfler <axeld@pinc-software.de>

Not useless at all, fixed build.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17013 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 04a5721e 05-Apr-2006 Jérôme Duval <korli@users.berlios.de>

storage headers useless


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17010 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 04fcc147 29-Jan-2006 Ingo Weinhold <ingo_weinhold@gmx.de>

* Small fixes.
* Added --dry-run option for paranoid ones like me.
* Added support for making partition devices bootable under Linux (x86, BIOS).

When specifying respective values for HAIKU_IMAGE_{DIR,NAME} ("/dev" and
e.g. "sda7") a "jam haiku-image" will now replace the contents of your
favorite partition with a fresh Haiku installation. BE WARNED: This is nothing
for the faint of heart and I don't guarantee that my implementation is bug-free
and won't mangle the contents of your hard disk even if you use it correctly.

That being said, note that you'll probably have to run the "jam haiku-image"
as root, if you want to access the partition devices, which is a bit annoying.
Furthermore, if the build_haiku_image script fails for any reason, jam tends
to remove the image file, which in this case would be a partition device node.
The mknod command will be your friend in this case.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16148 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 338b8dc3 29-Oct-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Merged changes from branch build_system_redesign at revision 14573.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14574 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 832f090ea891d7189b5ecad438a925d3c2f993f8 07-Oct-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

makebootable: Add in needed GPT libuuid on cross-platform builds


# 42f25fe91bce590ec592fc1b0bdaba3e2356fe37 04-Jun-2015 Jessica Hamilton <jessica.l.hamilton@gmail.com>

makebootable: add support for GPT partition tables; fixes #9291

* with #4028 implemented, we can now use makebootable on
GPT formatted disks as well.


# b0944c78b074a8110bd98e060415d0e8f38a7f65 01-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

More work towards hybrid support

* All packaging architecture dependent variables do now have a
respective suffix and are set up for each configured packaging
architecture, save for the kernel and boot loader variables, which
are still only set up for the primary architecture.
For convenience TARGET_PACKAGING_ARCH, TARGET_ARCH, TARGET_LIBSUPC++,
and TARGET_LIBSTDC++ are set to the respective values for the primary
packaging architecture by default.
* Introduce a set of MultiArch* rules to help with building targets for
multiple packaging architectures. Generally the respective targets are
(additionally) gristed with the packaging architecture. For libraries
the additional grist is usually omitted for the primary architecture
(e.g. libroot.so and <x86>libroot.so for x86_gcc2/x86 hybrid), so that
Jamfiles for targets built only for the primary architecture don't
need to be changed.
* Add multi-arch build support for all targets needed for the stage 1
cross devel package as well as for libbe (untested).


# d6778355eea7f86c9418dec7572f12804b0150ff 30-Sep-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* <DiskDeviceTypes.h>: Removed kPartitionTypeIntel{Primary,Logical} constants.
* Added new header headers/private/system/disk_device_types.h, which defines
the <DiskDeviceTypes.h> constants as macros and which can be used where the
constants cannot be used. The constants are defined using the macros, so now
there's only one place where the string literals should be specified.
* Use the macros in the partitioning systems. I was too lazy to also adjust the
file systems -- most of them seem to hard-code the string literal yet.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33386 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 210553573fe0ee83926ccc3ee027254deac1ac54 31-Oct-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Artur Wyszynski: Added support for partitions in Darwin.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28404 a95241bf-73f2-0310-859d-f6bbb57e9c96


# dfcc059e7bdd97adb2d480b5c42ba37eed2c7f97 13-Oct-2008 Rene Gollent <anevilyak@gmail.com>

Fix build of tool version of makebootable on Haiku.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28062 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4d121ec0678890dc6c2b19bdf11a7b9e02785462 09-Aug-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Andreas Faerber with changes by myself: Work towards Solaris
build platform support.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26899 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 39fd631a397db2729171a612fd99d708f15ef654 23-Jul-2008 Maurice Kalinowski <mauricek@nowhere.fake>

julun+mauricek:
* as on darwin platform we cannot use resources for the boot sector data. Instead use attributes to store the data.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26589 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 39bdbadf398652d036208336af8c3b2f766d4514 18-May-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

If the boot code couldn't be found in makebootable's resources, it tries
to load it from an attribute ("BootCode"). On Darwin we write the boot
code into this attribute. This should solve the problem that writing
resources into the makebootable file renders it not executable there.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21170 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6dcd0ccf238263a3e5eb2e2a44e2ed0da1617a42 18-May-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Morgan Howe (slightly modified): Several changes to support
building on Mac OS X (Darwin). A problem with makebootable remains.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21165 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 69b1f76d66e7870cd9a0be8c4cf13b945dfad743 29-Nov-2006 Ingo Weinhold <ingo_weinhold@gmx.de>

FreeBSD build platform support. Original patches courtesy of
Samuel Rodriguez Perez, somewhat hacked by myself.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19392 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 622e9392f572084e52b0bf4287c2d4bab66449fe 05-Apr-2006 Axel Dörfler <axeld@pinc-software.de>

Not useless at all, fixed build.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17013 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 04a5721e65540a6b071a50b1759f0b3932ea7a72 05-Apr-2006 Jérôme Duval <korli@users.berlios.de>

storage headers useless


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17010 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 04fcc147ca2ab29344fa77509b88bab29a76e2b8 29-Jan-2006 Ingo Weinhold <ingo_weinhold@gmx.de>

* Small fixes.
* Added --dry-run option for paranoid ones like me.
* Added support for making partition devices bootable under Linux (x86, BIOS).

When specifying respective values for HAIKU_IMAGE_{DIR,NAME} ("/dev" and
e.g. "sda7") a "jam haiku-image" will now replace the contents of your
favorite partition with a fresh Haiku installation. BE WARNED: This is nothing
for the faint of heart and I don't guarantee that my implementation is bug-free
and won't mangle the contents of your hard disk even if you use it correctly.

That being said, note that you'll probably have to run the "jam haiku-image"
as root, if you want to access the partition devices, which is a bit annoying.
Furthermore, if the build_haiku_image script fails for any reason, jam tends
to remove the image file, which in this case would be a partition device node.
The mknod command will be your friend in this case.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16148 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 338b8dc301721b1f472e8297a898d4eaa2f2ee3a 29-Oct-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Merged changes from branch build_system_redesign at revision 14573.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14574 a95241bf-73f2-0310-859d-f6bbb57e9c96