Quickstart guide compiling OpenWrt

How about if we invite you? Thanks!

@richb-hanover: sure, go ahead.

OK. You're invited!

Let me know if you have any questions about editing the Developer Guide main page and adding your new page. Thanks!

ok, thanks!

I seldom see a very quick way to compile your own images.
Here is one:

Install dependencies for building LEDE (Debian/Ubuntu):

sudo apt-get install subversion g++ zlib1g-dev build-essential git python
sudo apt-get install libncurses5-dev gawk gettext unzip file libssl-dev wget

Get the source code:

git clone https://git.lede-project.org/source.git
cd source

./scripts/feeds update -a
./scripts/feeds install -a

make defconfig

you should insert the alternative of grabbing the .config from an existing build
and running make oldconfig.

@dlang: well; we need to keep it short and build on top of that.

@richb-hanover: I do not seem to have the rights to edit the documentation

@mwarning what is your username in the LEDE wiki?

@tmomas: it is mwarning. It was created a few minutes ago. I thought it to be the same as the forum.

I added the entry. Everyone, feel free to improve it.

This was very useful to me, and I realize that you want to keep it as short as possible. However, I think it would be very helpful for most users if it was added how to check out a specific release tag. It's only two lines that need to be added between the cd lede and the scripts:
git tag
to get a list of the tag names, and then
git checkout <tag name>

This will give a much more stable build.

Hi Per,

this would be an improvement, but also would make the instructions more complex.
What about creating successive sites with more complex/annotated versions of the howto?
Some way so that we can keep a minimal howto and make it possible that people can deepen their knowledge and deal with more custom setups.

I'm not sure how this would look like, but I like to encourage you to keep a minimal version.
Aside from that, feel welcome to improve the site. :slight_smile:

On the other hand, you could remove the warning about development branch which would shorten it by about the same amount of text. Another thing, make defconfig is redundant. make menuconfig will do it if it hasn't been done.

ok that was a little too easy lol, like using android kitchen basically.

@Per: fair point. :slight_smile:
How about this then:

  • use git clone -b v17.01.3
  • remove make defconfig

Feel free to change the site if you agree.
Imho, teaching about git tag is not necessary for compiling lede.
But maybe we can add that to the list notes below.

I think I'll try go write a beginners step by step guide to building that will also include things like setting up a Virtualbox server for Windows users. I can include the extra git commands there, and then link to guides like yours where it's relevant.

NIce, thanks for contributing.

yeah @Per i noticed the same thing, so with the menuconfig after updating and installing feeds, then selecting a target, does it automatically configure kernel based modules and firmware for the specific target? if so, that with just packages would make things a bit more simplified, wish i could help!! then maybe place other options in developer menu, i understand its all WIP as they say in dd-wrt :slight_smile:

@sycohexor: I think you'll get what you need for a working image by selecting the correct target, but not much more. LuCi has to be selected explicitly.

I've finished the first version of the guide: https://lede-project.org/docs/user-guide/beginners-build-guide
Let me know what you think. The goal is to give anyone the bare minimum needed to start building their own firmwares.

@per: looks good to me, i agree understanding the bare minimums at first to build your own image will help with a lot less bricking and keep the fear out of peoples minds that development is a scary brainyack thing only geniuses are capable of, also leading to more improvements and releases, just beware with other peoples builds you never know if they dropped in a backdoor :stuck_out_tongue:

if the guide was for freshhand developers, it would be better if u explain a little bit about how openwrt is built. like kernel, toolchain, packages, mkimage, etc.