-
Notifications
You must be signed in to change notification settings - Fork 6
Dockerfile #7
base: librerouter-18.06
Are you sure you want to change the base?
Dockerfile #7
Changes from all commits
78d58a4
11ad5b9
91d4c13
23eff40
3fec1a6
8dff4c3
e01db77
8dba486
e50e09a
e43451e
94e087d
070c317
21c0a89
b01192e
46525b3
af9e49a
9b8a738
a1b4d3d
9ca827c
e031cc1
5488888
337e0ca
ce41bd5
46dd9a2
d9be944
ec969d0
436ee04
0251207
2551195
58cc19d
f3f6c82
891e953
9d99db2
6e51c1e
d7565cc
df35f66
73bdf78
8d50713
4e68f0f
f2a0e8e
d39a279
682bf48
4b51413
cd4a192
3407a6e
713bd7b
82771bb
588e1e0
d256755
c814d43
3a93c64
0d45020
5ce6e16
9711e79
a268e91
b6c609a
338454e
0e5d950
6bfb6ab
b005125
8a45cb4
a681148
b7c4c50
f4bb1e2
b55e855
23dc9c0
6487687
08c5264
9400512
20235c8
8ccccdb
89d4209
a34e533
065a2bb
963ad37
a28f13b
be44174
5ac7b20
483e541
40ffd58
9bbe761
fe6d87e
1e686bb
70c692a
fdd48aa
7e0dceb
7aaf112
b69944c
797f54a
264b518
e9e5506
5a79938
dfce6c5
84ec293
f6e4475
bab3551
3afe1b2
a1e1ecf
e925fe3
9f8b370
d1bddf2
171b361
5ce8301
d59e1a4
0cb606f
7b2698a
daa08ef
6f8b460
e8293db
f091608
ceb87f0
f7c4052
1b0c8c6
bca406d
b65493a
19a8c07
15a615d
ddca03c
2f0f80d
32867c8
9dcd9a7
d2282e2
4dbcc21
533bc65
ac929cf
b06a4dd
db3c975
767b9e5
2105dcf
2124be8
4d606a5
13da069
47fd2b1
2e4f090
97083d1
9fac332
47850d3
fbe7e86
e0e46d9
d5d9198
495eb8b
7beb0ca
c9dad82
1eb4ed7
7739366
85055be
d3d4100
8e410d4
9fa6456
da50bf8
414bf67
b536696
fb4eb0a
a6b914d
2bd9c91
863d464
9868324
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,38 @@ | ||
| --- | ||
| name: Bug report | ||
| about: Create a report to help us improve | ||
| title: '' | ||
| labels: '' | ||
| assignees: '' | ||
|
|
||
| --- | ||
|
|
||
| **Describe the bug** | ||
| A clear and concise description of what the bug is. | ||
|
|
||
| **To Reproduce** | ||
| Steps to reproduce the behavior: | ||
| 1. Go to '...' | ||
| 2. Click on '....' | ||
| 3. Scroll down to '....' | ||
| 4. See error | ||
|
|
||
| **Expected behavior** | ||
| A clear and concise description of what you expected to happen. | ||
|
|
||
| **Screenshots** | ||
| If applicable, add screenshots to help explain your problem. | ||
|
|
||
| **Desktop (please complete the following information):** | ||
| - OS: [e.g. iOS] | ||
| - Browser [e.g. chrome, safari] | ||
| - Version [e.g. 22] | ||
|
|
||
| **Smartphone (please complete the following information):** | ||
| - Device: [e.g. iPhone6] | ||
| - OS: [e.g. iOS8.1] | ||
| - Browser [e.g. stock browser, safari] | ||
| - Version [e.g. 22] | ||
|
|
||
| **Additional context** | ||
| Add any other context about the problem here. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,17 @@ | ||
| FROM ubuntu:18.04 | ||
|
|
||
| RUN apt-get update &&\ | ||
| apt-get install -y sudo time git-core vim subversion build-essential gcc-multilib \ | ||
| libncurses5-dev zlib1g-dev gawk flex gettext wget unzip python &&\ | ||
| apt-get clean | ||
|
|
||
| RUN useradd -m openwrt &&\ | ||
| echo 'openwrt ALL=NOPASSWD: ALL' > /etc/sudoers.d/openwrt | ||
|
|
||
| USER openwrt | ||
| WORKDIR /home/openwrt | ||
|
|
||
| RUN git clone https://github.com/LibreRouterOrg/openwrt.git &&\ | ||
| openwrt/scripts/feeds update -a &&\ | ||
| openwrt/scripts/feeds install -a &&\ | ||
| cp openwrt/configs/default_config openwrt/.config |
This file was deleted.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,128 @@ | ||
|
|
||
| ## Build instructions | ||
|
|
||
| Dependencies: You must have installed: gcc, binutils, bzip2, flex, python, | ||
| perl, make, find, grep, diff, unzip, gawk, getopt, subversion, time, | ||
| libz-dev (or zlib) and libc headers. | ||
|
|
||
| 1. Run `./scripts/feeds update -a` to obtain all the latest package definitions | ||
| defined in feeds.conf.default | ||
| 2. Run `./scripts/feeds install -a` to install symlinks for all obtained | ||
| packages into package/feeds/ | ||
| 3. Run `cp configs/default_config .config` | ||
| 4. Run `make` to build your firmware. After choosing the options in the ncurses | ||
| menu, choose Exit and then Yes when asked if you want to save. | ||
|
|
||
| ### Building in docker container | ||
|
|
||
| You need Docker installed, if you don't have it run `wget -O - https://get.docker.com | bash` to install. | ||
|
|
||
| Simply run `docker run -it luandro/libremesh bash` or clone this repository and create a `docker build` yourself after you've modified the necessary files. Inside the container `cd openwrt` and run `make menuconfig` to select your targets and packages. Finally run `make` to build. | ||
|
|
||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. How do you share the result of the work to outside of the container?
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Good idea.
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I tried leaving the |
||
| ## Development of LibreMesh packages | ||
|
|
||
| To do work in libremesh packages you should make a clone of the repo and then | ||
| you can use this clone as part of the build using a local symbolic link. This way | ||
| you can change the files and run `make`. When you are satisfied by your changes you | ||
| should commit your changes to the lime-packages repo in a new branch and push this | ||
| to github and do a pull request. | ||
|
|
||
| Fork the lime-packages repo in github and then clone it replacing yourgithubuser | ||
| ``` | ||
| git clone git@github.com:yourgithubuser/lime-packages.git | ||
| ``` | ||
|
|
||
| Then edit feeds.conf.default and change the line | ||
|
|
||
| ``` | ||
| src-git libremesh https://github.com/libremesh/lime-packages.git;master | ||
| ``` | ||
|
|
||
| with this line replacing the path to repo and branch name (replace all the | ||
| line, check that src-git changed to src-link): | ||
|
|
||
| ``` | ||
| src-link libremesh /home/user/path/to/lime-packages | ||
| ``` | ||
|
|
||
| Run `./scripts/feeds update -a` and then `./scripts/feeds install -a` | ||
|
|
||
| Now perform your changes to the lime-packages repo, editing files, etc. | ||
| If you are creating new packages you should run `feeds install -a` after you create | ||
| the package in order to be able to select the package with make menuconfig. | ||
|
|
||
| When you want to create an image with your changes run `make`. If you need change | ||
| the package selection run `make menuconfig` and then `make`. | ||
|
|
||
| ## Testing a LibreMesh branch | ||
|
|
||
| Edit feeds.conf.default, for example to test the `add-fft-eval` branch: | ||
|
|
||
| ``` | ||
| diff --git a/feeds.conf.default b/feeds.conf.default | ||
| index 5a681c88c4..ee2c5f1223 100644 | ||
| --- a/feeds.conf.default | ||
| +++ b/feeds.conf.default | ||
| @@ -3,6 +3,6 @@ src-git luci https://git.openwrt.org/project/luci.git^f64b1523447547032d5280fb0b | ||
| src-git routing https://git.openwrt.org/feed/routing.git^1b9d1c419f0ecefda51922a7845ab2183d6acd76 | ||
| src-git telephony https://git.openwrt.org/feed/telephony.git^b9d7b321d15a44c5abb9e5d43a4ec78abfd9031b | ||
|
|
||
| -src-git libremesh https://github.com/libremesh/lime-packages.git;master | ||
| +src-git libremesh https://github.com/libremesh/lime-packages.git;add-fft-eval | ||
| src-git libremap https://github.com/libremap/libremap-agent-openwrt.git;master | ||
| src-git fbw https://github.com/libremesh/FirstBootWizard.git;master | ||
| ``` | ||
|
|
||
| ``` | ||
| $ ./scripts/feeds update -a | ||
| ``` | ||
|
|
||
| update the feed as new packages may have beed added to a feed | ||
| ``` | ||
| $ ./scripts/feeds install -a | ||
| ``` | ||
|
|
||
| ## Changing package and options selection | ||
|
|
||
| The config documentation is here `https://openwrt.org/docs/guide-developer/build-system/use-buildsystem`. | ||
| Some tips: | ||
| * The config is stored in .config | ||
| * To change the config use `make manuconfig` | ||
| * To know the difference between two configs, for example from the current config (.config) and | ||
| the default configuration run `$ ./scripts/diffconfig.sh | diff configs/default_config -` | ||
| * To save the new config to a new file (for backup purposes, to add it to a git repo, etc) run | ||
| `$ ./scripts/diffconfig.sh > configs/your_config` | ||
| * To change the default configuration, for example to perform a pull request to `git@github.com:LibreRouterOrg/openwrt.git` run | ||
| `$ ./scripts/diffconfig.sh > configs/default_config` | ||
|
|
||
|
|
||
| ## Upgrading the buildroot | ||
|
|
||
| ``` | ||
| $ git pull | ||
|
|
||
| $ ./scripts/feeds update -a | ||
|
|
||
| $ ./scripts/feeds install -a | ||
| ``` | ||
|
|
||
| Copy the new config, be aware that this overwrites you local config!! | ||
| ``` | ||
| $ cp configs/default_config .config | ||
| ``` | ||
|
|
||
| ``` | ||
| $ make defconfig | ||
| $ make -j4 | ||
| ... | ||
| ``` | ||
|
|
||
| ## Notes | ||
|
|
||
| * You can speed up the build process using more CPUs, for example with `make -j3` | ||
| the build uses 3 CPUs. | ||
| * For aditional documentation see | ||
| * https://openwrt.org/docs/guide-developer/build-system/use-buildsystem | ||
| * https://openwrt.org/docs/guide-developer/feeds | ||
| * https://openwrt.org/docs/guide-developer/packages | ||
| * https://openwrt.org/docs/guide-developer/start | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,138 @@ | ||
| CONFIG_TARGET_ar71xx=y | ||
| CONFIG_TARGET_ar71xx_generic=y | ||
| CONFIG_TARGET_ar71xx_generic_DEVICE_librerouter-v1=y | ||
| CONFIG_DEVEL=y | ||
| CONFIG_BUSYBOX_CUSTOM=y | ||
| CONFIG_BUSYBOX_CONFIG_ASH_RANDOM_SUPPORT=y | ||
| CONFIG_BUSYBOX_CONFIG_DEVMEM=y | ||
| CONFIG_BUSYBOX_CONFIG_NC_SERVER=y | ||
| CONFIG_BWMNG_EXTENDEDSTATS=y | ||
| CONFIG_BWMNG_TIME=y | ||
| # CONFIG_FEED_libremap is not set | ||
| # CONFIG_FEED_libremesh is not set | ||
| # CONFIG_FEED_luci is not set | ||
| # CONFIG_FEED_packages is not set | ||
| # CONFIG_FEED_routing is not set | ||
| # CONFIG_FEED_telephony is not set | ||
| CONFIG_KERNEL_DEVMEM=y | ||
| CONFIG_KERNEL_RELAY=y | ||
| CONFIG_KMOD_BATMAN_ADV_BATMAN_V=y | ||
| CONFIG_KMOD_BATMAN_ADV_BLA=y | ||
| CONFIG_KMOD_BATMAN_ADV_DAT=y | ||
| CONFIG_KMOD_BATMAN_ADV_DEBUGFS=y | ||
| CONFIG_KMOD_BATMAN_ADV_MCAST=y | ||
| CONFIG_PACKAGE_ATH_DEBUG=y | ||
| CONFIG_PACKAGE_ATH_SPECTRAL=y | ||
| CONFIG_PACKAGE_babeld=y | ||
| CONFIG_PACKAGE_bandwidth-test=y | ||
| CONFIG_PACKAGE_batctl=y | ||
| CONFIG_PACKAGE_block-mount=y | ||
| CONFIG_PACKAGE_bwm-ng=y | ||
| # CONFIG_PACKAGE_dnsmasq is not set | ||
| CONFIG_PACKAGE_check-date-http=y | ||
| CONFIG_PACKAGE_deferable-reboot=y | ||
| CONFIG_PACKAGE_dnsmasq-dhcpv6=y | ||
| CONFIG_PACKAGE_ebtables=y | ||
| CONFIG_PACKAGE_ethtool=y | ||
| CONFIG_PACKAGE_fft-eval=y | ||
| CONFIG_PACKAGE_first-boot-wizard=y | ||
| CONFIG_PACKAGE_hotplug-initd-services=y | ||
| CONFIG_PACKAGE_ip-tiny=y | ||
| CONFIG_PACKAGE_ip6tables-mod-nat=y | ||
| CONFIG_PACKAGE_ipset=y | ||
| CONFIG_PACKAGE_iputils-ping=y | ||
| CONFIG_PACKAGE_iputils-ping6=y | ||
| CONFIG_PACKAGE_kmod-batman-adv=y | ||
| CONFIG_PACKAGE_kmod-crypto-crc32c=y | ||
| CONFIG_PACKAGE_kmod-crypto-hash=y | ||
| CONFIG_PACKAGE_kmod-dummy=y | ||
| CONFIG_PACKAGE_kmod-ebtables=y | ||
| CONFIG_PACKAGE_kmod-ebtables-ipv6=y | ||
| CONFIG_PACKAGE_kmod-fs-vfat=y | ||
| CONFIG_PACKAGE_kmod-ip6-tunnel=y | ||
| CONFIG_PACKAGE_kmod-ipt-conntrack=y | ||
| CONFIG_PACKAGE_kmod-ipt-ipset=y | ||
| CONFIG_PACKAGE_kmod-ipt-nat=y | ||
| CONFIG_PACKAGE_kmod-ipt-nat6=y | ||
| CONFIG_PACKAGE_kmod-iptunnel6=y | ||
| CONFIG_PACKAGE_kmod-lib-crc16=y | ||
| CONFIG_PACKAGE_kmod-lib-crc32c=y | ||
| CONFIG_PACKAGE_kmod-macvlan=y | ||
| CONFIG_PACKAGE_kmod-nf-conntrack=y | ||
| CONFIG_PACKAGE_kmod-nf-conntrack6=y | ||
| CONFIG_PACKAGE_kmod-nf-nat=y | ||
| CONFIG_PACKAGE_kmod-nf-nat6=y | ||
| CONFIG_PACKAGE_kmod-nfnetlink=y | ||
| CONFIG_PACKAGE_kmod-nls-cp437=y | ||
| CONFIG_PACKAGE_kmod-nls-iso8859-1=y | ||
| CONFIG_PACKAGE_kmod-nls-utf8=y | ||
| CONFIG_PACKAGE_kmod-tun=y | ||
| CONFIG_PACKAGE_kmod-usb-ledtrig-usbport=y | ||
| CONFIG_PACKAGE_kmod-usb-ohci=y | ||
| CONFIG_PACKAGE_libipset=y | ||
| CONFIG_PACKAGE_libiwinfo-lua=y | ||
| CONFIG_PACKAGE_liblucihttp=y | ||
| CONFIG_PACKAGE_liblucihttp-lua=y | ||
| CONFIG_PACKAGE_libmnl=y | ||
| CONFIG_PACKAGE_libncurses=y | ||
| CONFIG_PACKAGE_libpcap=y | ||
| CONFIG_PACKAGE_libremap-agent=y | ||
| CONFIG_PACKAGE_librt=y | ||
| CONFIG_PACKAGE_libubox-lua=y | ||
| CONFIG_PACKAGE_libubus-lua=y | ||
| CONFIG_PACKAGE_libuci-lua=y | ||
| CONFIG_PACKAGE_lime-app=y | ||
| CONFIG_PACKAGE_lime-debug=y | ||
| CONFIG_PACKAGE_lime-docs=y | ||
| CONFIG_PACKAGE_lime-docs-minimal=y | ||
| CONFIG_PACKAGE_lime-hwd-ground-routing=y | ||
| CONFIG_PACKAGE_lime-hwd-openwrt-wan=y | ||
| CONFIG_PACKAGE_lime-proto-anygw=y | ||
| CONFIG_PACKAGE_lime-proto-babeld=y | ||
| CONFIG_PACKAGE_lime-proto-batadv=y | ||
| CONFIG_PACKAGE_lime-proto-wan=y | ||
| CONFIG_PACKAGE_lime-report=y | ||
| CONFIG_PACKAGE_lime-system=y | ||
| CONFIG_PACKAGE_luci-base=y | ||
| CONFIG_PACKAGE_luci-lib-httpclient=y | ||
| CONFIG_PACKAGE_luci-lib-httpprotoutils=y | ||
| CONFIG_PACKAGE_luci-lib-ip=y | ||
| CONFIG_PACKAGE_luci-lib-json=y | ||
| CONFIG_PACKAGE_luci-lib-jsonc=y | ||
| CONFIG_PACKAGE_luci-lib-libremap=y | ||
| CONFIG_PACKAGE_luci-lib-libremap-babeld=y | ||
| CONFIG_PACKAGE_luci-lib-libremap-location=y | ||
| CONFIG_PACKAGE_luci-lib-libremap-system=y | ||
| CONFIG_PACKAGE_luci-lib-libremap-wireless=y | ||
| CONFIG_PACKAGE_luci-lib-nixio=y | ||
| CONFIG_PACKAGE_mtr=y | ||
| CONFIG_PACKAGE_netperf=y | ||
| CONFIG_PACKAGE_pirania=y | ||
| CONFIG_PACKAGE_pirania-app=y | ||
| CONFIG_PACKAGE_pv=y | ||
| CONFIG_PACKAGE_rpcd=y | ||
| CONFIG_PACKAGE_rpcd-mod-rrdns=y | ||
| CONFIG_PACKAGE_safe-reboot=y | ||
| CONFIG_PACKAGE_shared-state=y | ||
| CONFIG_PACKAGE_shared-state-babeld_hosts=y | ||
| CONFIG_PACKAGE_shared-state-bat_hosts=y | ||
| CONFIG_PACKAGE_shared-state-dnsmasq_hosts=y | ||
| CONFIG_PACKAGE_shared-state-dnsmasq_leases=y | ||
| CONFIG_PACKAGE_shared-state-nodes_and_links=y | ||
| CONFIG_PACKAGE_shared-state-persist=y | ||
| CONFIG_PACKAGE_shared-state-pirania=y | ||
| CONFIG_PACKAGE_sprunge=y | ||
| CONFIG_PACKAGE_tcpdump-mini=y | ||
| CONFIG_PACKAGE_terminfo=y | ||
| CONFIG_PACKAGE_ubus-lime-batman-adv=y | ||
| CONFIG_PACKAGE_ubus-lime-fbw=y | ||
| CONFIG_PACKAGE_ubus-lime-grondrouting=y | ||
| CONFIG_PACKAGE_ubus-lime-location=y | ||
| CONFIG_PACKAGE_ubus-lime-metrics=y | ||
| CONFIG_PACKAGE_ubus-lime-openairview=y | ||
| CONFIG_PACKAGE_ubus-lime-utils=y | ||
| CONFIG_PACKAGE_uhttpd=y | ||
| CONFIG_PACKAGE_uhttpd-mod-lua=y | ||
| CONFIG_PACKAGE_uhttpd-mod-ubus=y | ||
| CONFIG_PACKAGE_watchping=y | ||
| CONFIG_uhttpd_lua=y |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,4 +1,7 @@ | ||
| src-git packages https://git.openwrt.org/feed/packages.git^5779614d267732fc382c1684202543fdbd924b4c | ||
| src-git luci https://git.openwrt.org/project/luci.git^4d6d8bc5b0d7ee71c7b29b12e7e0c2e1e86cb268 | ||
| src-git routing https://git.openwrt.org/feed/routing.git^bb156bf355b54236a52279522fabbec1e8dd7043 | ||
| src-git routing https://github.com/LibreRouterOrg/routing.git^2aa1506714d28704234998808249907a8289d945 | ||
| src-git telephony https://git.openwrt.org/feed/telephony.git^507eabe1b60458ceb1a535aec9d12c8be95706f0 | ||
|
|
||
| src-git libremesh https://github.com/libremesh/lime-packages.git^a5ab2e48bc9e6318c3928a5164238baa731af1d3 | ||
| src-git libremap https://github.com/libremesh/libremap-agent.git;master |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I dont think it is a good idea to recomend doin wget -O | bash. Let's sugest
apt-get install dockerThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's the official docker installation,
apt-get install dockermay not work for all distributions.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would suggest to follow docker install instructions, as they may change
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
much more complex than years before, but these are the install docs: https://docs.docker.com/install/