OpenWrt / Lede Starter Kit - Lowering the learning curve for producing your own OpenWrt/LEDE distro

Hey community.

I've been using OpenWRT for printtapp.com and we wanted to share a basic project / starter kit to help speed up generating your own custom distro :slight_smile:

Would love feedback on things that are missing and maybe missing use cases. Anything we could be handling out of the box let us know :slight_smile:

I'm at the summit so don't hesitate to reach out to me.

James

1 Like

How is this accomplished? What does it make special? What features help to speed up image generation?

That's a very good question, by faster I guess I mean lowering the learning curve / setup, especially for IOT projects.

Let me provide some context. So I've recently just launched my own OpenWRT powered IOT project for my company, printt.

Amazingly we were able to in 5 months go from proof of concept to shippable product that we have now installed in 150 locations.

However this wasn't without a steep learning curve exacerbated by the fact there are two wikis and fragmented documentation. I brought this up at the summit and the core team responded with a really valid point that keeping it up to date is hard and requires time or money which they probably don't have themselves.

What I found helped with my breakthrough moments is having examples to work from, living breathing things that would always be up to date. So my idea is to have a starting project that serves as an example on how to do certain things and even has these common things setup so you can configure it themselves.

There are a lot of things I want to have in this starter kit but things that I had to pick up myself that this project hopes to demonstrate is:

  • How to describe a package that compiles and installs your code on OpenWRT
  • How to create and publish a package feed for your custom package
  • How to customize the wireless credentials that ship with OpenWRT for your own
  • How to customize the image to ship with custom files
  • How to build a custom image
  • How to get that custom image to pull in your custom package
  • How to change the default feed OpenWRT for one you host
  • How to change the name of the image
  • When you login, how to get it to spit out the name of your project and not the OpenWRT distro your image is based on.
  • A basic way to structure a project with scripts that can automate the publishing of your feeds, building images for certain platforms and environments (development or staging) and places to put files for your software package and the image.
  • A way of specifying targets for your project in a way that avoids you being coupled to that particular hardware.

Some of these things are scattered in the wiki, some I had to google, some I had to ask in the IRC, some I found in some random github repo. A lot of this I discovered by hand manually and whilst at the summit some of the stuff such as the building an image I learn't a lot of companies hand roll their own scripts; Especially for IOT.

So I'm hoping this will help new developers get a lower learning curve, avoid re-inventing the wheel (maybe even contributing to this) and provide some best practices as well.

1 Like