Browse Source

first version of ffdo firmware depending on gluon v2017.1.2 (lede)

cajuskamer 6 years ago
parent
commit
4edb3eb5e8
4 changed files with 61 additions and 38 deletions
  1. 4 4
      Dockerfile
  2. 12 3
      docker-build.py
  3. 31 21
      site.conf
  4. 14 10
      site.mk

+ 4 - 4
Dockerfile

@@ -1,9 +1,9 @@
-FROM debian:jessie
+FROM debian:stretch
 MAINTAINER Markus Lindenberg <markus@lindenberg.io>
 
 ENV GLUON_SITE ffdo
-ENV GLUON_TAG v2016.2.7
-ENV GLUON_RELEASE 0.10.3
+ENV GLUON_TAG v2017.1.2 
+ENV GLUON_RELEASE 0.11.2
 ENV GLUON_BRANCH stable
 ENV GLUON_BROKEN 1
 ENV GLUON_TARGETS ar71xx-generic ar71xx-nand brcm2708-bcm2708 brcm2708-bcm2709 mpc85xx-generic x86-generic x86-64 
@@ -13,7 +13,7 @@ ENV DEBIAN_PRIORITY critical
 ENV DEBCONF_NOWARNINGS yes
 
 RUN apt-get update
-RUN apt-get -y install --no-install-recommends ca-certificates python python3 wget file git subversion build-essential gawk unzip libncurses5-dev zlib1g-dev openssl libssl-dev bsdmainutils && apt-get clean
+RUN apt-get -y install --no-install-recommends adduser ca-certificates python python3 wget file git subversion build-essential gawk unzip libncurses5-dev zlib1g-dev openssl libssl-dev bsdmainutils && apt-get clean
 
 ADD docker-build.py /usr/src/build.py
 ADD site.mk /usr/src/site.mk

+ 12 - 3
docker-build.py

@@ -70,6 +70,7 @@ else:
 
 # Build
 for target in targets:
+    print('You can copy the log file from the container using: docker cp %s:%s/%s_stderr.log <destination>'% (environ['HOSTNAME'], logdir, target)); stdout.flush()
     print('Building for target %s... ' % target, end=''); stdout.flush()
     arch, variant = target.split('-')
     target_start = datetime.now()
@@ -103,7 +104,7 @@ for target in targets:
         except FileExistsError:
             pass
         variantdir = '%s/%s/%s' % (modulesdir, arch, variant)
-        rename('output/modules/gluon-%s-%s/%s/%s' % (site, release, arch, variant), variantdir)
+        rename('output/packages/gluon-%s-%s/%s/%s' % (site, release, arch, variant), variantdir)
 
         # Checksum modules
         print('Creating SHA512 sums for modules... ', end=''); stdout.flush()
@@ -115,10 +116,18 @@ for target in targets:
         print('FAILED after', duration)
 
     # Clean up
+    chdir(gluondir)
     print('Cleaning up...', end=''); stdout.flush()
     with open('%s/%s_cleanup.log' % (logdir, target), 'w') as log:
-        check_call('make dirclean V=s', stdout=log, stderr=log, shell=True)
-    print('OK'); stdout.flush()
+    print('Cleaning up...', end=''); stdout.flush()
+    with open('%s/%s_cleanup.log' % (logdir, target), 'w') as log:
+        # rc = call('make dirclean V=s', stdout=log, stderr=log, shell=True)
+        rc = call('make clean GLUON_TARGET=%s V=s' % (target), stdout=log, stderr=log, shell=True)
+    if rc == 0:
+        print('OK'); stdout.flush()
+    else:
+        print('FAILED')
+    stdout.flush()
 
 print('Creating SHA512 sums for images... ', end=''); stdout.flush()
 for d in (factorydir, sysupdir):

+ 31 - 21
site.conf

@@ -2,7 +2,7 @@
 	hostname_prefix = 'FF-DO-',
 	site_name = 'Freifunk Dortmund',
 	site_code = 'ffdo',
-
+        site_seed = 'c1b2f463dd1e2c032ba07b82b72eea3a07fb8aca7a7e0b82859481ac2f4c231a',
 	prefix4 = '10.233.0.0/16',
 	prefix6 = '2a03:2260:300a:1000::/64',
 
@@ -11,9 +11,9 @@
 	regdom = 'DE',
 
 	opkg = {
-		openwrt = 'http://downloads.openwrt.org/%n/%v/%S/packages',
+		lede = 'http://opkg.services.ffac/lede/snapshots/packages/%A',
 		extra = {
-			modules = 'http://update.services.ffdo.de/%GS/releases/%GR/modules/%S',
+                    gluon = 'http://opkg.services.ffac/modules/gluon-%GS-%GR/%S',
 		},
 	},
 
@@ -52,13 +52,19 @@
 		mac = '02:ff:d0:09:ff:02',
 	},
 
-	fastd_mesh_vpn = {
-		methods = {'salsa2012+umac'},
+	mesh_vpn = {
+		-- enabled = true,
 		mtu = 1280,
-		groups = {
-			ffdo = {
-				limit = 1,
-				peers = {
+		fastd = {
+			-- Refer to http://fastd.readthedocs.org/en/latest/ to better understand
+			-- what these options do.
+	
+			-- List of crypto-methods to use.
+			methods = {'salsa2012+umac'},
+			groups = {
+				ffdo = {
+					limit = 1,
+					peers = {
 					do01100 = {
 						key = '4e3871281764a80fddff41152a24f198d8646f62bd240db8659495bd7f6ef0da',
 						remotes = {'"sn-dtm01.ffdo.de" port 10000'},
@@ -74,20 +80,21 @@
 					do02200 = {
 						key = 'e6029a94aa2ac28014ea208b30398092c33836f05897e5aa5fa1d8525e35a136',
 						remotes = {'"sn-ber02.ffdo.de" port 10000'},
+						},
 					},
 				},
-			},
-			do01 = {
-				limit = 0,
-				peers = {},
-			},
-			do02 = {
-				limit = 0,
-				peers = {},
-			},
-			backbone = {
-				limit = 0,
-				peers = {},
+				do01 = {
+					limit = 0,
+					peers = {},
+				},
+				do02 = {
+					limit = 0,
+					peers = {},
+				},
+				backbone = {
+					limit = 0,
+					peers = {},
+				},
 			},
 		},
 		bandwidth_limit = {
@@ -110,6 +117,7 @@
 					'64825ce2492cf99c51abcba32bd08bd8f880da58e606b3957159c78725d739ca', -- Till
 					'497223af7ce512a31d7c282765951063d781f46f6e6a890faa3bf2e03fe2e19c', -- Torben
 					'6274bc371973f6cedd6c63523388fda3a938df26a1cfbe91378c8c0a1bf6efca', -- Tim
+					'59beffa6ce536e119c91a0ea83a20747b8f753311113c7e97f82444661ca21ba', -- Cajus
 				},
 			},
 			beta = {
@@ -122,6 +130,7 @@
 					'64825ce2492cf99c51abcba32bd08bd8f880da58e606b3957159c78725d739ca', -- Till
 					'497223af7ce512a31d7c282765951063d781f46f6e6a890faa3bf2e03fe2e19c', -- Torben
 					'6274bc371973f6cedd6c63523388fda3a938df26a1cfbe91378c8c0a1bf6efca', -- Tim
+					'59beffa6ce536e119c91a0ea83a20747b8f753311113c7e97f82444661ca21ba', -- Cajus
 				},
 			},
 			experimental = {
@@ -134,6 +143,7 @@
 					'64825ce2492cf99c51abcba32bd08bd8f880da58e606b3957159c78725d739ca', -- Till
 					'497223af7ce512a31d7c282765951063d781f46f6e6a890faa3bf2e03fe2e19c', -- Torben
 					'6274bc371973f6cedd6c63523388fda3a938df26a1cfbe91378c8c0a1bf6efca', -- Tim
+					'59beffa6ce536e119c91a0ea83a20747b8f753311113c7e97f82444661ca21ba', -- Cajus
 				},
 			},
 		},

+ 14 - 10
site.mk

@@ -1,9 +1,10 @@
+##	gluon site.mk makefile example
+
 ##	GLUON_SITE_PACKAGES
-#		specify gluon/openwrt packages to include here
-#		The gluon-mesh-batman-adv-* package must come first because of the dependency resolution
+#		specify Gluon/LEDE packages to include here
 
 GLUON_SITE_PACKAGES := \
-	gluon-mesh-batman-adv-15 \
+	gluon-alfred \
 	gluon-respondd \
 	gluon-autoupdater \
 	gluon-config-mode-autoupdater \
@@ -14,12 +15,11 @@ GLUON_SITE_PACKAGES := \
 	gluon-config-mode-mesh-vpn \
 	gluon-ebtables-filter-multicast \
 	gluon-ebtables-filter-ra-dhcp \
-	gluon-luci-admin \
-	gluon-luci-autoupdater \
-	gluon-luci-portconfig \
-	gluon-luci-private-wifi \
-	gluon-luci-wifi-config \
-	gluon-next-node \
+	gluon-web-admin \
+	gluon-web-autoupdater \
+	gluon-web-network \
+	gluon-web-wifi-config \
+	gluon-mesh-batman-adv-15 \
 	gluon-mesh-vpn-fastd \
 	gluon-radvd \
 	gluon-setup-mode \
@@ -27,7 +27,7 @@ GLUON_SITE_PACKAGES := \
 	haveged \
 	iptables \
 	iwinfo
-
+	
 ##	DEFAULT_GLUON_RELEASE
 #		version string to use for images
 #		gluon relies on
@@ -58,3 +58,7 @@ GLUON_ATH10K_MESH ?= ibss
 
 # Languages to include
 GLUON_LANGS ?= en de
+
+# VERSION 
+GLUON_RELEASE=0.11.2
+