Giter Site home page Giter Site logo

netboot-osx's Introduction

tftpboot for OSX Netboot firmware

Concept

This repo contains file + dnsmasq configuration that can be used to netboot an OSX system through its built in tftp client.

I tried to use this functionality to boot a MacbookPro with a completely messed up EFI partition from the network, as the faulty partition would crash the firmware upon loading.

You will need to server the files using dnsmasq and the included dnsmasq.conf file. Basic commands to get up and running are the following.

The original post was found in the dnsmasq mailing lists, which contains a more or less working config file to server macs with a netboot image.

NFS root filesystem

The actual filesystem will be sent through a specific DHCP option to the requesting client, after the bootloader files have been transferred and loaded into memory. This image can be created for free with just an existing os x installation using os x server or DeployStudio.

Apple's broken tftp implementation

During this setup I did experience that the mac firmware's tftp client is very picky about the negotiated tftp options. The implementation is really broken and doesn't adhere to what a normal tftp client would expect. I tried different tftp clients and ended up using WireShark to see where the transfer went wrong. Sadly dnsmasq only allows you to disable the tftp packet size negotation, which caused the tftp apple client to abort the transfer too soon.

Setup

    sudo apt-get install dnsmasq
    dnsmasq -C dnsmasq.conf -d

The -d option will prevent dnsmasq from daemonizing and will output debug info to stdout (terminal)

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.