Author: ion
Date: Wed Sep 9 18:43:09 2015
New Revision: 69156
URL:
http://svn.reactos.org/svn/reactos?rev=69156&view=rev
Log:
[EFI]
- Add BCD creation.
- Add BCD to bootcd, and also to EFISYS.BIN. Verified the BCD is now present on the EFI
partition.
Added:
trunk/reactos/boot/bootdata/hivebcd.inf (with props)
Modified:
trunk/reactos/boot/CMakeLists.txt
trunk/reactos/boot/bootdata/CMakeLists.txt
trunk/reactos/cmake/CMakeMacros.cmake
trunk/reactos/tools/mkhive/mkhive.c
Modified: trunk/reactos/boot/CMakeLists.txt
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/CMakeLists.txt?rev=69…
==============================================================================
--- trunk/reactos/boot/CMakeLists.txt [iso-8859-1] (original)
+++ trunk/reactos/boot/CMakeLists.txt [iso-8859-1] Wed Sep 9 18:43:09 2015
@@ -16,7 +16,7 @@
endif()
add_custom_target(efisys
- COMMAND native-fatten ${CMAKE_CURRENT_BINARY_DIR}/efisys.bin -format 2880 EFIBOOT
-boot ${CMAKE_CURRENT_BINARY_DIR}/freeldr/bootsect/fat.bin -mkdir EFI -mkdir EFI/BOOT -add
$<TARGET_FILE:bootmgfw> EFI/BOOT/boot${EFI_PLATFORM_ID}.efi
+ COMMAND native-fatten ${CMAKE_CURRENT_BINARY_DIR}/efisys.bin -format 2880 EFIBOOT
-boot ${CMAKE_CURRENT_BINARY_DIR}/freeldr/bootsect/fat.bin -mkdir EFI -mkdir EFI/BOOT -add
$<TARGET_FILE:bootmgfw> EFI/BOOT/boot${EFI_PLATFORM_ID}.efi -add
${CMAKE_BINARY_DIR}/boot/bootdata/BCD EFI/BOOT/BCD
DEPENDS native-fatten bootmgfw fat
VERBATIM)
Modified: trunk/reactos/boot/bootdata/CMakeLists.txt
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/bootdata/CMakeLists.t…
==============================================================================
--- trunk/reactos/boot/bootdata/CMakeLists.txt [iso-8859-1] (original)
+++ trunk/reactos/boot/bootdata/CMakeLists.txt [iso-8859-1] Wed Sep 9 18:43:09 2015
@@ -10,7 +10,8 @@
hivecls.inf
hivedef.inf
hivesft.inf
- hivesys.inf)
+ hivesys.inf
+ hivebcd.inf)
#regtest
Added: trunk/reactos/boot/bootdata/hivebcd.inf
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/bootdata/hivebcd.inf?…
==============================================================================
--- trunk/reactos/boot/bootdata/hivebcd.inf (added)
+++ trunk/reactos/boot/bootdata/hivebcd.inf [iso-8859-1] Wed Sep 9 18:43:09 2015
@@ -0,0 +1,11 @@
+[Version]
+Signature = "$ReactOS$"
+
+[AddReg]
+
+HKLM,"BCD00000000\Description\Control","System",0x00010003,1
+HKLM,"BCD00000000\Description\Control","TreatAtSystem",0x00010003,1
+HKLM,"BCD00000000\Description\Control","KeyName",2,"BCD00000000"
+HKLM,"BCD00000000\Description\Objects",,0x00000012
+
+; EOF
Propchange: trunk/reactos/boot/bootdata/hivebcd.inf
------------------------------------------------------------------------------
svn:eol-style = native
Modified: trunk/reactos/cmake/CMakeMacros.cmake
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/cmake/CMakeMacros.cmake?re…
==============================================================================
--- trunk/reactos/cmake/CMakeMacros.cmake [iso-8859-1] (original)
+++ trunk/reactos/cmake/CMakeMacros.cmake [iso-8859-1] Wed Sep 9 18:43:09 2015
@@ -793,6 +793,22 @@
DESTINATION reactos/system32/config
FOR livecd)
+ # BCD Hive
+ add_custom_command(
+ OUTPUT ${CMAKE_BINARY_DIR}/boot/bootdata/BCD
+ COMMAND native-mkhive ${CMAKE_BINARY_DIR}/boot/bootdata/
${CMAKE_BINARY_DIR}/boot/bootdata/hivebcd_utf16.inf
+ DEPENDS native-mkhive ${CMAKE_SOURCE_DIR}/boot/bootdata/hivebcd.inf)
+
+ add_custom_target(bcd_hive
+ DEPENDS ${CMAKE_BINARY_DIR}/boot/bootdata/BCD)
+
+ add_cd_file(
+ FILE ${CMAKE_BINARY_DIR}/boot/bootdata/BCD
+ TARGET bcd_hive
+ DESTINATION efi/boot
+ NO_CAB
+ FOR bootcd regtest livecd)
+
endfunction()
if(KDBG)
Modified: trunk/reactos/tools/mkhive/mkhive.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/tools/mkhive/mkhive.c?rev=…
==============================================================================
--- trunk/reactos/tools/mkhive/mkhive.c [iso-8859-1] (original)
+++ trunk/reactos/tools/mkhive/mkhive.c [iso-8859-1] Wed Sep 9 18:43:09 2015
@@ -143,6 +143,14 @@
return 1;
}
+ convert_path (FileName, argv[1]);
+ strcat (FileName, DIR_SEPARATOR_STRING);
+ strcat (FileName, "bcd");
+ if (!ExportBinaryHive (FileName, &SystemHive))
+ {
+ return 1;
+ }
+
RegShutdownRegistry ();
printf (" Done.\n");