diff --git a/src/system/boot/platform/u-boot/devices.cpp b/src/system/boot/platform/u-boot/devices.cpp index 650211b6ee..ac380a77a3 100644 --- a/src/system/boot/platform/u-boot/devices.cpp +++ b/src/system/boot/platform/u-boot/devices.cpp @@ -5,10 +5,12 @@ #include -#include + +#include #include -#include +#include #include +#include #define TRACE_DEVICES #ifdef TRACE_DEVICES @@ -73,6 +75,18 @@ platform_add_block_devices(stage2_args *args, NodeList *devicesList) status_t platform_register_boot_device(Node *device) { - TRACE("platform_register_boot_device\n"); + disk_identifier disk_ident; + disk_ident.bus_type = UNKNOWN_BUS; + disk_ident.device_type = UNKNOWN_DEVICE; + disk_ident.device.unknown.size = device->Size(); + + for (int32 i = 0; i < NUM_DISK_CHECK_SUMS; i++) { + disk_ident.device.unknown.check_sums[i].offset = -1; + disk_ident.device.unknown.check_sums[i].sum = 0; + } + + gBootVolume.SetData(BOOT_VOLUME_DISK_IDENTIFIER, B_RAW_TYPE, + &disk_ident, sizeof(disk_ident)); + return B_OK; }