Browse Source

Inital rework/reorganization
more to do

Hal Emmerich 3 years ago
parent
commit
4d4145f16f
78 changed files with 291 additions and 390 deletions
  1. 8 0
      filesystem/makefile
  2. 0 0
      filesystem/packages/flashmap/.gitignore
  3. 0 0
      filesystem/packages/flashmap/flashmap_0.3.orig.tar.gz
  4. 0 0
      filesystem/packages/flashmap/makefile
  5. 0 0
      filesystem/packages/flashmap/src/debian/changelog
  6. 0 0
      filesystem/packages/flashmap/src/debian/compat
  7. 0 0
      filesystem/packages/flashmap/src/debian/control
  8. 0 0
      filesystem/packages/flashmap/src/debian/copyright
  9. 0 0
      filesystem/packages/flashmap/src/debian/rules
  10. 0 0
      filesystem/packages/font-source-code-pro/.gitignore
  11. 0 0
      filesystem/packages/font-source-code-pro/font-source-code-pro_1.010.orig.tar.gz
  12. 0 0
      filesystem/packages/font-source-code-pro/makefile
  13. 0 0
      filesystem/packages/font-source-code-pro/src/SourceCodePro-Black.ttf
  14. 0 0
      filesystem/packages/font-source-code-pro/src/SourceCodePro-BlackIt.ttf
  15. 0 0
      filesystem/packages/font-source-code-pro/src/SourceCodePro-Bold.ttf
  16. 0 0
      filesystem/packages/font-source-code-pro/src/SourceCodePro-BoldIt.ttf
  17. 0 0
      filesystem/packages/font-source-code-pro/src/SourceCodePro-ExtraLight.ttf
  18. 0 0
      filesystem/packages/font-source-code-pro/src/SourceCodePro-ExtraLightIt.ttf
  19. 0 0
      filesystem/packages/font-source-code-pro/src/SourceCodePro-It.ttf
  20. 0 0
      filesystem/packages/font-source-code-pro/src/SourceCodePro-Light.ttf
  21. 0 0
      filesystem/packages/font-source-code-pro/src/SourceCodePro-LightIt.ttf
  22. 0 0
      filesystem/packages/font-source-code-pro/src/SourceCodePro-Medium.ttf
  23. 0 0
      filesystem/packages/font-source-code-pro/src/SourceCodePro-MediumIt.ttf
  24. 0 0
      filesystem/packages/font-source-code-pro/src/SourceCodePro-Regular.ttf
  25. 0 0
      filesystem/packages/font-source-code-pro/src/SourceCodePro-Semibold.ttf
  26. 0 0
      filesystem/packages/font-source-code-pro/src/SourceCodePro-SemiboldIt.ttf
  27. 0 0
      filesystem/packages/font-source-code-pro/src/debian/changelog
  28. 0 0
      filesystem/packages/font-source-code-pro/src/debian/compat
  29. 0 0
      filesystem/packages/font-source-code-pro/src/debian/control
  30. 0 0
      filesystem/packages/font-source-code-pro/src/debian/rules
  31. 0 0
      filesystem/packages/makefile
  32. 0 0
      filesystem/packages/mosys/.gitignore
  33. 0 0
      filesystem/packages/mosys/makefile
  34. 0 0
      filesystem/packages/mosys/mosys_69.10895.orig.tar.gz
  35. 0 0
      filesystem/packages/mosys/src/debian/changelog
  36. 0 0
      filesystem/packages/mosys/src/debian/compat
  37. 0 0
      filesystem/packages/mosys/src/debian/control
  38. 0 0
      filesystem/packages/mosys/src/debian/copyright
  39. 0 0
      filesystem/packages/mosys/src/debian/rules
  40. 0 0
      filesystem/packages/xsecurelock/.gitignore
  41. 0 0
      filesystem/packages/xsecurelock/makefile
  42. 0 0
      filesystem/packages/xsecurelock/src/debian/changelog
  43. 0 0
      filesystem/packages/xsecurelock/src/debian/compat
  44. 0 0
      filesystem/packages/xsecurelock/src/debian/control
  45. 0 0
      filesystem/packages/xsecurelock/src/debian/copyright
  46. 0 0
      filesystem/packages/xsecurelock/src/debian/docs
  47. 0 0
      filesystem/packages/xsecurelock/src/debian/rules
  48. 0 0
      filesystem/packages/xsecurelock/src/debian/source/format
  49. 0 0
      filesystem/packages/xsecurelock/src/debian/watch
  50. 0 0
      filesystem/packages/xsecurelock/xsecurelock_1.5.1.orig.tar.gz
  51. 20 0
      initramfs/makefile
  52. 0 0
      initramfs/resources/initramfs-init
  53. 90 0
      kernel/makefile
  54. 0 0
      kernel/patches/DTS/0007-RK3288-DTSI-rk3288-Add-missing-SPI2-pinctrl.patch
  55. 0 0
      kernel/patches/kernel/0001-Fix-ath9k-dwc2-init-frame-overruns.patch
  56. 0 0
      kernel/patches/kernel/0001-block-partitions-efi-Add-support-for-IGNOREME-GPT-si.patch
  57. 0 0
      kernel/patches/kernel/0002-Do-not-force-GUID-partition-with-gpt-command-line-op.patch
  58. 0 0
      kernel/patches/kernel/0100-arm-errata-workaround-errata-A12-857271-and-A17-857272.patch
  59. 0 0
      kernel/patches/kernel/5.x-dwc2/0008-usb-dwc2-Add-dwc2_gadget_dec_frame_num_by_one-functi.patch
  60. 0 0
      kernel/patches/kernel/5.x-dwc2/0014-usb-dwc2-gadget-Add-handler-for-WkupAlert-interrupt.patch
  61. 0 0
      kernel/patches/kernel/Added-a-second-reset-when-having-an-issue-reading-th.patch
  62. 0 0
      kernel/patches/kernel/Don-t-try-to-flush-cache-on-reset.patch
  63. 0 0
      kernel/patches/kernel/silence_vop_spam.patch
  64. 0 0
      kernel/resources/cmdline
  65. 0 0
      kernel/resources/config
  66. 0 0
      kernel/resources/kernel.its
  67. BIN
      kernel/sources/open-ath9k-htc-firmware.tar.gz
  68. 25 78
      makefile
  69. 0 13
      packages/initramfs/makefile
  70. 0 13
      packages/kernel/makefile
  71. 0 22
      packages/makefile
  72. 0 56
      packages/packaging-readme.md
  73. 0 142
      resources/BuildResources/linux-libre-signing-key.gpg
  74. 51 6
      scripts/BuildScripts/BuildCommon.mk
  75. 20 9
      scripts/BuildScripts/InitramfsScripts/buildInitramFs.sh
  76. 34 0
      scripts/BuildScripts/KernelScripts/buildAth9k.sh
  77. 27 37
      scripts/BuildScripts/KernelScripts/buildKernel.sh
  78. 16 14
      scripts/BuildScripts/KernelScripts/patchKernel.sh

+ 8 - 0
filesystem/makefile

@@ -0,0 +1,8 @@
+filesystem_packages:
+	$(MAKE) -C packages all
+
+filesystem_packages_clean:
+	$(MAKE) -C packages clean
+
+filesystem_packages_install:
+	$(MAKE) -C packages INSTALL_TARGET=$(INSTALL_TARGET) install

+ 0 - 0
packages/filesystem/flashmap/.gitignore → filesystem/packages/flashmap/.gitignore


+ 0 - 0
packages/filesystem/flashmap/flashmap_0.3.orig.tar.gz → filesystem/packages/flashmap/flashmap_0.3.orig.tar.gz


+ 0 - 0
packages/filesystem/flashmap/makefile → filesystem/packages/flashmap/makefile


+ 0 - 0
packages/filesystem/flashmap/src/debian/changelog → filesystem/packages/flashmap/src/debian/changelog


+ 0 - 0
packages/filesystem/flashmap/src/debian/compat → filesystem/packages/flashmap/src/debian/compat


+ 0 - 0
packages/filesystem/flashmap/src/debian/control → filesystem/packages/flashmap/src/debian/control


+ 0 - 0
packages/filesystem/flashmap/src/debian/copyright → filesystem/packages/flashmap/src/debian/copyright


+ 0 - 0
packages/filesystem/flashmap/src/debian/rules → filesystem/packages/flashmap/src/debian/rules


+ 0 - 0
packages/filesystem/font-source-code-pro/.gitignore → filesystem/packages/font-source-code-pro/.gitignore


+ 0 - 0
packages/filesystem/font-source-code-pro/font-source-code-pro_1.010.orig.tar.gz → filesystem/packages/font-source-code-pro/font-source-code-pro_1.010.orig.tar.gz


+ 0 - 0
packages/filesystem/font-source-code-pro/makefile → filesystem/packages/font-source-code-pro/makefile


+ 0 - 0
packages/filesystem/font-source-code-pro/src/SourceCodePro-Black.ttf → filesystem/packages/font-source-code-pro/src/SourceCodePro-Black.ttf


+ 0 - 0
packages/filesystem/font-source-code-pro/src/SourceCodePro-BlackIt.ttf → filesystem/packages/font-source-code-pro/src/SourceCodePro-BlackIt.ttf


+ 0 - 0
packages/filesystem/font-source-code-pro/src/SourceCodePro-Bold.ttf → filesystem/packages/font-source-code-pro/src/SourceCodePro-Bold.ttf


+ 0 - 0
packages/filesystem/font-source-code-pro/src/SourceCodePro-BoldIt.ttf → filesystem/packages/font-source-code-pro/src/SourceCodePro-BoldIt.ttf


+ 0 - 0
packages/filesystem/font-source-code-pro/src/SourceCodePro-ExtraLight.ttf → filesystem/packages/font-source-code-pro/src/SourceCodePro-ExtraLight.ttf


+ 0 - 0
packages/filesystem/font-source-code-pro/src/SourceCodePro-ExtraLightIt.ttf → filesystem/packages/font-source-code-pro/src/SourceCodePro-ExtraLightIt.ttf


+ 0 - 0
packages/filesystem/font-source-code-pro/src/SourceCodePro-It.ttf → filesystem/packages/font-source-code-pro/src/SourceCodePro-It.ttf


+ 0 - 0
packages/filesystem/font-source-code-pro/src/SourceCodePro-Light.ttf → filesystem/packages/font-source-code-pro/src/SourceCodePro-Light.ttf


+ 0 - 0
packages/filesystem/font-source-code-pro/src/SourceCodePro-LightIt.ttf → filesystem/packages/font-source-code-pro/src/SourceCodePro-LightIt.ttf


+ 0 - 0
packages/filesystem/font-source-code-pro/src/SourceCodePro-Medium.ttf → filesystem/packages/font-source-code-pro/src/SourceCodePro-Medium.ttf


+ 0 - 0
packages/filesystem/font-source-code-pro/src/SourceCodePro-MediumIt.ttf → filesystem/packages/font-source-code-pro/src/SourceCodePro-MediumIt.ttf


+ 0 - 0
packages/filesystem/font-source-code-pro/src/SourceCodePro-Regular.ttf → filesystem/packages/font-source-code-pro/src/SourceCodePro-Regular.ttf


+ 0 - 0
packages/filesystem/font-source-code-pro/src/SourceCodePro-Semibold.ttf → filesystem/packages/font-source-code-pro/src/SourceCodePro-Semibold.ttf


+ 0 - 0
packages/filesystem/font-source-code-pro/src/SourceCodePro-SemiboldIt.ttf → filesystem/packages/font-source-code-pro/src/SourceCodePro-SemiboldIt.ttf


+ 0 - 0
packages/filesystem/font-source-code-pro/src/debian/changelog → filesystem/packages/font-source-code-pro/src/debian/changelog


+ 0 - 0
packages/filesystem/font-source-code-pro/src/debian/compat → filesystem/packages/font-source-code-pro/src/debian/compat


+ 0 - 0
packages/filesystem/font-source-code-pro/src/debian/control → filesystem/packages/font-source-code-pro/src/debian/control


+ 0 - 0
packages/filesystem/font-source-code-pro/src/debian/rules → filesystem/packages/font-source-code-pro/src/debian/rules


+ 0 - 0
packages/filesystem/makefile → filesystem/packages/makefile


+ 0 - 0
packages/filesystem/mosys/.gitignore → filesystem/packages/mosys/.gitignore


+ 0 - 0
packages/filesystem/mosys/makefile → filesystem/packages/mosys/makefile


+ 0 - 0
packages/filesystem/mosys/mosys_69.10895.orig.tar.gz → filesystem/packages/mosys/mosys_69.10895.orig.tar.gz


+ 0 - 0
packages/filesystem/mosys/src/debian/changelog → filesystem/packages/mosys/src/debian/changelog


+ 0 - 0
packages/filesystem/mosys/src/debian/compat → filesystem/packages/mosys/src/debian/compat


+ 0 - 0
packages/filesystem/mosys/src/debian/control → filesystem/packages/mosys/src/debian/control


+ 0 - 0
packages/filesystem/mosys/src/debian/copyright → filesystem/packages/mosys/src/debian/copyright


+ 0 - 0
packages/filesystem/mosys/src/debian/rules → filesystem/packages/mosys/src/debian/rules


+ 0 - 0
packages/filesystem/xsecurelock/.gitignore → filesystem/packages/xsecurelock/.gitignore


+ 0 - 0
packages/filesystem/xsecurelock/makefile → filesystem/packages/xsecurelock/makefile


+ 0 - 0
packages/filesystem/xsecurelock/src/debian/changelog → filesystem/packages/xsecurelock/src/debian/changelog


+ 0 - 0
packages/filesystem/xsecurelock/src/debian/compat → filesystem/packages/xsecurelock/src/debian/compat


+ 0 - 0
packages/filesystem/xsecurelock/src/debian/control → filesystem/packages/xsecurelock/src/debian/control


+ 0 - 0
packages/filesystem/xsecurelock/src/debian/copyright → filesystem/packages/xsecurelock/src/debian/copyright


+ 0 - 0
packages/filesystem/xsecurelock/src/debian/docs → filesystem/packages/xsecurelock/src/debian/docs


+ 0 - 0
packages/filesystem/xsecurelock/src/debian/rules → filesystem/packages/xsecurelock/src/debian/rules


+ 0 - 0
packages/filesystem/xsecurelock/src/debian/source/format → filesystem/packages/xsecurelock/src/debian/source/format


+ 0 - 0
packages/filesystem/xsecurelock/src/debian/watch → filesystem/packages/xsecurelock/src/debian/watch


+ 0 - 0
packages/filesystem/xsecurelock/xsecurelock_1.5.1.orig.tar.gz → filesystem/packages/xsecurelock/xsecurelock_1.5.1.orig.tar.gz


+ 20 - 0
initramfs/makefile

@@ -0,0 +1,20 @@
+ifndef INITRAMFS_MK
+INITRAMFS_MK := 1
+ifndef PRAWNOS_ROOT
+PRAWNOS_ROOT := $(shell git rev-parse --show-toplevel)
+endif
+include $(PRAWNOS_ROOT)/scripts/BuildScripts/BuildCommon.mk
+
+INITRAMFS_RESOURCES := $(PRAWNOS_PACKAGE_INITRAMFS)/resources
+
+.PHONY: initramfs initramfs_clean
+
+initramfs: $(PRAWNOS_INITRAMFS)
+
+initramfs_clean:
+	rm -f $(PRAWNOS_INITRAMFS)
+
+$(PRAWNOS_INITRAMFS):
+	$(PRAWNOS_INITRAMFS_SCRIPTS_BUILD) $(PRAWNOS_IMAGE_BASE) $(INITRAMFS_RESOURCES) $(PRAWNOS_BUILD)
+
+endif

+ 0 - 0
resources/BuildResources/initramfs-init → initramfs/resources/initramfs-init


+ 90 - 0
kernel/makefile

@@ -0,0 +1,90 @@
+ifndef KERNEL_MK
+KERNEL_MK := 1
+ifndef PRAWNOS_ROOT
+PRAWNOS_ROOT := $(shell git rev-parse --show-toplevel)
+endif
+include $(PRAWNOS_ROOT)/scripts/BuildScripts/BuildCommon.mk
+
+KERNEL_PATCHED := $(PRAWNOS_KERNEL_BUILD)/.kernel_patched
+KERNEL_EXTRACTED := $(PRAWNOS_KERNEL_BUILD)/.kernel_extracted
+ATH9K_EXTRACTED := $(PRAWNOS_ATH9K_BUILD)/.ath9k_extracted
+
+KERNEL_RESOURCES := $(PRAWNOS_KERNEL)/resources
+KERNEL_SOURCES := $(PRAWNOS_KERNEL)/sources
+KERNEL_PATCHES := $(PRAWNOS_KERNEL)/patches
+
+KERNEL_TAR := $(KERNEL_SOURCES)/linux-libre-$(KVER)-gnu.tar.lz
+KERNEL_TAR_SIGNATURE := $(KERNEL_TAR).sign
+
+KERNEL_BUILT := $(PRAWNOS_KERNEL_BUILD)/vmlinux.kpart
+
+ATH9K_TAR := $(KERNEL_SOURCES)/open-ath9k-htc-firmware.tar.gz
+ATH9K := open-ath9k-htc-firmware
+
+### PHONY TARGETS
+.PHONY: kernel
+kernel: $(KERNEL_BUILT)
+
+.PHONY: ath9k
+ath9k: extract_ath9k
+	$(PRAWNOS_KERNEL_SCRIPTS_BUILD_ATH9K) $(PRAWNOS_ATH9K_BUILD)
+
+.PHONY: patch_kernel
+patch_kernel: $(KERNEL_PATCHED)
+
+.PHONY: extract_kernel
+extract_kernel: $(KERNEL_EXTRACTED)
+
+.PHONY: extract_ath9k
+extract_ath9k: $(ATH9K_EXTRACTED)
+
+.PHONY: package_kernel
+packages: kernel
+	@echo TODO
+
+### CLEAN TARGETS
+
+.PHONY: clean_kernel
+clean_kernel:
+	rm -rf $(PRAWNOS_KERNEL_BUILD)
+
+.PHONY: clean_ath9k
+clean_ath9k:
+	rm -rf $(PRAWNOS_ATH9K_BUILD)
+
+### DEVELOPER TARGETS
+
+.PHONY: update_ath9k_tar
+update_ath9k_tar:
+	mkdir -p tmp/$(ATH9K)
+	git clone --depth 1 https://github.com/qca/open-ath9k-htc-firmware.git tmp/$(ATH9K)
+	cd tmp && tar czvf $(ATH9K_SOURCE) $(ATH9K)
+	rm -rf tmp/
+
+.PHONY: update_kernel_tar
+update_kernel_tar:
+	wget https://www.linux-libre.fsfla.org/pub/linux-libre/releases/$(KVER)-gnu/linux-libre-$(KVER)-gnu.tar.lz -O $(KERNEL_TAR)
+	wget https://www.linux-libre.fsfla.org/pub/linux-libre/releases/$KVER-gnu/linux-libre-$(KVER)-gnu.tar.lz.sign -O $(KERNEL_TAR_SIGNATURE)
+
+### REAL TARGETS
+
+$(KERNEL_EXTRACTED): $(PRAWNOS_BUILD)
+	gpg --import $(KERNEL_RESOURCES)/linux-libre-signing-key.gpg
+	gpg --verify $(KERNEL_TAR_SIGNATURE) $(KERNEL_TAR)
+	tar --lzip -xvf $(KERNEL_TAR) -C $(PRAWNOS_BUILD)
+	touch $(KERNEL_EXTRACTED)
+
+$(ATH9K_EXTRACTED): $(PRAWNOS_BUILD)
+	tar -xvf $(ATH9K_TAR) -C $(PRAWNOS_BUILD)
+	touch $(ATH9K_EXTRACTED)
+
+$(KERNEL_PATCHED): $(KERNEL_EXTRACTED)
+	@echo $(PRAWNOS_KERNEL_BUILD)
+	$(PRAWNOS_KERNEL_SCRIPTS_PATCH) $(KVER) $(KERNEL_PATCHES) $(PRAWNOS_KERNEL_BUILD)
+	touch $(KERNEL_PATCHED)
+
+$(KERNEL_BUILT): $(KERNEL_EXTRACTED) $(KERNEL_PATCHED) ath9k
+	make -C $(PRAWNOS_INITRAMFS)
+	$(PRAWNOS_KERNEL_SCRIPTS_BUILD) $(KVER) $(KERNEL_RESOURCES) $(PRAWNOS_KERNEL_BUILD) $(PRAWNOS_INITRAMFS_IMAGE)
+
+endif

+ 0 - 0
resources/BuildResources/patches-tested/DTS/0007-RK3288-DTSI-rk3288-Add-missing-SPI2-pinctrl.patch → kernel/patches/DTS/0007-RK3288-DTSI-rk3288-Add-missing-SPI2-pinctrl.patch


+ 0 - 0
resources/BuildResources/patches-tested/kernel/0001-Fix-ath9k-dwc2-init-frame-overruns.patch → kernel/patches/kernel/0001-Fix-ath9k-dwc2-init-frame-overruns.patch


+ 0 - 0
resources/BuildResources/patches-tested/kernel/0001-block-partitions-efi-Add-support-for-IGNOREME-GPT-si.patch → kernel/patches/kernel/0001-block-partitions-efi-Add-support-for-IGNOREME-GPT-si.patch


+ 0 - 0
resources/BuildResources/patches-tested/kernel/0002-Do-not-force-GUID-partition-with-gpt-command-line-op.patch → kernel/patches/kernel/0002-Do-not-force-GUID-partition-with-gpt-command-line-op.patch


+ 0 - 0
resources/BuildResources/patches-tested/kernel/0100-arm-errata-workaround-errata-A12-857271-and-A17-857272.patch → kernel/patches/kernel/0100-arm-errata-workaround-errata-A12-857271-and-A17-857272.patch


+ 0 - 0
resources/BuildResources/patches-tested/kernel/5.x-dwc2/0008-usb-dwc2-Add-dwc2_gadget_dec_frame_num_by_one-functi.patch → kernel/patches/kernel/5.x-dwc2/0008-usb-dwc2-Add-dwc2_gadget_dec_frame_num_by_one-functi.patch


+ 0 - 0
resources/BuildResources/patches-tested/kernel/5.x-dwc2/0014-usb-dwc2-gadget-Add-handler-for-WkupAlert-interrupt.patch → kernel/patches/kernel/5.x-dwc2/0014-usb-dwc2-gadget-Add-handler-for-WkupAlert-interrupt.patch


+ 0 - 0
resources/BuildResources/patches-tested/kernel/Added-a-second-reset-when-having-an-issue-reading-th.patch → kernel/patches/kernel/Added-a-second-reset-when-having-an-issue-reading-th.patch


+ 0 - 0
resources/BuildResources/patches-tested/kernel/Don-t-try-to-flush-cache-on-reset.patch → kernel/patches/kernel/Don-t-try-to-flush-cache-on-reset.patch


+ 0 - 0
resources/BuildResources/patches-tested/kernel/silence_vop_spam.patch → kernel/patches/kernel/silence_vop_spam.patch


+ 0 - 0
resources/BuildResources/cmdline → kernel/resources/cmdline


+ 0 - 0
resources/BuildResources/config → kernel/resources/config


+ 0 - 0
resources/BuildResources/kernel.its → kernel/resources/kernel.its


BIN
kernel/sources/open-ath9k-htc-firmware.tar.gz


+ 25 - 78
makefile

@@ -13,23 +13,15 @@
 # You should have received a copy of the GNU General Public License
 # along with PrawnOS.  If not, see <https://www.gnu.org/licenses/>.
 
-KVER=5.4.29
-ifeq ($(DEBIAN_SUITE),)
-DEBIAN_SUITE=buster
-endif
-ifeq ($(PRAWNOS_SUITE),)
-PRAWNOS_SUITE=Shiba
-endif
-OUTNAME=PrawnOS-$(PRAWNOS_SUITE)-c201.img
-BASE=$(OUTNAME)-BASE
-
+.DEFAULT_GOAL := image
 PRAWNOS_ROOT := $(shell git rev-parse --show-toplevel)
 include $(PRAWNOS_ROOT)/scripts/BuildScripts/BuildCommon.mk
-
+include $(PRAWNOS_ROOT)/initramfs/makefile
+include $(PRAWNOS_ROOT)/kernel/makefile
 
 #Usage:
 #run make image
-#this will generate two images named OUTNAME and OUTNAME-BASE
+#this will generate two images named PRAWNOS_IMAGE and PRAWNOS_IMAGE-BASE
 #-BASE is only the filesystem with no kernel.
 
 
@@ -41,79 +33,34 @@ include $(PRAWNOS_ROOT)/scripts/BuildScripts/BuildCommon.mk
 .PHONY: clean
 clean:
 	@echo "Enter one of:"
-	@echo "	clean_kernel - which deletes the untar'd kernel folder from build"
-	@echo "	clean_ath - which deletes the untar'd ath9k driver folder from build"
-	@echo "	clean_img - which deletes the built PrawnOS image, this is ran when make image is ran"
-	@echo " clean_basefs - which deletes the built PrawnOS base image"
-	@echo " clean_initramfs - which deletes the built PrawnOS initramfs image that gets injected into the kernel"
-	@echo "	clean_all - which does all of the above"
-	@echo "	in most cases none of these need to be used manually as most cleanup steps are handled automatically"
-
-.PHONY: clean_kernel
-clean_kernel:
-	rm -rf build/linux-$(KVER)
-
-.PHONY: clean_ath
-clean_ath:
-	rm -rf build/open-ath9k-htc-firmware
-
-.PHONY: clean_img
+#TODO
+
+.PHONY: clean_image
 clean_img:
-	rm -f $(OUTNAME)
+	rm -f $(PRAWNOS_IMAGE)
 
 .PHONY: clean_basefs
 clean_basefs:
-	rm -r $(BASE)
-
-.PHONY: clean_initramfs
-clean_initramfs:
-	rm -r build/PrawnOS-initramfs.cpio.gz
-
-.PHONY: clean_packages
-clean_packages:
-	cd packages && $(MAKE) clean
+	rm -f $(PRAWNOS_IMAGE_BASE)
 
 .PHONY: clean_pbuilder
 clean_pbuilder:
 	rm -r build/prawnos-pbuilder-armhf-base.tgz
 
 .PHONY: clean_all
-clean_all:
-	$(MAKE) clean_kernel
-	$(MAKE) clean_ath
-	$(MAKE) clean_img
-	$(MAKE) clean_basefs
-	$(MAKE) clean_initramfs
-	$(MAKE) clean_pbuilder
-	$(MAKE) clean_packages
+clean_all: clean_kernel clean_initramfs clean_ath9k clean_image clean_basefs clean_pbuilder
 
 #:::::::::::::::::::::::::::::: premake prep ::::::::::::::::::::::::::::::
 .PHONY: build_dirs
-build_dirs:
-	mkdir -p build/logs/
-	mkdir -p build/apt-cache/
+build_dirs: $(PRAWNOS_BUILD)
 
-#:::::::::::::::::::::::::::::: kernel ::::::::::::::::::::::::::::::::::::
-.PHONY: kernel
-kernel:
-	$(MAKE) build_dirs
-	rm -rf build/logs/kernel-log.txt
-	$(PRAWNOS_KERNEL_SCRIPTS_BUILD) $(KVER) 2>&1 | tee build/logs/kernel-log.txt
 
-.PHONY: kernel_config
-kernel_config:
-	$(PRAWNOS_KERNEL_SCRIPTS_MENUCONFIG) $(KVER)
+#:::::::::::::::::::::::::::::: kernel ::::::::::::::::::::::::::::::::::::
+#included from kernel/makefile
 
-.PHONY: patch_kernel
-patch_kernel:
-	$(PRAWNOS_KERNEL_SCRIPTS_PATCH)
 
 #:::::::::::::::::::::::::::::: initramfs :::::::::::::::::::::::::::::::::
-.PHONY: initramfs
-initramfs:
-	$(MAKE) build_dirs
-	rm -rf build/logs/initramfs-log.txt
-	$(PRAWNOS_INITRAMFS_SCRIPTS_BUILD) $(BASE) 2>&1 | tee build/logs/initramfs-log.txt
+#included from initramfs/makefile
 
 #:::::::::::::::::::::::::::::: filesystem ::::::::::::::::::::::::::::::::
 #makes the base filesystem image without kernel. Only make a new one if the base image isnt present
@@ -122,33 +69,33 @@ filesystem:
 	$(MAKE) build_dirs
 	rm -rf build/logs/fs-log.txt
 	$(MAKE) pbuilder_create
-	$(MAKE) packages
-	[ -f $(BASE) ] || $(PRAWNOS_FILESYSTEM_SCRIPTS_BUILD) $(KVER) $(DEBIAN_SUITE) $(BASE) $(PRAWNOS_ROOT) $(PRAWNOS_SHARED_SCRIPTS) 2>&1 | tee build/logs/fs-log.txt
+	$(MAKE) filesystem_packages
+	[ -f $(PRAWNOS_IMAGE_BASE) ] || $(PRAWNOS_FILESYSTEM_SCRIPTS_BUILD) $(KVER) $(DEBIAN_SUITE) $(PRAWNOS_IMAGE_BASE) $(PRAWNOS_ROOT) $(PRAWNOS_SHARED_SCRIPTS) 2>&1 | tee build/logs/fs-log.txt
 
 #:::::::::::::::::::::::::::::: packages ::::::::::::::::::::::::::::::::
-.PHONY: packages
-packages:
-	cd packages && $(MAKE)
+.PHONY: filesystem_packages
+filesystem_packages:
+	$(MAKE) filesystem_packages -C packages
 
-.PHONY: packages_install
-packages_install:
+.PHONY: filesystem_packages_install
+filesystem_packages_install:
 ifndef INSTALL_TARGET
 	$(error INSTALL_TARGET is not set)
 endif
-	cd packages && $(MAKE) install INSTALL_TARGET=$(INSTALL_TARGET)
+	$(MAKE) filesystem_packages_install INSTALL_TARGET=$(INSTALL_TARGET) -C filesystem
 
 #:::::::::::::::::::::::::::::: image management ::::::::::::::::::::::::::
 
 .PHONY: kernel_install
 kernel_inject: #Targets an already built .img and swaps the old kernel with the newly compiled kernel
-	$(PRAWNOS_IMAGE_SCRIPTS_INSTALL_KERNEL) $(KVER) $(OUTNAME)
+	$(PRAWNOS_IMAGE_SCRIPTS_INSTALL_KERNEL) $(KVER) $(PRAWNOS_IMAGE)
 
 .PHONY: kernel_update
 kernel_update:
 	$(MAKE) clean_img
 	$(MAKE) initramfs
 	$(MAKE) kernel
-	cp $(BASE) $(OUTNAME)
+	cp $(PRAWNOS_IMAGE_BASE) $(PRAWNOS_IMAGE)
 	$(MAKE) kernel_install
 
 .PHONY: image
@@ -157,7 +104,7 @@ image:
 	$(MAKE) filesystem
 	$(MAKE) initramfs
 	$(MAKE) kernel
-	cp $(BASE) $(OUTNAME)
+	cp $(PRAWNOS_IMAGE_BASE) $(PRAWNOS_IMAGE)
 	$(MAKE) kernel_install
 
 #:::::::::::::::::::::::::::::: pbuilder management :::::::::::::::::::::::

+ 0 - 13
packages/initramfs/makefile

@@ -1,13 +0,0 @@
-PRAWNOS_ROOT := $(shell git rev-parse --show-toplevel)
-include $(PRAWNOS_ROOT)/scripts/BuildScripts/BuildCommon.mk
-
-all:
-	@echo TODO
-
-
-clean:
-	@echo TODO
-
-
-install:
-	@echo TODO

+ 0 - 13
packages/kernel/makefile

@@ -1,13 +0,0 @@
-PRAWNOS_ROOT := $(shell git rev-parse --show-toplevel)
-include $(PRAWNOS_ROOT)/scripts/common.mk
-
-all:
-	@echo TODO
-
-
-clean:
-	@echo TODO
-
-
-install:
-	@echo TODO

+ 0 - 22
packages/makefile

@@ -1,22 +0,0 @@
-PRAWNOS_ROOT := $(shell git rev-parse --show-toplevel)
-include $(PRAWNOS_ROOT)/scripts/BuildScripts/BuildCommon.mk
-
-SUBDIRS = $(shell ls -d */)
-
-all:
-	for dir in $(SUBDIRS) ; do \
-		make -C  $$dir ; \
-	done
-
-
-clean:
-	for dir in $(SUBDIRS) ; do \
-		make clean -C  $$dir ; \
-	done
-
-
-install:
-	$(info packages install target is $(INSTALL_TARGET))
-	for dir in $(SUBDIRS) ; do \
-		make install INSTALL_TARGET=$(INSTALL_TARGET) -C  $$dir  ; \
-	done

+ 0 - 56
packages/packaging-readme.md

@@ -1,56 +0,0 @@
-## PrawnOS Packaging
-
-All programs, themes, etc that are not part of upstream debian are built as packages
-this allows PrawnOS the following benefits:
-- the PrawnOS apt repo is not a build dependency
-- test builds don't require any special steps-- just make the change locally and rebuild the filesystem
-- a user doesn't have to trust the PrawnOS apt repo to build their own image
-- the PrawnOS apt repo requires less bandwidth, as only package updates will be gotten from it
-
-Note that some packages that are available upstream, but only in unstable or testing repos or have
-fixes only in the unstable or testing repos are packaged as part of PrawnOS
-
-### Updating Packages
-By using packages for all parts of PrawnOS, updates are more straightforward. 
-When an existing PrawnOS install has out of date packages, the user can then either
-build the new version themselves or get the update from the repo using the standard "apt upgrade"
-
-### Package folder structure
-Packages are stored under component of the final PrawnOS image they belong to
-Inside the package folder there are the following items:
-- `makefile`
-- source folder called `src`
-- a `.orig.tar.gz*` containing the package source.
-- a `.gitignore` to avoid commiting build artifacts, or unnecessary source files
-
-The contents of the `src` are the following:
-- a `debian` folder
-- the source files if the package is not packages upstream (by debian)
-- the patched source files if there are any PrawnOS specific patches. This is to keep the changes tracked by git. 
-
-If the source is from an upstream package, and no PrawnOS specific patches are carried then only the `debian` folder is in the `src` folder
-
-### Building packages
-Most packages are built in a host architecture agnostic fashion using pbuilder.
-The only notable exceptions to this are font packages, which are not architecture dependent and
-the kernel package, which handles cross compilation manually without a chroot. 
-
-To build any package, navigate to that packages folder and run
-```
-make clean
-make
-```
-the resulting .deb will be in that same folder when the build is complete
-
-All packages can be built by running
-```
-make
-```
-from the packages directory
-
-### Uploading packages
-New packages, and package updates can upload to `deb.prawnos.com` by maintainers
-first by building and then running
-```
-make upload
-```

+ 0 - 142
resources/BuildResources/linux-libre-signing-key.gpg

@@ -1,142 +0,0 @@
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG v1.4.9 (GNU/Linux)
-
-mQGiBEh9qqURBACKo3J5VyGBgApcm4QddrLyoS3Sxt+aUX1CQ5t8X8Ue2tXypHOR
-jzXRyKiBeAc/yIuLStyE05P0DVQTe6fXZyDIGZbw8Gc6kdzT+wtWmQHQbPLcXV3s
-T/7ZDbRg2ShmSleJUNgWABLIKNk8iKGfgMKrzHiUeeLKzr6elf+hYYNMfwCgrQal
-gQ/DPIlVjjmJvdnZOYN8ZC0D/3JEoAOFRFtmkufS5q17JMjL0XjDL7HANJc1/hQo
-Ap6OckhX6T7o2Pn1QJIJoQAR3fjIqYX/QQn6y+S2PrRtrX0fRqHNGHY/QyjWgdfq
-I7lw6H7a7a77O2sD0MfkLWqAU6PQp8xYEQFDwdDXgggmFUEhikWWbNJU/pNialhY
-hNypA/wPCAkz47/36RYPL79nZY/p6iCW+tfUtrM5RmkTZ5lqVKxaWv96WppHwoyp
-MWk66gkm/EK58zKZASpvh1a5nQ2niWHcazn2TfRfgBgBfFiyaHNgzb6eDwWcIMHF
-VglngbUL5hwmBkWVkg2GxSkMk26OCFhrxF59Ibmkf2YxQBXem7Q9bGludXgtbGli
-cmUgKEFsZXhhbmRyZSBPbGl2YSkgPGxpbnV4LWxpYnJlK2x4b2xpdmFAZnNmbGEu
-b3JnPohgBBMRAgAgBQJIfaqlAhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQ
-vLfPh359R6cNtACdF9Ff6ykp7UQxKkbIiCPkfaVd7+YAoIPqTHUhRFK9i82ROj68
-LH1xnzZxiEYEEBECAAYFAkh9rNYACgkQUjSEXfK5IPXoKgCcD5YlHa+OfVKbKRLf
-xaNHec7H5UAAoL2T964cyDQz8yyyqguEl1hjBCRviF4EEBEIAAYFAkwJhYAACgkQ
-Ir13u1gr1/CkrwD/SI3ilyOPdcy3kzEbv/D4J8Rj9lltWyD8WDqC7ZMFCokBAM3s
-//ZcZ/FttS/AYdL/xLgBKFBAkDY/U/yrIzt2SgGj0dTa1NgBEAABAQAAAAAAAAAA
-AAAAAP/Y/+AAEEpGSUYAAQECACMAIwAA/9sAQwAoHB4jHhkoIyEjLSsoMDxkQTw3
-Nzx7WF1JZJGAmZaPgIyKoLTmw6Cq2q2KjMj/y9ru9f///5vB////+v/m/f/4/9sA
-QwErLS08NTx2QUF2+KWMpfj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4
-+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4/8AAEQgBGAEEAwEiAAIRAQMRAf/EABoAAQEBAQEB
-AQAAAAAAAAAAAAAFBAMCBgH/xABCEAABAwIDBAcGBAIIBwAAAAABAAIDBBEFEiET
-MUFRImFxkaGxwRQjMkKB0RVS4fAkNFNkc4KSoqPxBjM1RVRysv/EABgBAQEBAQEA
-AAAAAAAAAAAAAAACAwEE/8QAIREBAQACAgMAAgMAAAAAAAAAAAECESExAxJBIlET
-QnH/2gAMAwEAAhEDEQA/ALKIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICI
-iAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiI
-gIiICIiAiIgIiICIiAiIgIiICIiAiIgIuVTUxUsZfK8DTQcT2BQ5q2rxF5jhBZHb
-VrT5lBanraanNpZmtN7W3kfQLl+LUX9P/kd9lNiwgWvNIb8m/daBhlKB8Lj/AHlX
-rXPaNkeJUcjrNnaDa/Su3zWppDmhzSCCLgjiosmEwuHQe5p69Qs2Stw5wexxMYNz
-YktPaFyyw3H0aLBh+JsrDs3gMlA3X0d2fZb1x0REQEREBERAREQEREBERAREQERc
-aqqhpGZpnWvuA1JQdl4lmjgYXyvDG8yVNkx2EN93DI433OsPuplbVvr5w7IWgCzW
-A3QUpMeiFtlC93PMQ37rx+P/ANW/1P0U5myYQyogc2/zAkHuK9lpo5GvFpYH8xoR
-91zbul2ir4q1pyXa8DVh9OYWpfNTxGnLKukcQw6gj5SrtBVe2UrZbAOvZwHApLss
-00IiLrguc8zKeF0sl8rRrZdFEx2cvljpmWIHSNjxO4fvmgyxsmxOqdJK7QbzwA5B
-WIomQsDI2hoC800Ip4GxjhvPMrzXSmGkke3faw+q0k0i3bo2WNzyxsjS4bwDqvai
-UlO9ldCMw1aJNOAIVLEJTFRvLd56PekvG3LOXZssb3FrJGucN4BXtRqGnfHiDGki
-4ZnNuRH6qykuyzSXX4cLGWAW4lg9FrwjENuzYzPvK34SfmH3WlSMRpzTTNqYdBmv
-u3OXMp9VK+hRT2YtAKRk0hOY6FrW8Ra9u9Zvx/8Aq3+p+ihSyi4UlXFWRl8ROhsW
-neF3QEREBERAREQEREBERAUCuca7FhAHdBpyC3Dn9d/cr6+fpv8Ar7v7R/qg3vw6
-GNofBE0vbwfqHd6/WOAia41McTXC9mtDfO62rG0bGpkZHAHF3TB0Fr9faEHKaKmq
-GFrnTTHgQCbd2inU4LXyUU9wHfDfgeCt/wAS7+iZ3u+yl4vE6KSKYyBz9261rbly
-zcdl08Yeb7WklGmunmv3DJTR4g6B56LzlPbwP75rxI7Z4jDM3QSBru/QpirTHUMl
-aSCRvHMKJfy/1VnD6NF+Me2RjXtN2uAIPUv1aIF87Sl1bibp3jcc1uXIeStYjII6
-CdxvYsLdOvT1UvBmWjkk5m3d/uuzty9KS4VkJqKZ0bTYnUXXWR7Y2F7zZoFyVLdV
-VVbIW092MHHd3lXlZJymS3p2w6ikp5HSSkXtYAG60VsBqaYsYRe9wsBw55LdtUdJ
-xsNCblG4fIG5oKjnzas/5Mel+lacPo5KdzpJSMxFgAb6LcpUVZUUsojqxdp+Y7/1
-VUEEXGoWmNlnCLLvkXiWNssTo3bnCy9rzK7JE935WkrqUKkpDUVuwJ0aTmI5BfRu
-o6d0WyMLMvIBTcAZcTSneSG38/RVKiYQQPldqGi9uayaoPTwjEubD1fE0+q+iaQ5
-oc0ggi4I4r5molq69u1czMxpNsrd3qt2HYsxscdPOC0t6Ifw+vLggsIiICIiAiIg
-IiICIiAoFV7jHQ7LlaXNO617gXPmr6j4/D0Ypxa98h1+o9UFVZqnSaJ20Md7tLhb
-t49i9UcwqKWOS9yRY9vFeazdF0M/vBpz0KDnendvllnPJpJHhosmJsaKO7KXZAOH
-SNgT3Le98rW3kkhgb3n0U7FHg07enM8l3xPFm/QaIMlVf2aldxykdxWvF7bKM8cy
-5SUsssVKGtu3LqeV1+4vIC6OMbxqVlObF/Kt0X8lB/Zt8l2XOnjMVPFG6xLGBpt1
-BdFqhLx6bJSsiF7yO17B+tl+4dHs6NgO93S71ixMiqxYRNt0bMuDfrPn4KsAAABu
-CrFOSXicjpZ46VnGxPat0MTYYgxg0Hip8PvMYlcflv8AZU15/Nlu6beOcBAJBIBI
-3dSABosAAOpEWLRkxOMPpHOO9pBBXXDnl9FGTvFx3FY8Sn2hFNF0nE9K3kqNPFsK
-dkf5Rr2r1+GWR5/LeXRcav8AlJrfkPkuy8vbnY5p4iy2ZOGAW9jk57T0C04o0uw6
-YDlfuKwf8PvsZ4z1FV5YxLC+M7ntLe9ZNUrCXXowOTiErqBs7S+MBso/zLPhr3U9
-RJSyaG+naqq0nMReKnYZiRhcKaqJDRo1x+XqPV5dm62o2JUe2ZtYx7xu8D5gumD1
-5laKaW2ZregeYHDtUWaVLtVREXHRERAREQEREBc6mBtTTvhdoHC1+R4FdEQfP4dU
-uoah9PUAsaTrf5St1bUwB0QdNZoJcch13abu1dq3DYay7vgl06YG/tCyR4DGHe8n
-c4W3Nbb7oMsmJsYT7LAGn879XLxDBPiHvJprtBt+xwVp9BAKWSKGKNpcwtBIv3nf
-vUjCJLOkiPEZgpztk3Hceby21UppqUuYLltgOpZcIpXVVQaqbVrHXBvvct08e1he
-z8wspeH4h7CyRpY5+Yizc1gN9/RR4ulZvpFlrMQgpGkOcHSAaMG/68lINfiFZ0Yr
-tG47MW8f1WappHUzGmRwzu3NHALXSGrC2OmqZKh+pF9eZKrLPQw7ClY0jpHU9q0L
-STUZ28pMPu8Zkafmv91TWSsoHTS7aGTJJ1/dcPZMQOhnt/fKwz8Vyu42xzkihJLH
-ELyPDR1lT5698x2VKxxJ+bivUeE5jmnlLjxy/crfDBHA3LG0NHiV3Hw67cy8n6Zq
-GhFP7yTpSnwW1EW8mmQiIjiZQn2fGnxnc+49Qrqg4q0xTxVLNCD4jcqGIOM+Eukj
-JF2h/wBFne2k6Zcbpyx7KuPQggOI8CtNNM2ogbI3jvHIr9w5zavCwyTpaFjv32WU
-2mc6grnU0p6DjofIruN0WKykYlSmGQVEV2gm5twPNV15exsjCxwu0ixCuzaJdPdB
-WNrKcP0Eg0e0cCtK+cgkfhmIZXOOyJs7rbz+i+jWTQREQEREBERAREQEReZZBFE+
-R1yGNLjbqQYcSxNtJ7uMB83EHc0dajQySRVrJpQQXm5JFrg7yu2HQ+1VT5pelY5j
-1kr1iz9pUMiawl7Rv53XbNxzfKopOzZFi2V7QWOduI5/qv32ysgsZoiW9bbeKYi5
-sscNTGers/eqxwlwy5a5WZThYAAFgLBSB/HYpffGzyH6rRUYhF7J0HgyOboBwTCY
-clOZDvefAL03lh03oimVNe+WTYUgJcdMw49i7bpyTbdNURQD3jw3q4rI/F4R8DHu
-8F7psFvZ9W8ucdS0HzKoR0VNF8EDB1kXKj2qvVI/GBwg/wA/6L23F4j8Ubx2aq1k
-YBYNb3LlJR00gIfBGb8cuq57V31jNDUwz/8ALkBPLiuqxVOCttnpXlrhqGuPkVxp
-66SGXYVgII0zHeO1VMk3FTRN6KkpeMEl8LOGpVsRN2OytdmXLbqUfF4S6JkrfkNj
-2FU6GpFVSsk+bc4cis8u2mPSXRPOG4g+mlPu3nQnwK2YvR+0QbVg95GO8cl0xGlp
-6iNrp5NnlOj7gfRa2gBoANwBouOpWG1W3hyOPvGb+sc1sUvEIHYfWNqYR7tx3cAe
-IVGKRs0bZGG7XBaY3aLNMeLQtdTiXc5h7wVrwed01A0O3xnJfmBu81PxiYZWQg63
-zO9FWoItjQwssQctyDvBOp81OXasemhERS6IiICIiAiIgLxNHtYJI72ztLb8rhe0
-QfOYfOKSeSGbo3NieRCrh8ZGYOaRzuvyuwyKsdnuY5LWzAXv2hYvwA5h/Ei1tTk/
-VVMtJs26VtTT+zSMc9riW2ABvqsdNE6TC5QRxzN+i4x07WYiaeYEgOLddL8j9Vaa
-1rWhrQA0aWCx8ubTDF821pc4NG8mwX00bBHG1g3NFlGo4R+J5BqGOJ7lYmkEUTpH
-bmi63x62zy/TBidS4uFLDcud8VvJUcPoW0cWtjK74negWDBYDNPJVyC5Bs3t4q0p
-t27JoREXHRERAWWvoWVkWukg+F3otSIIWHVDo5DST3Dmmzb8OpU1hxumLSyrj0cC
-A4jwK000wngbIOI1HIq8ajKOjmh7S1wuCLEKbhjzSYk+mcei/QdvAqmpWJe6roJh
-1HuKZGKjjMRloDlaXFrg6w/fWu1Bm9hhDwQ4NAsVoXGnq4alz2xOuWHXRQt6qIGV
-EDon7nDu6189T1UlA6WF7c1iQByK+lXz+NRCKubLlBa8AkHcSP2EHrC6J1XMamob
-mjvcX+Y/ZXl5iLHRMMdshaC2wtpwXpAREQEREBERAREQEREBERBBxthhro52i2YA
-3vvI/Sy3teHRh43EXX5jcQfQl+gMbgRpz0t4+CxUtQ38NcHOAcwEWJ7ll5JteFec
-IGeaaU77ef8AsuuLyZadsY+c+A/YX5gzfcyO5ut4LniQ2tfBDwNh3lejrFl9V6CH
-YUUTOOW57TqtCIoUIiICIiAiIg51EQngfEdzmkKNhDy10sDtCDe3gVdUJw9nx1w4
-PPmL+a7O3L0pqVjOr4RxsfRVVKxXSqgLvht6q8ukY9r6iYIclZPE74reRVtQq9r6
-DE21TBdrzf7hZtF1S8ejzUrH8Wvt9CqMUrJomyRm7XC4WDHX5aJrfzPHqg0YZIZM
-OhcbXDcunUbei1LHhILcNhBBBsTr2lbEBERAREQEREBERAREQEREHmWMSxPjdcB7
-S0261CrMI9lpnzbfNltpktfW3NX1nxGMSUE7TewYXadWvogm4P8Ayr//AHPkF4f0
-8djHIjyuvWDH3EjeTr+C8/8Af2do/wDlVekztdREUqEREBERAREQFDxXoYtA/mGn
-xVxRMa/nqfsHmgorFilOZqfO34o9fpxW1FreWceMKrBU0wa4+9Zo7r61pqKeOphM
-cguDx5HmodVBJQTipptG31HLq7FZpKplVTiVun5hyKys00nL55s8+H1MkcUtw1xB
-HA/Re63EXVsLGPjDXNN7g6Fd8KtPi0kpJ0zPH1NvVWZKWnldmkhjc4kEktF9OtBz
-w2Ta4fA61rNy92notKNAa0NaAABYAcEQEREBERAREQEREBERAREQF4mj2sEkd7Z2
-lt+VwvaIPn8Ff05WcwCvU/QxuF3Mt+y8QN9lxh8VsrS4tAvfQ6j0XrFrx1EEo4eh
-Vf1T9X0QEEAjcUUqEREBERAREQFDxXp4tAzqaPFXFCedvjzuTD5D7pCqaIi1ZMmK
-Oy0Th+YgKRDPLTteGXDZW214jn5rbjMtzHEDu6R9FTZhlOaeGOaIOdG21wTv4+N1
-GXbTHpxwSmMNKZXXBlNwOobvXwVJGgNaGtAAAsAOCKXRERAREQEREBERAREQEREB
-ERARFjq8Tp6a7c20kHyt4dp4IJuNRGCuZUNPx69hFv0XrEi2ooI5mbgQexZ5qirx
-NxaG+7zXDbCzfqvLHPptrSz6NeNOQPApLOnLPq9h8m1oIXcctj9NFoUnAJrxSQk6
-tOYdhVZHRERAREQEREHmWQRRPkduaCVDwlpfLLO7UnS/WdStWOVOSBsDT0pNT2L3
-Rw7CmYw/Fvd2qsZynLp3XOeZsETpH7h4r9mmZBGXyOsPNQqyqfVPzEERg2aFVuky
-ba8MhfWV5qZAcjDmvwvwH75K+peG19G2FsIGwI/MdCed/wDZVFm0EREBERAREQER
-EBERAREQEREBERBLxqrmp2xsiJYHg3d6Dv8AJTKFlK515368GnQd6+mexsjS17Q5
-p3gi4Uyvwqn2Ms0d43NaXWHw6a7lyzcdnDpG+IjLE5hA4NI0XOqpWVLLHRw3OWHC
-IrvfKdwGUKqvPfxvDWczlFp5ZMNrMz2X0sRzCv01dT1IGzkGb8p0KzyxMmblkaHD
-rWKXCmHWKQt6jqtJ5J9RcL8XUXzb5a2gIb7QbHcL5vAro3GqtgGdjHAi4JaRday7
-Q+gRQxj0nGBp7HL9/Hnf+OP8X6ILa8TzMp4nSSGzW+KiHG6l5DY4mAnQaElZaySt
-laDVNkDQdMzMoug7059rq31dQQ1jTpc6dQXeoxWNnRhGd3PcFmpsOM0bXulGU7g3
-VUIKOGDVjLu/MdSpvlmPEdnjt7YY6SorHiSpcWt4A7/oOCpMiYyPZtaAzkva8yZt
-m7J8Vja/NYZZXK8tZjIxVOGRvBdD0HcuBXOhr5aKXYVWYx7tdSzs6lnZV1ssgiY8
-l5NgA0LRHhFXO7NUPDOBzHMf39VtjMp2zysvS+0hzQ5pBBFwRxReYoxFEyNtyGND
-RfqXpWkREQEREBERAREQEREBERAREQFyqwXUc7WgkmNwAHHRdUQfNQe3U7C2Onks
-TfWMrxNVVrXZZS+MnUAtyr6hQccOXEIiRcBgPiVz1nbu63xZtkzafHYX7Vmq65lO
-C1tnScuXasjqypq37KnYRf8ALqe/gtlDgwaRJVWc69wwG4+vP971lj4/tXc/0zUF
-DJXy+0VBOyv/AIuodS+gaA1oa0AACwA4Ii2ZiIiAuNXTNq6d0Tja+oNr2K7Ig+co
-53Uc7qecFovrf5T9lWXnEsO9sAexwbK0W13EKVBWS0bzBOwkNNrcQss8N8xeOWuK
-711dJBUBkeWwFzcb1+x4rER7xjmnq1C40QNbizZCDlac+nADd42ViTDaOR13QNBt
-bo3b5Ls8c1ye12kUL2yY217PhcXEf4SvoVkpsNp6WZ0sYJcd2Y3y9i1rSIEREBER
-AREQEREBERAREQEREBERAREQFzlginAEsbX2Nxcbl0RB5jjjibljY1gvezRZekRA
-REQEREBERAXOenhqW5Zow8cL7x9V0RByp6WGlaRDGGhxudb3XVEQEREBERAREQER
-EBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBER
-AREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQf/2YhgBBMR
-AgAgBQJMCX7tAhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQvLfPh359R6dA
-rgCgm6oaTjZw81cHYJCDbRqmgvPnVwUAmgORBOiTA8uJEZjLnW4nCuwr5hPiiEYE
-EBECAAYFAkwJf6IACgkQUjSEXfK5IPUN9ACeIxFILNIr1mgEVvssa9hPiS4rytMA
-oMCEApLI1XtbOqg/CkaB1lj/Fqq0iF4EEBEIAAYFAkwJhYAACgkQIr13u1gr1/DP
-NwD/fBDFJ9RDH/0OnfX7TQtMajowS07v8ZhMZGS8RiG0wxUBAMpk4sBenTzlKVG3
-7+1hts8o+2910W8DnrfsUKZTMKP6
-=JkKR
------END PGP PUBLIC KEY BLOCK-----

+ 51 - 6
scripts/BuildScripts/BuildCommon.mk

@@ -3,10 +3,38 @@ BUILD_COMMON_MK := 1
 
 #Place all shared make vars below
 #=========================================================================================
+### MISC GLOBALS
+KVER=5.4.29
+# Otherwise errors are ignored when output is piped to tee:
+SHELL := /bin/bash -o pipefail
+
+### PRAWNOS CORE DIRECTORIES
 PRAWNOS_BUILD := $(PRAWNOS_ROOT)/build
 
 PRAWNOS_SCRIPTS := $(PRAWNOS_ROOT)/scripts
 
+PRAWNOS_KERNEL := $(PRAWNOS_ROOT)/kernel
+
+PRAWNOS_INITRAMFS := $(PRAWNOS_ROOT)/initramfs
+
+PRAWNOS_FILESYSTEM := $(PRAWNOS_ROOT)/filesystem
+
+### BUILD DIRS
+
+PRAWNOS_BUILD_LOGS := $(PRAWNOS_BUILD)/logs
+PRAWNOS_BUILD_APT_CACHE := $(PRAWNOS_BUILD)/apt-cache
+
+### PRAWNOS IMAGES
+ifeq ($(DEBIAN_SUITE),)
+DEBIAN_SUITE := buster
+endif
+ifeq ($(PRAWNOS_SUITE),)
+PRAWNOS_SUITE := Shiba
+endif
+
+PRAWNOS_IMAGE := PrawnOS-$(PRAWNOS_SUITE)-c201.img
+PRAWNOS_IMAGE_BASE := $(OUTNAME)-BASE
+
 ### BUILD SCRIPTS
 PRAWNOS_BUILD_SCRIPTS := $(PRAWNOS_SCRIPTS)/BuildScripts
 
@@ -17,6 +45,7 @@ PRAWNOS_KERNEL_SCRIPTS := $(PRAWNOS_BUILD_SCRIPTS)/KernelScripts
 PRAWNOS_KERNEL_SCRIPTS_BUILD := $(PRAWNOS_KERNEL_SCRIPTS)/buildKernel.sh
 PRAWNOS_KERNEL_SCRIPTS_MENUCONFIG := $(PRAWNOS_KERNEL_SCRIPTS)/crossMenuConfig.sh
 PRAWNOS_KERNEL_SCRIPTS_PATCH := $(PRAWNOS_KERNEL_SCRIPTS)/patchKernel.sh
+PRAWNOS_KERNEL_SCRIPTS_BUILD_ATH9K := $(PRAWNOS_KERNEL_SCRIPTS)/buildAth9k.sh
 
 PRAWNOS_IMAGE_SCRIPTS := $(PRAWNOS_BUILD_SCRIPTS)/ImageScripts
 PRAWNOS_IMAGE_SCRIPTS_INSTALL_KERNEL := $(PRAWNOS_IMAGE_SCRIPTS)/installKernelToFs.sh
@@ -29,11 +58,9 @@ PRAWNOS_PACKAGE_SCRIPTS_INSTALL := $(PRAWNOS_PACKAGE_SCRIPTS)/installPackage.sh
 PRAWNOS_PACKAGE_SCRIPTS_PBUILD := $(PRAWNOS_PACKAGE_SCRIPTS)/pbuildPackage.sh
 PRAWNOS_PACKAGE_SCRIPTS_UPLOAD := $(PRAWNOS_PACKAGE_SCRIPTS)/uploadPackage.sh
 
-
 ### INSTALL SCRIPTS
 PRAWNOS_INSTALL_SCRIPTS := $(PRAWNOS_SCRIPTS)/InstallScripts
 
-
 ### SHARED SCRIPTS
 PRAWNOS_SHARED_SCRIPTS := $(PRAWNOS_SCRIPTS)/Shared
 
@@ -47,16 +74,34 @@ PBUILDER_HOOKS := $(PBUILDER_DIR)/hooks
 
 PBUILDER_VARS := $(PBUILDER_CHROOT) $(PBUILDER_RC) $(PBUILDER_HOOKS)
 
-
 ### LOCAL APT RESOURCES
 PRAWNOS_LOCAL_APT_REPO := $(PRAWNOS_BUILD)/prawnos-local-apt-repo
 PRAWNOS_LOCAL_APT_SOURCE := "deb [trusted=yes] file://$(PRAWNOS_LOCAL_APT_REPO) ./"
 
 PRAWNOS_LOCAL_APT_VARS := $(PRAWNOS_LOCAL_APT_REPO) $(PRAWNOS_LOCAL_APT_SOURCE)
 
-### MISC GLOBALS
-# Otherwise errors are ignored when output is piped to tee:
-SHELL := /bin/bash -o pipefail
+### KERNEL
+PRAWNOS_KERNEL_BUILD := $(PRAWNOS_BUILD)/linux-$(KVER)
+
+### INITRAMFS
+PRAWNOS_INITRAMFS_IMAGE := $(PRAWNOS_BUILD)/PrawnOS-initramfs.cpio.gz
+
+### ATH9K
+PRAWNOS_ATH9K_BUILD := $(PRAWNOS_BUILD)/open-ath9k-htc-firmware
 
 #=========================================================================================
+
+
+#Place all shared make rules below
+#=========================================================================================
+$(PRAWNOS_BUILD): $(PRAWNOS_BUILD_LOGS) $(PRAWNOS_BUILD_APT_CACHE)
+
+$(PRAWNOS_BUILD_LOGS):
+	mkdir -p $(PRAWNOS_BUILD_LOGS)
+
+$(PRAWNOS_BUILD_APT_CACHE):
+	mkdir -p $(PRAWNOS_BUILD_APT_CACHE)
+
+#=========================================================================================
+
 endif # BUILD_COMMON_MK

+ 20 - 9
scripts/BuildScripts/InitramfsScripts/buildInitramFs.sh

@@ -22,18 +22,29 @@ set -e
 # along with PrawnOS.  If not, see <https://www.gnu.org/licenses/>.
 
 
-outmnt=$(mktemp -d -p "$(pwd)")
-outdev=/dev/loop7
 if [ -z "$1" ]
 then
-    echo "No base file system image filename supplied"
+    echo "No base file system image supplied"
+    exit 1
+fi
+if [ -z "$2" ]
+then
+    echo "No initramfs resources dir supplied"
+    exit 1
+fi
+if [ -z "$3" ]
+then
+    echo "No output location supplied"
     exit 1
 fi
 BASE=$1
-ROOT_DIR="$(pwd)"
-build_resources=$ROOT_DIR/resources/BuildResources
+RESOURCES=$2
+OUT_DIR=$3
+
+outmnt=$(mktemp -d -p "$(pwd)")
+outdev=/dev/loop7
 
-if [ ! -f $ROOT_DIR/$BASE ]
+if [ ! -f $BASE ]
 then
     echo "No base filesystem, run 'make filesystem' first"
     exit 1
@@ -59,7 +70,7 @@ trap cleanup INT TERM EXIT
 
 [ ! -d build ] && mkdir build
 
-losetup -P $outdev $ROOT_DIR/$BASE
+losetup -P $outdev $$BASE
 #mount the root filesystem
 mount -o noatime ${outdev}p2 $outmnt
 
@@ -113,7 +124,7 @@ cp $outmnt/lib/arm-linux-gnueabihf/libpthread.so.0 $initramfs_src/lib/arm-linux-
 cp $outmnt/lib/arm-linux-gnueabihf/libpcre.so.3 $initramfs_src/lib/arm-linux-gnueabihf/libpcre.so.3
 cp $outmnt/lib/arm-linux-gnueabihf/libgcc_s.so.1 $initramfs_src/lib/arm-linux-gnueabihf/libgcc_s.so.1
 #add the init script
-cp $build_resources/initramfs-init $initramfs_src/init
+cp $RESOURCES/initramfs-init $initramfs_src/init
 chmod +x $initramfs_src/init
 cp $initramfs_src/init $initramfs_src/sbin/init
 
@@ -127,5 +138,5 @@ ln -s busybox bin/switch_root
 ln -s busybox bin/umount
 
 # store for kernel building
-find . -print0 | cpio --null --create --verbose --format=newc | gzip --best > $ROOT_DIR/build/PrawnOS-initramfs.cpio.gz
+find . -print0 | cpio --null --create --verbose --format=newc | gzip --best > $OUT_DIR/PrawnOS-initramfs.cpio.gz
 

+ 34 - 0
scripts/BuildScripts/KernelScripts/buildAth9k.sh

@@ -0,0 +1,34 @@
+#!/bin/bash
+
+set -x
+set -e
+
+# build AR9271 firmware
+
+# This file is part of PrawnOS (https://www.prawnos.com)
+# Copyright (c) 2020 Hal Emmerich <hal@halemmerich.com>
+
+# PrawnOS is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License version 2
+# as published by the Free Software Foundation.
+
+# PrawnOS is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with PrawnOS.  If not, see <https://www.gnu.org/licenses/>.
+
+
+if [ -z "$1" ]
+then
+    echo "No build directory supplied"
+    exit 1
+fi
+
+BUILD_DIR=$1
+
+cd $BUILD_DIR
+make toolchain
+make -C target_firmware

+ 27 - 37
scripts/BuildScripts/KernelScripts/buildKernel.sh

@@ -3,11 +3,11 @@
 set -x
 set -e
 
-#Build kernel, wifi firmware
+# build Linux-libre, with ath9k_htc firmware and initramfs built in
 
 
 # This file is part of PrawnOS (https://www.prawnos.com)
-# Copyright (c) 2018 Hal Emmerich <hal@halemmerich.com>
+# Copyright (c) 2018-2020 Hal Emmerich <hal@halemmerich.com>
 
 # PrawnOS is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License version 2
@@ -26,48 +26,35 @@ then
     echo "No kernel version supplied"
     exit 1
 fi
-
-KVER=$1
-ROOT_DIR="$(pwd)"
-RESOURCES=$ROOT_DIR/resources/BuildResources
-
-[ ! -d build ] && mkdir build
-cd build
-if [ ! -f PrawnOS-initramfs.cpio.gz ]
+if [ -z "$2" ]
 then
-    echo "No initramfs image, run 'make initramfs' first"
-    cd $ROOT_DIR
+    echo "No resources directory"
+    exit 1
+fi
+if [ -z "$3" ]
+then
+    echo "No build directory supplied"
+    exit 1
+fi
+if [ -z "$4" ]
+then
+    echo "No PrawnOS initramfs supplied"
     exit 1
 fi
-# build AR9271 firmware
-[ ! -d open-ath9k-htc-firmware ] && git clone --depth 1 https://github.com/qca/open-ath9k-htc-firmware.git
-cd open-ath9k-htc-firmware
-make toolchain
-make -C target_firmware
-cd ..
-
-# build Linux-libre, with ath9k_htc
-[ ! -f linux-libre-$KVER-gnu.tar.lz ] && wget https://www.linux-libre.fsfla.org/pub/linux-libre/releases/$KVER-gnu/linux-libre-$KVER-gnu.tar.lz
-[ ! -f linux-libre-$KVER-gnu.tar.lz.sign ] && wget https://www.linux-libre.fsfla.org/pub/linux-libre/releases/$KVER-gnu/linux-libre-$KVER-gnu.tar.lz.sign
 
-#verify the signature
-gpg --import $RESOURCES/linux-libre-signing-key.gpg
-gpg --verify linux-libre-$KVER-gnu.tar.lz.sign linux-libre-$KVER-gnu.tar.lz
+KVER=$1
+RESOURCES=$2
+BUILD_DIR=$3
+INITRAMFS=$4
 
-[ ! -d linux-$KVER ] && tar --lzip -xvf linux-libre-$KVER-gnu.tar.lz && FRESH=true
-cd linux-$KVER
-make clean
+cd $BUILD_DIR
 make mrproper
-#Apply the usb and mmc patches if unapplied
-[ "$FRESH" = true ] && for i in "$RESOURCES"/patches-tested/kernel/5.x-dwc2/*.patch; do echo $i; patch -p1 < $i; done
-[ "$FRESH" = true ] && for i in "$RESOURCES"/patches-tested/DTS/*.patch; do echo $i; patch -p1 < $i; done
-[ "$FRESH" = true ] && for i in "$RESOURCES"/patches-tested/kernel/*.patch; do echo $i; patch -p1 < $i; done
 
-#copy in the initramfs and kernel config
-cp $ROOT_DIR/build/PrawnOS-initramfs.cpio.gz .
+#copy in the resources, initramfs
+cp $INITRAMFS .
 cp $RESOURCES/config .config
+cp $RESOURCES/kernel.its .
 make -j $(($(nproc) +1))  CROSS_COMPILE=arm-none-eabi- ARCH=arm zImage modules dtbs
-[ ! -h kernel.its ] && ln -s $RESOURCES/kernel.its .
 mkimage -D "-I dts -O dtb -p 2048" -f kernel.its vmlinux.uimg
 dd if=/dev/zero of=bootloader.bin bs=512 count=1
 vbutil_kernel --pack vmlinux.kpart \
@@ -78,5 +65,8 @@ vbutil_kernel --pack vmlinux.kpart \
               --signprivate /usr/share/vboot/devkeys/kernel_data_key.vbprivk \
               --config $RESOURCES/cmdline \
               --bootloader bootloader.bin
-cd ..
-cd $ROOT_DIR
+
+RESULT=$?
+if [ ! $RESULT -eq 0 ]; then
+    rm -f vmlinux.kpart
+fi

+ 16 - 14
scripts/BuildScripts/KernelScripts/patchKernel.sh

@@ -8,20 +8,22 @@ then
     echo "No kernel version supplied"
     exit 1
 fi
+if [ -z "$2" ]
+then
+    echo "No patches directory"
+    exit 1
+fi
+if [ -z "$3" ]
+then
+    echo "No build directory supplied"
+    exit 1
+fi
 KVER=$1
+PATCHES=$2
+BUILD_DIR=$3
 
-ROOT_DIR="$(pwd)"
-RESOURCES=$ROOT_DIR/resources/BuildResources
-
-
-[ ! -d build ] && mkdir build
-cd build
-# build Linux-libre, with ath9k_htc
-cd linux-$KVER
-make clean
+cd $BUILD_DIR
 make mrproper
-#Apply the usb and mmc patches if unapplied
-for i in "$RESOURCES"/patches-tested/DTS/*.patch; do patch -p1 < $i; done
-for i in "$RESOURCES"/patches-tested/kernel/*.patch; do patch -p1 < $i; done
-
-cd $ROOT_DIR
+#Apply the usb and mmc patches
+for i in "$PATCHES"/DTS/*.patch; do echo $i; patch -p1 < $i; done
+for i in "$PATCHES"/kernel/*.patch; do echo $i; patch -p1 < $i; done