Giter Club home page Giter Club logo

lucidloader's Introduction

LucidLoader

An interactive UEFI boot manager that aims to be light and easy to use.

This boot manager is being developed using the POSIX-UEFI wrapper library.

Features

  • Very lightweight.
  • Simple and easy to use configuration.
  • Shell environment with useful commands.
  • Text editor.
  • Able to boot operating systems and UEFI apps.
  • Can automatically detect a Linux kernel along with its version.

Dependencies

Arch (pacman): make clang lld efibootmgr

Debian (apt): make clang lld efibootmgr

Gentoo (emerge): sys-devel/make sys-devel/clang sys-devel/lld sys-boot/efibootmgr

Building

Run make in the root directory of the project to create the boot manager's .efi file.

The boot manager is unsigned at the moment and you will have to disable secure boot in your bios or sign it yourself.

The boot manager fully supports the x86_64 architecture. Compiling for aarch64 is possible, but untested. It is possible to change the architecture to aarch64 by editing the Makefile in the root directory of the boot manager source code and changing the ARCH variable.

Clang is the preferred compiler for compiling the code and it will be used if clang is installed, but gcc can also be used.

If you have clang installed and want to compile with gcc, add USE_GCC=1 into the Makefile in the root directory (before the include line). If clang is not installed, the code will be compiled with gcc automatically.

Compiling this project with gcc+ld is not supported and it may not work, do that at your own risk.

See EMULATING.md for instructions on how to run the boot manager in QEMU to test all kinds of code changes quickly and easily.

Installing

To install the boot manager, simply run the installer script (installer.sh) as root. A new boot entry will be created with efibootmgr and the boot manager will be run the next time the device is started.

To update the boot manager, run make distclean && make and then run the installer script again. The configuration file will stay unchanged.

See CONFIGURING.md to see how to write the config file.

lucidloader's People

Contributors

almogamar avatar sleepy762 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

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.