Skip to content
Snippets Groups Projects
Select Git revision
  • 02fd2d04b0623019ecd449c5965463700ff7735d
  • experimental default protected
  • v2023.2.5-ffs
  • nrb/ex400-remove-wps
  • nrb/airmax-test
  • v2023.2.4-ffs
  • nrb/ar9344-reset-sequence
  • autinerd/experimental-openwrt-24.10
  • v2023.2.3-ffs
  • v2023.2.2-ffs
  • v2023.2-ffs
  • v2023.1-ffs
  • v2022.1.4-ffs
  • feature/addMikrotikwAP
  • v2022.1.3-ffs
  • v2021.1.2-ffs
  • v2022.1.1-ffs
  • master protected
  • v2021.1.1-ffs
  • nrb/gluon-master-cpe510
  • v2021.1-ffs
  • experimental-2025-07-04
  • experimental-2025-07-04-base
  • experimental-2025-07-01
  • experimental-2025-07-01-base
  • experimental-2025-06-25
  • experimental-2025-06-25-base
  • experimental-2025-06-24
  • experimental-2025-06-24-base
  • experimental-2025-06-22
  • experimental-2025-06-22-base
  • v2023.2.5-ffs0.1
  • experimental-2025-06-08
  • experimental-2025-06-08-base
  • experimental-2025-06-06
  • experimental-2025-06-06-base
  • experimental-2025-05-27
  • experimental-2025-05-27-base
  • experimental-2025-05-18
  • experimental-2025-05-18-base
  • experimental-2025-05-15
41 results

bcm27xx-bcm2711

Blame
    • Linus Lüssing's avatar
      dbea6f97
      bcm27xx-bcm2711: add (broken) support for the Raspberry Pi 4 · dbea6f97
      Linus Lüssing authored
      
      Known issues:
      
      * 11s is not working
      * has no reset button, only SSH access, serial access or an external SD
        card update can return it to config mode at the moment
      * LED: generally the red sys LED is working, including boot and failsafe
        blink patters, but:
        * sometimes not lit after boot
        * not blinking in config mode; instead sometimes either persistently on
          and sometimes persistently off after booting into config mode
      
      Therefore adding it as broken.
      
      However, due to its CPU power and small size still interesting as a VPN
      offloader or WiFi rooftop core node (e.g. to Gluon'ify 5+60GHz devices).
      
      Manifest aliases are added for upgrades from unreleased Gluon builds
      and can be removed again at some point in the future.
      
      Tested on a Raspberry Pi 4 Model B Rev 1.1.
      
      Signed-off-by: default avatarLinus Lüssing <linus.luessing@c0d3.blue>
      dbea6f97
      History
      bcm27xx-bcm2711: add (broken) support for the Raspberry Pi 4
      Linus Lüssing authored
      
      Known issues:
      
      * 11s is not working
      * has no reset button, only SSH access, serial access or an external SD
        card update can return it to config mode at the moment
      * LED: generally the red sys LED is working, including boot and failsafe
        blink patters, but:
        * sometimes not lit after boot
        * not blinking in config mode; instead sometimes either persistently on
          and sometimes persistently off after booting into config mode
      
      Therefore adding it as broken.
      
      However, due to its CPU power and small size still interesting as a VPN
      offloader or WiFi rooftop core node (e.g. to Gluon'ify 5+60GHz devices).
      
      Manifest aliases are added for upgrades from unreleased Gluon builds
      and can be removed again at some point in the future.
      
      Tested on a Raspberry Pi 4 Model B Rev 1.1.
      
      Signed-off-by: default avatarLinus Lüssing <linus.luessing@c0d3.blue>
    Makefile 5.03 KiB
    all:
    
    LC_ALL:=C
    LANG:=C
    export LC_ALL LANG
    
    
    # initialize (possibly already user set) directory variables
    GLUON_SITEDIR ?= site
    GLUON_TMPDIR ?= tmp
    GLUON_OUTPUTDIR ?= output
    
    GLUON_IMAGEDIR ?= $(GLUON_OUTPUTDIR)/images
    GLUON_PACKAGEDIR ?= $(GLUON_OUTPUTDIR)/packages
    
    # check for spaces & resolve possibly relative paths
    define mkabspath
     ifneq (1,$(words [$($(1))]))
      $$(error $(1) must not contain spaces)
     endif
     override $(1) := $(abspath $($(1)))
    endef
    
    $(eval $(call mkabspath,GLUON_SITEDIR))
    $(eval $(call mkabspath,GLUON_TMPDIR))
    $(eval $(call mkabspath,GLUON_OUTPUTDIR))
    $(eval $(call mkabspath,GLUON_IMAGEDIR))
    $(eval $(call mkabspath,GLUON_PACKAGEDIR))
    
    export GLUON_TMPDIR GLUON_IMAGEDIR GLUON_PACKAGEDIR DEVICES
    
    
    $(GLUON_SITEDIR)/site.mk:
    	$(error No site configuration was found. Please check out a site configuration to $(GLUON_SITEDIR))
    
    include $(GLUON_SITEDIR)/site.mk
    
    GLUON_RELEASE ?= $(error GLUON_RELEASE not set. GLUON_RELEASE can be set in site.mk or on the command line)
    
    GLUON_MULTIDOMAIN ?= 0
    GLUON_WLAN_MESH ?= 11s
    GLUON_DEBUG ?= 0
    
    export GLUON_RELEASE GLUON_REGION GLUON_MULTIDOMAIN GLUON_WLAN_MESH GLUON_DEBUG
    
    show-release:
    	@echo '$(GLUON_RELEASE)'
    
    
    update: FORCE
    	@GLUON_SITEDIR='$(GLUON_SITEDIR)' scripts/update.sh
    	@GLUON_SITEDIR='$(GLUON_SITEDIR)' scripts/patch.sh
    	@GLUON_SITEDIR='$(GLUON_SITEDIR)' scripts/feeds.sh
    
    update-patches: FORCE
    	@GLUON_SITEDIR='$(GLUON_SITEDIR)' scripts/update.sh
    	@GLUON_SITEDIR='$(GLUON_SITEDIR)' scripts/update-patches.sh
    	@GLUON_SITEDIR='$(GLUON_SITEDIR)' scripts/patch.sh
    
    update-feeds: FORCE
    	@GLUON_SITEDIR='$(GLUON_SITEDIR)' scripts/feeds.sh
    
    
    GLUON_TARGETS :=
    
    define GluonTarget
    gluon_target := $(1)$$(if $(2),-$(2))
    GLUON_TARGETS += $$(gluon_target)
    GLUON_TARGET_$$(gluon_target)_BOARD := $(1)
    GLUON_TARGET_$$(gluon_target)_SUBTARGET := $(if $(3),$(3),$(2))
    endef
    
    include targets/targets.mk
    
    
    LEDEMAKE = $(MAKE) -C lede
    
    BOARD := $(GLUON_TARGET_$(GLUON_TARGET)_BOARD)
    SUBTARGET := $(GLUON_TARGET_$(GLUON_TARGET)_SUBTARGET)
    
    GLUON_CONFIG_VARS := \
    	GLUON_SITEDIR='$(GLUON_SITEDIR)' \
    	GLUON_RELEASE='$(GLUON_RELEASE)' \
    	GLUON_BRANCH='$(GLUON_BRANCH)' \
    	GLUON_LANGS='$(GLUON_LANGS)' \
    	BOARD='$(BOARD)' \
    	SUBTARGET='$(SUBTARGET)'
    
    LEDE_TARGET := $(BOARD)$(if $(SUBTARGET),-$(SUBTARGET))
    
    export LEDE_TARGET
    
    
    CheckTarget := [ '$(LEDE_TARGET)' ] \
    	|| (echo 'Please set GLUON_TARGET to a valid target. Gluon supports the following targets:'; $(foreach target,$(GLUON_TARGETS),echo ' * $(target)';) false)
    
    CheckExternal := test -d lede || (echo 'You don'"'"'t seem to have obtained the external repositories needed by Gluon; please call `make update` first!'; false)
    
    define CheckSite
    	@GLUON_SITEDIR='$(GLUON_SITEDIR)' GLUON_SITE_CONFIG='$(1).conf' $(LUA) scripts/site_config.lua \
    		|| (echo 'Your site configuration ($(1).conf) did not pass validation.'; false)
    
    endef
    
    list-targets: FORCE
    	@$(foreach target,$(GLUON_TARGETS),echo '$(target)';)
    
    
    GLUON_FEATURE_PACKAGES := $(shell scripts/features.sh '$(GLUON_FEATURES)' || echo '__ERROR__')
    ifneq ($(filter __ERROR__,$(GLUON_FEATURE_PACKAGES)),)
    $(error Error while evaluating GLUON_FEATURES)
    endif
    
    
    GLUON_PACKAGES :=
    define merge_packages
      $(foreach pkg,$(1),
        GLUON_PACKAGES := $$(strip $$(filter-out -$$(patsubst -%,%,$(pkg)) $$(patsubst -%,%,$(pkg)),$$(GLUON_PACKAGES)) $(pkg))
      )
    endef
    $(eval $(call merge_packages,$(GLUON_FEATURE_PACKAGES) $(GLUON_SITE_PACKAGES)))
    
    config: FORCE
    	@$(CheckExternal)
    	@$(CheckTarget)
    
    	@$(GLUON_CONFIG_VARS) \
    		scripts/target_config.sh '$(GLUON_TARGET)' '$(GLUON_PACKAGES)' \
    		> lede/.config
    	+@$(LEDEMAKE) defconfig
    
    	@$(GLUON_CONFIG_VARS) \
    		scripts/target_config_check.sh '$(GLUON_TARGET)' '$(GLUON_PACKAGES)'
    
    
    LUA := lede/staging_dir/hostpkg/bin/lua
    
    $(LUA):
    	@$(CheckExternal)
    
    	+@[ -e lede/.config ] || $(LEDEMAKE) defconfig
    	+@$(LEDEMAKE) tools/install
    	+@$(LEDEMAKE) package/lua/host/install
    
    prepare-target: config $(LUA) ;
    
    all: prepare-target
    	$(foreach conf,site $(patsubst $(GLUON_SITEDIR)/%.conf,%,$(wildcard $(GLUON_SITEDIR)/domains/*.conf)),$(call CheckSite,$(conf)))
    
    	@scripts/clean_output.sh
    	+@$(LEDEMAKE)
    	@GLUON_SITEDIR='$(GLUON_SITEDIR)' scripts/copy_output.sh '$(GLUON_TARGET)'
    
    clean download: config
    	+@$(LEDEMAKE) $@
    
    dirclean: FORCE
    	+@[ -e lede/.config ] || $(LEDEMAKE) defconfig
    	+@$(LEDEMAKE) dirclean
    	@rm -rf $(GLUON_TMPDIR) $(GLUON_OUTPUTDIR)
    
    manifest: $(LUA) FORCE
    	@[ '$(GLUON_BRANCH)' ] || (echo 'Please set GLUON_BRANCH to create a manifest.'; false)
    	@echo '$(GLUON_PRIORITY)' | grep -qE '^([0-9]*\.)?[0-9]+$$' || (echo 'Please specify a numeric value for GLUON_PRIORITY to create a manifest.'; false)
    	@$(CheckExternal)
    
    	@( \
    		echo 'BRANCH=$(GLUON_BRANCH)' && \
    		echo "DATE=$$($(LUA) scripts/rfc3339date.lua)" && \
    		echo 'PRIORITY=$(GLUON_PRIORITY)' && \
    		echo && \
    		$(foreach GLUON_TARGET,$(GLUON_TARGETS), \
    			GLUON_SITEDIR='$(GLUON_SITEDIR)' scripts/generate_manifest.sh '$(GLUON_TARGET)' && \
    		) : \
    	) > 'tmp/$(GLUON_BRANCH).manifest.tmp'
    
    	@mkdir -p '$(GLUON_IMAGEDIR)/sysupgrade'
    	@mv 'tmp/$(GLUON_BRANCH).manifest.tmp' '$(GLUON_IMAGEDIR)/sysupgrade/$(GLUON_BRANCH).manifest'
    
    FORCE: ;
    
    .PHONY: FORCE
    .NOTPARALLEL: