#
ed7204fa |
|
13-Dec-2019 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
gpt: Correct naming. efi_* also conflicts with some efi headers Change-Id: I19b5b2c4609da8474b26588ae8d7d4caf72a826b Reviewed-on: https://review.haiku-os.org/c/haiku/+/2018 Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com> Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
|
#
b5aaac02 |
|
22-Apr-2017 |
Adrien Destugues <pulkomandy@pulkomandy.tk> |
GPT: lower our identify score if only one header is present. GPT should have its partition table both at the start and end of the disk. Our GPT partitionning system is able to cope with just one of the two being available. However this has the unwanted effect that when erasing only the start of the disk, it is still recognized with its old GPT scheme. To avoid this, lower the score of GPT if it finds only one of the two headers, allowing MBR and BFS to get more priority in that case. Should fix #12290, #13434.
|
#
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.
|
#
08006f7c |
|
19-Nov-2015 |
Jessica Hamilton <jessica.l.hamilton@gmail.com> |
efi_gpt: properly fix block offset calculations for partition entries In 2346363b, had corrected the offset writing to the disk, but missed correcting the offset for reading from the entries struct. Instead of writing a block, just write the single entry, simplifying the offset logic considerably.
|
#
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.
|
#
0baf9d8d |
|
07-Oct-2015 |
Jessica Hamilton <jessica.l.hamilton@gmail.com> |
gpt partitioning: generate uuids for disks & partitions. Also added src/libs/uuid to tree, sources adapted from http://git.kernel.org/cgit/fs/ext2/e2fsprogs.git/tree/lib/uuid.
|
#
2346363b |
|
06-Oct-2015 |
Jessica Hamilton <jessica.l.hamilton@gmail.com> |
gpt partitioning: fix writing of partition entries. When writing an individual entry to disk, the offset of the entry was omitted, which resulted in entries not block-aligned to overwrite previously valid entries. This in turn resulted in the stored entries CRC no longer matching what was on disk, causing the partitioning system to fail to identify it as a valid GPT when read from disk later (e.g. after a reboot). E.g. if the first entry is the ESP (which it typically is), and then the second being an entry for a BFS partition, updating the BFS partition entry would overwrite the entry for the ESP, thus corrupting the entries table.
|
#
4a839f2d |
|
25-Jul-2015 |
Josef Gajdusek <atx@atalax.net> |
partitioning_systems/gpt: Fix _IsHeaderValid(). Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
|
#
5bca1dd7 |
|
18-Jun-2015 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
GPT: Fix creation of GPT disk systems; resolves #10298 * The alternate / backup block wasn't defined leading to an invalid configuration. * This was compounded with another issue that was resolved a while back with GPT * gdisk now identifies GPT systems created with Haiku as valid
|
#
e825d892 |
|
09-May-2013 |
Jérôme Duval <jerome.duval@gmail.com> |
efi_gpt: fixes 64 bit warnings
|
#
9e8f9374 |
|
28-Jan-2013 |
Axel Dörfler <axeld@pinc-software.de> |
gpt: Added some missing pieces of supporting the backup header. * The alternate block was not set correctly. * The CRC of the backup header was never updated. * We now dump both headers.
|
#
52571606 |
|
27-Jan-2013 |
Axel Dörfler <axeld@pinc-software.de> |
gpt: Fixed boot loader build. * Thanks, Alex!
|
#
953d310a |
|
27-Jan-2013 |
Axel Dörfler <axeld@pinc-software.de> |
gpt: Added support for the backup header/entries.
|
#
ef2558c0 |
|
26-Jan-2013 |
Axel Dörfler <axeld@pinc-software.de> |
gpt: Fixed a number of remaining issues. * The header and table is now correctly written; the backup is still missing, though. * The Header class is now responsible for both, the primary, and the backup header. * Changed the Header constructors: the block is no longer needed. Also, under GCC 4 the initialization code accidentally used the read Header constructor. * Fixed incorrectly copied GUID - the static_guid cannot be copied into a guid_t directly. * Fixed copy&paste bug that would overwrite the offset for the child partition to be created. * With all of this in place I successfully created a BFS partition with a GUID partition table. However, I have not yet tested if other systems can still read this. Also, creating two partitions doesn't seem to work yet, either (luckily I only need a single one ;-)).
|
#
ab313893 |
|
25-Jan-2013 |
Axel Dörfler <axeld@pinc-software.de> |
Implemented write support, reorganized source files. * Moved some functionality into their own files so that they can easily be reused by other code. * Added crc32() function from FreeBSD. Implemented CRC handling and validation. * Implemented missing write functionality.
|
#
0baf9d8d8d5f4ec141f1c5866fe1bd5a5df26cd9 |
|
07-Oct-2015 |
Jessica Hamilton <jessica.l.hamilton@gmail.com> |
gpt partitioning: generate uuids for disks & partitions. Also added src/libs/uuid to tree, sources adapted from http://git.kernel.org/cgit/fs/ext2/e2fsprogs.git/tree/lib/uuid.
|
#
2346363b232bf4666af233a754ea04164ab25092 |
|
06-Oct-2015 |
Jessica Hamilton <jessica.l.hamilton@gmail.com> |
gpt partitioning: fix writing of partition entries. When writing an individual entry to disk, the offset of the entry was omitted, which resulted in entries not block-aligned to overwrite previously valid entries. This in turn resulted in the stored entries CRC no longer matching what was on disk, causing the partitioning system to fail to identify it as a valid GPT when read from disk later (e.g. after a reboot). E.g. if the first entry is the ESP (which it typically is), and then the second being an entry for a BFS partition, updating the BFS partition entry would overwrite the entry for the ESP, thus corrupting the entries table.
|
#
4a839f2daaeb237f0fb8c5192899c9e0993e762e |
|
25-Jul-2015 |
Josef Gajdusek <atx@atalax.net> |
partitioning_systems/gpt: Fix _IsHeaderValid(). Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
|
#
5bca1dd7af5c6c7a0cb10ee528b47ae52ab6fbd4 |
|
18-Jun-2015 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
GPT: Fix creation of GPT disk systems; resolves #10298 * The alternate / backup block wasn't defined leading to an invalid configuration. * This was compounded with another issue that was resolved a while back with GPT * gdisk now identifies GPT systems created with Haiku as valid
|
#
e825d892e18b961648f911cc6acf0bcfbbd31258 |
|
09-May-2013 |
Jérôme Duval <jerome.duval@gmail.com> |
efi_gpt: fixes 64 bit warnings
|
#
9e8f937437083a330f440629007ec1ce13221d5b |
|
28-Jan-2013 |
Axel Dörfler <axeld@pinc-software.de> |
gpt: Added some missing pieces of supporting the backup header. * The alternate block was not set correctly. * The CRC of the backup header was never updated. * We now dump both headers.
|
#
5257160668005086169d9431a56baf55f40dc54e |
|
27-Jan-2013 |
Axel Dörfler <axeld@pinc-software.de> |
gpt: Fixed boot loader build. * Thanks, Alex!
|
#
953d310a47372bb97f2b1154d032aa344dbbcb69 |
|
27-Jan-2013 |
Axel Dörfler <axeld@pinc-software.de> |
gpt: Added support for the backup header/entries.
|
#
ef2558c0aea88aa525b9ede73710a513dc47de6b |
|
26-Jan-2013 |
Axel Dörfler <axeld@pinc-software.de> |
gpt: Fixed a number of remaining issues. * The header and table is now correctly written; the backup is still missing, though. * The Header class is now responsible for both, the primary, and the backup header. * Changed the Header constructors: the block is no longer needed. Also, under GCC 4 the initialization code accidentally used the read Header constructor. * Fixed incorrectly copied GUID - the static_guid cannot be copied into a guid_t directly. * Fixed copy&paste bug that would overwrite the offset for the child partition to be created. * With all of this in place I successfully created a BFS partition with a GUID partition table. However, I have not yet tested if other systems can still read this. Also, creating two partitions doesn't seem to work yet, either (luckily I only need a single one ;-)).
|
#
ab313893415e1eaed50e2af3b3517b614ee10e8a |
|
25-Jan-2013 |
Axel Dörfler <axeld@pinc-software.de> |
Implemented write support, reorganized source files. * Moved some functionality into their own files so that they can easily be reused by other code. * Added crc32() function from FreeBSD. Implemented CRC handling and validation. * Implemented missing write functionality.
|