From 9034d32c7b60dedbdbdb66f42d9b147cb2aa9a60 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Fri, 28 Mar 2025 05:17:08 +0100 Subject: bootz: rename NetBoot module to BootNet MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Rename the NetBoot module to BootNet to avoid confusion with Apple's NetBoot and better reflect the module's role within BootZ. Updates include: - Renamed module directory: NetBoot/ → BootNet/ - Renamed files and headers: NetBoot.cc → BootNet.cc, etc. - Updated build output: netboot.sys → bootnet.sys - Replaced all references in build scripts, source includes, and user-visible strings - Fixed typo in SysChk.cc copyright This unifies naming across modules and reinforces BootZ's modular identity. Signed-off-by: Amlal El Mahrouss --- dev/boot/modules/BootNet/BootNet.cc | 50 +++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 dev/boot/modules/BootNet/BootNet.cc (limited to 'dev/boot/modules/BootNet/BootNet.cc') diff --git a/dev/boot/modules/BootNet/BootNet.cc b/dev/boot/modules/BootNet/BootNet.cc new file mode 100644 index 00000000..b4c1408f --- /dev/null +++ b/dev/boot/modules/BootNet/BootNet.cc @@ -0,0 +1,50 @@ +/* + * ======================================================== + * + * BootNet + * Copyright (C) 2024-2025, Amlal EL Mahrouss, all rights reserved. + * + * ======================================================== + */ + +#include +#include +#include + +EXTERN_C Int32 ModuleMain(NeOS::HEL::BootInfoHeader* handover) +{ + NETBOOT_INTERNET_HEADER inet{}; + + memset(&inet, 0, sizeof(NETBOOT_INTERNET_HEADER)); + + /// TODO: Read packet from JSON file 'bootnet.json' + + if (inet.PatchLength < 1) + { + Boot::BootTextWriter writer; + writer.Write("NetBootLauncher: No executable attached to the packet, aborting.\r"); + + return kEfiFail; + } + + if (!inet.EEPROM) + { + Boot::BootThread thread(inet.PatchData); + + if (thread.IsValid()) + return thread.Start(handover, YES); + + return kEfiFail; + } + else + { + Boot::BootTextWriter writer; + writer.Write("NetBootLauncher: EEPROM flash is not available as of right now.\r"); + + /// TODO: Program new firmware to EEPROM (if crc and size matches) + + return kEfiFail; // TODO: Add support for EEPROM firmware update. + } + + return kEfiFail; +} -- cgit v1.2.3