Coder Social home page Coder Social logo

filesystempkg's Introduction

EDK II FileSystemPkg

Introduction

This module provides a driver that exposes EFI_FIRMWARE_VOLUME2_PROTOCOL instances as read-only EFI_SIMPLE_FILE_SYSTEM_PROTOCOL-compatible file systems. This enables users and programs to explore and read data from an FV2 instance from a simple file-like perspective.

It was developed as a Google Summer of Code project by Colin Drake over the summer of 2011.

Source

This module is currently maintained at http://github.com/cfdrake/FileSystemPkg.

Checkout the development branch for the latest changes or master for a (hopefully) more stable revision. Tags are made for each major revision.

Installation/Integration

First, download a recent EDKII release. cd to the root directory and download the FileSystemPkg sources (either master or development branch).

$ ...
$ cd edk2
$ git clone [email protected]:cfdrake/FileSystemPkg.git

Next, add a reference to the FileSystemPkg module GUID, specified in Ffs.inf, and a reference to Ffs.inf itself in the .dec, .fdf, and .dsc files of your build environment of choice.

Finally, build the project. The driver should be integrated and you should be able to mount FV2 instances from the shell.

$ cd <YourDevEnvironment>
$ ./build.sh
...
$ ./build.sh run

Bugs

I think I've fixed everything I've come across so far. If you see anything though, please send a message to [email protected] or create a new issue at the bug tracker.

I'm sure there's something ;)

Authors/License

See each individual file for authorship and licensing. In short, everything is BSD-licensed.

filesystempkg's People

Contributors

cfdrake avatar jljusten avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

filesystempkg's Issues

Failure in FfsNotification

Upon loading the driver, it correctly sees a new FV2, checks that the protocol isn't already installed, and allocates space for the new data structure. After this, it crashes:

New FV2 detected!
*** Check
*** Alloc

ASSERT_EFI_ERROR (Status = Invalid Parameter)

ASSERT!: /home/colin/Projects/edk2/edk2/UnixPkg/FileSystemPkg/FfsDxe/Ffs.c (259): !EFI_ERROR (Status)

Program received signal SIGTRAP, Trace/breakpoint trap.
0x00ad48ec in CpuBreakpoint () from /home/colin/Projects/edk2/edk2/Build/Unix/DEBUG_ELFGCC/IA32/UnixPkg/FileSystemPkg/FfsDxe/Ffs/DEBUG/FfsDxe.dll

load <file>.efi

Inspecting the contents, they "seem" right. However, running:

> load <file>.efi

doesn't run the file. I get load: fsnt0:\<file>.efi is not an image.

I'm thinking possibly my IsFileExecutable function is returning something incorrectly. Maybe I'm somehow returning TRUE for images for other CPU/Machine types? EDIT: Doesn't look like this is the cause, AFAIK.

type <filename>.efi

Most of these files seem to not hit the EOF limit. Typing them opens an infinite stream of characters. *.ffs files seem unaffected.

ASSERT in FfsOpen()

FfsOpen() is crashing with an ASSERT throwing CR has Bad Signature.

Start showing progress bar... Press any key to stop it! ...Zzz....
Showing progress bar...Remaining 10 second!
PROGRESS CODE: V3050006 I0
PROGRESS CODE: V3050007 I0
FfsOpenVolume: Start
FfsOpenVolume: Grab private filesys struct
FfsOpenVolume: Allocate private file struct
FfsOpenVolume: End of func
FfsOpen: Start
OPENING : \EFI\BOOT\BOOTIA32.EFI

DXE_ASSERT!: /home/colin/Projects/edk2/FileSystemPkg/FfsDxe/Ffs.c (220): CR has Bad Signature`

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.