Giter VIP home page Giter VIP logo

diy-linux's Introduction

DIY Linux

This is a set of Linux system configurations for Buildroot intended for personal use. The motivation behind this project is the following:

  • Replace some shitty consumer electronics (e.g. wireless access point, network-attached storage) with custom solutions built on better hardware and software aiming to do one thing well.
  • Do research projects like a highly available Kubernetes cluster out of 8 Raspberry Pi or similar hardware. Or a 1024-core supercomputer for AI out of Jetson Nano.
  • Have fun ;)

I've been passionate about building embedded systems since the year 2006.

List of projects

Usage

Build the Buildroot Docker image

docker build -t buildroot .

Build a project-specific image

Run a shell within a Buildroot container

docker run -it --rm \
-v `pwd`/dl:/buildroot/dl \
-v `pwd`/projects:/buildroot/projects \
-v `pwd`/images:/buildroot/output/images \
buildroot bash

and follow project-specific instructions.

Once build is successfully done you can exit the Buildroot container. The resulting image will be within the images directory.

Flash the image to an SD card

To figure out an SD card disk name on macOS host run the following command:

diskutil list

Double-check the disk name and flash the image to it:

sudo dd bs=4m if=images/sdcard.img of=/dev/disk-name

If you get the following error

dd: /dev/disk-name: Resource busy

unmounting the disk might help:

diskutil unmountDisk /dev/disk-name

Once dd process is finished don't forget to eject the disk:

diskutil eject /dev/disk-name

Troubleshoot

If a board has a UART port it's convenient to use a USB to UART cable to connect to the serial port. PL2303HX based cable is confirmed to work on macOS. Driver can be found here. Once the driver is installed and a cable is connected use the following command.

sudo cu -s 115200 -l /dev/cu.usbserial

Known issues

The build is slow and eventually fails if Buildroot output directory is a Docker volume mounted on the macOS host.

Interesting hardware for future projects

Useful links

License

This project is licensed under the MIT License - see the LICENSE file for details.

diy-linux's People

Contributors

31z4 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  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.