- Add BCD creation.
- Add BCD to bootcd, and also to EFISYS.BIN. Verified the BCD is now present on the EFI partition.

svn path=/trunk/; revision=69156
This commit is contained in:
Alex Ionescu 2015-09-09 18:43:09 +00:00
parent be0ecbd74e
commit 28b4a595d3
5 changed files with 38 additions and 2 deletions

View file

@ -16,7 +16,7 @@ else()
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)

View file

@ -10,7 +10,8 @@ add_registry_inf(
hivecls.inf
hivedef.inf
hivesft.inf
hivesys.inf)
hivesys.inf
hivebcd.inf)
#regtest

View file

@ -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

View file

@ -793,6 +793,22 @@ function(create_registry_hives)
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)

View file

@ -143,6 +143,14 @@ int main (int argc, char *argv[])
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");