{"id":25557862,"url":"https://github.com/puredarwin/hfsplus_efi","last_synced_at":"2026-02-24T22:30:18.164Z","repository":{"id":254747674,"uuid":"847424862","full_name":"PureDarwin/HFSPlus_EFI","owner":"PureDarwin","description":"Open Source HFSPlus EFI file built under EDKII ","archived":false,"fork":false,"pushed_at":"2024-08-25T19:45:12.000Z","size":17,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":7,"default_branch":"main","last_synced_at":"2024-08-25T20:49:54.569Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PureDarwin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-25T19:30:49.000Z","updated_at":"2024-08-25T20:49:59.560Z","dependencies_parsed_at":"2024-08-25T20:49:59.028Z","dependency_job_id":"dc450348-0bad-491f-a2be-aa74aff7e602","html_url":"https://github.com/PureDarwin/HFSPlus_EFI","commit_stats":null,"previous_names":["puredarwin/hfsplus_efi"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PureDarwin%2FHFSPlus_EFI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PureDarwin%2FHFSPlus_EFI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PureDarwin%2FHFSPlus_EFI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PureDarwin%2FHFSPlus_EFI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PureDarwin","download_url":"https://codeload.github.com/PureDarwin/HFSPlus_EFI/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239859562,"owners_count":19708865,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-02-20T15:19:51.471Z","updated_at":"2026-02-24T22:30:18.131Z","avatar_url":"https://github.com/PureDarwin.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# HFS+ UEFI File System Operations\n\n## Overview\n\nThis project implements  HFS+ file system operations within a UEFI application built on the EDKII Enviorment. \nThe application includes the ability to:\n\n- **Read and write files** using HFS+ file structures (including support for fragmented files) and journaled file systems.\n- **Traverse the HFS+ catalog B-tree** to locate files and directories.\n- **Find and load `boot.efi`** from a system drive formatted in HFS+, typically located at `/System/Library/CoreServices/boot.efi`.\n\n## Features\n\n1. **HFS+ File System Support**:\n   - Reading and writing of files in HFS+ volumes.\n   - Handling of fragmented files using the HFS+ extent overflow file.\n   \n2. **Catalog B-tree Traversal**:\n   - Parsing and traversal of the HFS+ catalog B-tree to locate files and directories.\n   - Support for reading metadata to identify files such as `boot.efi`.\n\n3. **Boot.efi Loading**:\n   - Locates `boot.efi` in the `/System/Library/CoreServices` directory of an HFS+ system drive.\n   - Loads the contents of `boot.efi` for potential execution by the UEFI firmware.\n\n## Project Structure\n\n- **HFSPlusFileOps.h/c**: Implements the core HFS+ file system logic, including file reading, writing, and catalog B-tree traversal.\n- **MockBlockIo.h/c**: Provides a mock block I/O protocol for simulating disk read and write operations, useful for testing.\n- **TestLargeFile.c**: Contains test cases to validate file read and write operations, as well as the process for locating `boot.efi`.\n- **HfsPlusFileOpsTest.inf**: The build configuration file for EDK II, describing the application's source files, dependencies, and build settings.\n\n## Building the Application\n\nTo build this UEFI application use the EDK II build environment.\n\n\n## This code is experimental and should be used with caution. \n\n\n### Copyright (c) 2007-Present The PureDarwin Project.\n### All rights reserved.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpuredarwin%2Fhfsplus_efi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpuredarwin%2Fhfsplus_efi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpuredarwin%2Fhfsplus_efi/lists"}