From 956092d462e34347ba5931c75bebb29c14528efd Mon Sep 17 00:00:00 2001 From: Colin Finck Date: Thu, 17 Aug 2017 11:03:40 +0000 Subject: [PATCH] - Add 0x96 as ISO9660 partition type to ntdddisk.h (from https://en.wikipedia.org/wiki/Partition_type) and detect it using IsRecognizedPartition. - Make our isohybrid create an MBR with partition type 0x96. This properly assigns a drive letter to the Live-CD and lets me boot into desktop using "qemu -hda livecd.iso". Fixes CORE-13184 svn path=/trunk/; revision=75586 --- reactos/boot/CMakeLists.txt | 8 ++++---- reactos/sdk/include/psdk/ntdddisk.h | 2 ++ 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/reactos/boot/CMakeLists.txt b/reactos/boot/CMakeLists.txt index 9b5c28872c5..01219a97416 100644 --- a/reactos/boot/CMakeLists.txt +++ b/reactos/boot/CMakeLists.txt @@ -68,7 +68,7 @@ add_custom_target(bootcd -eltorito-boot loader/isoboot.bin -no-emul-boot -boot-load-size 4 -eltorito-alt-boot -eltorito-platform efi -eltorito-boot loader/efisys.bin -no-emul-boot -hide boot.catalog -sort ${CMAKE_CURRENT_BINARY_DIR}/bootfiles.sort -no-cache-inodes -graft-points -path-list ${CMAKE_CURRENT_BINARY_DIR}/bootcd.lst - COMMAND native-isohybrid -b ${_isombr_file} ${REACTOS_BINARY_DIR}/bootcd.iso + COMMAND native-isohybrid -b ${_isombr_file} -t 0x96 ${REACTOS_BINARY_DIR}/bootcd.iso DEPENDS isombr native-isohybrid native-mkisofs VERBATIM) @@ -83,7 +83,7 @@ add_custom_target(bootcdregtest -eltorito-boot loader/isobtrt.bin -no-emul-boot -boot-load-size 4 -eltorito-alt-boot -eltorito-platform efi -eltorito-boot loader/efisys.bin -no-emul-boot -hide boot.catalog -sort ${CMAKE_CURRENT_BINARY_DIR}/bootfiles.sort -no-cache-inodes -graft-points -path-list ${CMAKE_CURRENT_BINARY_DIR}/bootcdregtest.lst - COMMAND native-isohybrid -b ${_isombr_file} ${REACTOS_BINARY_DIR}/bootcdregtest.iso + COMMAND native-isohybrid -b ${_isombr_file} -t 0x96 ${REACTOS_BINARY_DIR}/bootcdregtest.iso DEPENDS isombr native-isohybrid native-mkisofs VERBATIM) @@ -126,7 +126,7 @@ add_custom_target(livecd -eltorito-boot loader/isoboot.bin -no-emul-boot -boot-load-size 4 -eltorito-alt-boot -eltorito-platform efi -eltorito-boot loader/efisys.bin -no-emul-boot -hide boot.catalog -sort ${CMAKE_CURRENT_BINARY_DIR}/bootfiles.sort -no-cache-inodes -graft-points -path-list ${CMAKE_CURRENT_BINARY_DIR}/livecd.lst - COMMAND native-isohybrid -b ${_isombr_file} ${REACTOS_BINARY_DIR}/livecd.iso + COMMAND native-isohybrid -b ${_isombr_file} -t 0x96 ${REACTOS_BINARY_DIR}/livecd.iso DEPENDS isombr native-isohybrid native-mkisofs VERBATIM) @@ -169,7 +169,7 @@ add_custom_target(hybridcd -eltorito-boot loader/isoboot.bin -no-emul-boot -boot-load-size 4 -eltorito-alt-boot -eltorito-platform efi -eltorito-boot loader/efisys.bin -no-emul-boot -hide boot.catalog -sort ${CMAKE_CURRENT_BINARY_DIR}/bootfiles.sort -duplicates-once -no-cache-inodes -graft-points -path-list ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst - COMMAND native-isohybrid -b ${_isombr_file} ${REACTOS_BINARY_DIR}/hybridcd.iso + COMMAND native-isohybrid -b ${_isombr_file} -t 0x96 ${REACTOS_BINARY_DIR}/hybridcd.iso DEPENDS bootcd livecd VERBATIM) diff --git a/reactos/sdk/include/psdk/ntdddisk.h b/reactos/sdk/include/psdk/ntdddisk.h index f1ddb30efb8..66da3635539 100644 --- a/reactos/sdk/include/psdk/ntdddisk.h +++ b/reactos/sdk/include/psdk/ntdddisk.h @@ -223,6 +223,7 @@ extern "C" { #ifdef __REACTOS__ #define PARTITION_OLD_LINUX 0x43 #define PARTITION_LINUX 0x83 +#define PARTITION_ISO9660 0x96 #define PARTITION_FREEBSD 0xA5 #define PARTITION_OPENBSD 0xA6 #define PARTITION_NETBSD 0xA9 @@ -253,6 +254,7 @@ extern "C" { ((PartitionType) == PARTITION_XINT13) || \ ((PartitionType) == PARTITION_LINUX) || \ ((PartitionType) == PARTITION_OLD_LINUX) || \ + ((PartitionType) == PARTITION_ISO9660) || \ ((PartitionType) == PARTITION_FREEBSD) || \ ((PartitionType) == PARTITION_OPENBSD) || \ ((PartitionType) == PARTITION_NETBSD))