This is cool work but you do realize that adding non-Windows partition
types and changing Windows headers (and Windows macros) to work with them,
as well as forking our CDFS from the Windows CDFS... doesn't really help
compatibility move forward...

It would be nice to discuss about how these changes can be done to keep our
'special' USB livecd boot and CDFS changes, without twisting the system
away from its NT roots. My suggestion would be a filter driver on top of
CDFS, and a re-definition of this macro to be used by the filter (or
whatever code relies on it). This sounds like it would give you the best of
both worlds...

Best regards,
Alex Ionescu

On Thu, Aug 17, 2017 at 1:03 PM, <cfi...@svn.reactos.org> wrote:

> Author: cfinck
> Date: Thu Aug 17 11:03:40 2017
> New Revision: 75586
>
> URL: http://svn.reactos.org/svn/reactos?rev=75586&view=rev
> Log:
> - 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
>
> Modified:
>     trunk/reactos/boot/CMakeLists.txt
>     trunk/reactos/sdk/include/psdk/ntdddisk.h
>
> Modified: trunk/reactos/boot/CMakeLists.txt
> URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/
> CMakeLists.txt?rev=75586&r1=75585&r2=75586&view=diff
> ============================================================
> ==================
> --- trunk/reactos/boot/CMakeLists.txt   [iso-8859-1] (original)
> +++ trunk/reactos/boot/CMakeLists.txt   [iso-8859-1] Thu Aug 17 11:03:40
> 2017
> @@ -68,7 +68,7 @@
>          -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 @@
>          -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 @@
>          -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 @@
>          -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)
>
>
> Modified: trunk/reactos/sdk/include/psdk/ntdddisk.h
> URL: http://svn.reactos.org/svn/reactos/trunk/reactos/sdk/
> include/psdk/ntdddisk.h?rev=75586&r1=75585&r2=75586&view=diff
> ============================================================
> ==================
> --- trunk/reactos/sdk/include/psdk/ntdddisk.h   [iso-8859-1] (original)
> +++ trunk/reactos/sdk/include/psdk/ntdddisk.h   [iso-8859-1] Thu Aug 17
> 11:03:40 2017
> @@ -223,6 +223,7 @@
>  #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 @@
>         ((PartitionType) == PARTITION_XINT13) || \
>         ((PartitionType) == PARTITION_LINUX) || \
>         ((PartitionType) == PARTITION_OLD_LINUX) || \
> +    ((PartitionType) == PARTITION_ISO9660) || \
>         ((PartitionType) == PARTITION_FREEBSD) || \
>         ((PartitionType) == PARTITION_OPENBSD) || \
>         ((PartitionType) == PARTITION_NETBSD))
>
>
>
_______________________________________________
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev

Reply via email to