Giter VIP home page Giter VIP logo

ipxe-vm's Introduction

IPXE VM build scripts

Build scripts for vm image that processes ipxe scripts

The purpose of the resulting VM image is simulate an IPXE a like boot system for a vm. The url for the IPXE script can be passed to the VM via cloud-init in the user-data. Currently it is only possible to pass the cloud-init via a CD-ROM image.

Building

The image building requires mkinitcpio from ArchLinux and the following packages:

  • syslinux
  • e2fsprogs
  • util-linux (losetup)
  • parted
  • busybox
  • coreutils (dd)

Just run builder.sh as ROOT. Root is required to be able to use losetup and parted.

After running the build script you will find under build the following files:

  • image.raw (the actually vm image)
  • vmlinux-linux (kernel that is inside the image)
  • initramfs-linux.img (initramfs used inside the image)

How it works

The image that gets build from this script will boot up a minimal initramfs, this initramfs will attempt to mount the cloud-init cdrom and search for a ipxe line in the userdata once it is found it will parse lines starting with initrd and chain it will download the urls passed on those lines and execute kexec with this kernel and optionally the initrd pass the kerel params passed to the chain command.

ipxe-vm's People

Contributors

grimpy avatar

Stargazers

Benjamin Doherty avatar  avatar xmonader avatar

Watchers

 avatar James Cloos avatar kristof de spiegeleer avatar Reem Khamis avatar Geert Audenaert avatar

Forkers

kill121

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.