From f6302ea7b63a4a3a86ceab820906b400689e3e46 Mon Sep 17 00:00:00 2001 From: forumi0721 Date: Thu, 26 May 2016 13:47:45 +0900 Subject: [PATCH 1/6] Makefile: CROSS_COMPILE change to optional --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index a50d3f5..c15471f 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ .PHONY: linux-config livesuit android SUDO=sudo -CROSS_COMPILE=arm-linux-gnueabihf- +CROSS_COMPILE?=arm-linux-gnueabihf- OUTPUT_DIR=$(CURDIR)/output BUILD_PATH=$(CURDIR)/build ROOTFS?=norootfs From 2b72b5ad4021cfb8183f28f874d328f541137cd5 Mon Sep 17 00:00:00 2001 From: forumi0721 Date: Thu, 26 May 2016 14:16:51 +0900 Subject: [PATCH 2/6] Makefile: Add support Mac OS X --- Makefile | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index c15471f..ff03ff6 100644 --- a/Makefile +++ b/Makefile @@ -9,7 +9,13 @@ BUILD_PATH=$(CURDIR)/build ROOTFS?=norootfs ROOTFS_BASENAME=$(basename $(basename $(ROOTFS))) Q= -J=$(shell expr `grep ^processor /proc/cpuinfo | wc -l` \* 2) +J=1 +OS := $(shell uname -s) +ifeq ($(OS), Darwin) + J=$(shell sysctl -a | grep machdep.cpu.thread_count: | sed 's/machdep.cpu.thread_count: //g') +else + J=$(shell expr `grep ^processor /proc/cpuinfo | wc -l` \* 2) +endif include chosen_board.mk From 9f52b5653a374ce82260ad048f30de5dad2a2c89 Mon Sep 17 00:00:00 2001 From: forumi0721 Date: Thu, 26 May 2016 15:26:17 +0900 Subject: [PATCH 3/6] scripts/mk_hwpack.sh: Add header generate function --- scripts/mk_hwpack.sh | 129 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 129 insertions(+) diff --git a/scripts/mk_hwpack.sh b/scripts/mk_hwpack.sh index 56e6efd..c3f3bec 100755 --- a/scripts/mk_hwpack.sh +++ b/scripts/mk_hwpack.sh @@ -11,6 +11,7 @@ set -e . ./chosen_board.mk +K_PATH="linux-sunxi" U_O_PATH="build/$UBOOT_CONFIG-u-boot" K_O_PATH="build/$KERNEL_CONFIG-linux" HWPACK_DIR="build/${BOARD}_hwpack" @@ -39,6 +40,132 @@ cp_debian_files() { #chmod 755 ${OUTPUT_DIR}/${BOARD}_hwpack/rootfs/usr/bin/a1x-initramfs.sh } +cp_header_files() { + local headers="$1" + + echo "Debian/Ubuntu hwpack (headers)" + + rm -rf $headers + mkdir -p $headers + + install -D -m644 $K_PATH/Makefile "$headers/Makefile" + install -D -m644 $K_PATH/kernel/Makefile "$headers/kernel/Makefile" + install -D -m644 $K_O_PATH/.config "$headers/.config" + + mkdir -p $headers/include + for i in acpi asm-generic crypto drm linux math-emu media net pcmcia scsi sound trace video xen; do + cp -a $K_PATH/include/${i} "$headers/include/" + done + for i in config generated; do + cp -a $K_O_PATH/include/${i} "$headers/include/" + done + + # copy arch includes for external modules + mkdir -p $headers/arch/arm + #cp -a $K_O_PATH/arch/arm/include $headers/arch/arm/ + cp -a $K_PATH/arch/arm/include $headers/arch/arm/ + mkdir -p $headers/arch/arm/mach-sun7i + cp -a $K_PATH/arch/arm/mach-sun7i/include $headers/arch/arm/mach-sun7i/ + mkdir -p $headers/arch/arm/plat-sunxi + cp -a $K_PATH/arch/arm/plat-sunxi/include $headers/arch/arm/plat-sunxi/ + + # copy files necessary for later builds, like nvidia and vmware + cp $K_O_PATH/Module.symvers "$headers/" + #cp -a $K_O_PATH/scripts "$headers/" + cp -a $K_PATH/scripts "$headers/" + + # fix permissions on scripts dir + chmod og-w -R "$headers/scripts" + mkdir -p "$headers/.tmp_versions" + mkdir -p "$headers/arch/arm/kernel" + cp $K_PATH/arch/arm/Makefile "$headers/arch/arm/" + cp $K_O_PATH/arch/arm/kernel/asm-offsets.s "$headers/arch/arm/kernel/" + + # add headers for lirc package + mkdir -p "$headers/drivers/media/video" + #cp $K_O_PATH/drivers/media/video/*.h "$headers/drivers/media/video/" + cp $K_PATH/drivers/media/video/*.h "$headers/drivers/media/video/" + + for i in bt8xx cpia2 cx25840 cx88 em28xx et61x251 pwc saa7134 sn9c102; do + mkdir -p "$headers/drivers/media/video/${i}" + #cp -a $K_O_PATH/drivers/media/video/${i}/*.h "$headers/drivers/media/video/${i}" + cp -a $K_PATH/drivers/media/video/${i}/*.h "$headers/drivers/media/video/${i}" + done + + # add docbook makefile + install -D -m644 $K_PATH/Documentation/DocBook/Makefile "$headers/Documentation/DocBook/Makefile" + + # add dm headers + mkdir -p "$headers/drivers/md" + cp $K_PATH/drivers/md/*.h "$headers/drivers/md" + + # add inotify.h + mkdir -p "$headers/include/linux" + cp $K_PATH/include/linux/inotify.h "$headers/include/linux/" + + # add wireless headers + mkdir -p "$headers/net/mac80211/" + cp $K_PATH/net/mac80211/*.h "$headers/net/mac80211/" + + # add dvb headers for external modules + # in reference to: + # http://bugs.archlinux.org/task/9912 + mkdir -p "$headers/drivers/media/dvb/dvb-core" + cp $K_PATH/drivers/media/dvb/dvb-core/*.h "$headers/drivers/media/dvb/dvb-core/" + # and... + # http://bugs.archlinux.org/task/11194 + mkdir -p "$headers/include/config/dvb/" + cp $K_O_PATH/include/config/dvb/*.h "$headers/include/config/dvb/" + + # add dvb headers for http://mcentral.de/hg/~mrec/em28xx-new + # in reference to: + # http://bugs.archlinux.org/task/13146 + mkdir -p "$headers/drivers/media/dvb/frontends/" + cp $K_PATH/drivers/media/dvb/frontends/lgdt330x.h "$headers/drivers/media/dvb/frontends/" + cp $K_PATH/drivers/media/video/msp3400-driver.h "$headers/drivers/media/dvb/frontends/" + + # add dvb headers + # in reference to: + # http://bugs.archlinux.org/task/20402 + mkdir -p "$headers/drivers/media/dvb/dvb-usb" + cp $K_PATH/drivers/media/dvb/dvb-usb/*.h "$headers/drivers/media/dvb/dvb-usb/" + mkdir -p "$headers/drivers/media/dvb/frontends" + cp $K_PATH/drivers/media/dvb/frontends/*.h "$headers/drivers/media/dvb/frontends/" + mkdir -p "$headers/drivers/media/common/tuners" + cp $K_PATH/drivers/media/common/tuners/*.h "$headers/drivers/media/common/tuners/" + + # add xfs and shmem for aufs building + mkdir -p "$headers/fs/xfs" + mkdir -p "$headers/mm" + cp $K_PATH/fs/xfs/xfs_sb.h "$headers/fs/xfs/xfs_sb.h" + + # copy in Kconfig files + local prevdir=`pwd` + cd $K_PATH + for i in `find . -name "Kconfig*"`; do + mkdir -p "$prevdir/$headers/`echo ${i} | sed 's|/Kconfig.*||'`" + cp ${i} "$prevdir/$headers/${i}" + done + cd $prevdir + + find "$headers" -type d -exec chmod 755 {} \; + + # strip scripts directory + find "$headers/scripts" -type f -perm -u+w 2>/dev/null | while read binary ; do + case "$(file -bi "${binary}")" in + *application/x-sharedlib*) # Libraries (.so) + /usr/bin/strip --strip-unneeded "${binary}";; + *application/x-archive*) # Libraries (.a) + /usr/bin/strip --strip-debug "${binary}";; + *application/x-executable*) # Binaries + /usr/bin/strip --strip-all "${binary}";; + esac + done + + # remove unneeded architectures + rm -rf "$headers"/arch/{alpha,arm26,avr32,blackfin,cris,frv,h8300,ia64,m32r,m68k,m68knommu,mips,microblaze,mn10300,parisc,powerpc,ppc,s390,sh,sh64,sparc,sparc64,um,v850,x86,xtensa} +} + cp_android_files() { local rootfs="$1" f= @@ -64,6 +191,7 @@ cp_android_files() { create_hwpack() { local hwpack="$1" local rootfs="$HWPACK_DIR/rootfs" + local headers="$HWPACK_DIR/headers" local kerneldir="$HWPACK_DIR/kernel" local bootloader="$HWPACK_DIR/bootloader" local f= @@ -74,6 +202,7 @@ create_hwpack() { if [ -z "$ANDROID" ]; then cp_debian_files "$rootfs" + cp_header_files "$headers" else cp_android_files "$rootfs" fi From 5a3d9baebe3b1a05837dc1dd693c206c3f28a7a2 Mon Sep 17 00:00:00 2001 From: forumi0721 Date: Thu, 26 May 2016 15:56:56 +0900 Subject: [PATCH 4/6] .gitmodules: Change submodule url --- .gitmodules | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.gitmodules b/.gitmodules index 81204bd..1a6399c 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,18 +1,18 @@ [submodule "u-boot-sunxi"] path = u-boot-sunxi - url = ../u-boot-sunxi.git + url = ../../LeMaker/u-boot-sunxi.git [submodule "sunxi-tools"] path = sunxi-tools - url = ../sunxi-tools.git + url = ../../LeMaker/sunxi-tools.git [submodule "sunxi-boards"] path = sunxi-boards - url = ../sunxi-boards.git + url = ../../LeMaker/sunxi-boards.git [submodule "linux-sunxi"] path = linux-sunxi - url = ../linux-sunxi.git + url = ../bananapi_linux-sunxi.git [submodule "allwinner-tools"] path = allwinner-tools - url = ../allwinner-tools.git + url = ../../LeMaker/allwinner-tools.git [submodule "cedarx-libs"] path = cedarx-libs - url = ../cedarx-libs.git + url = ../../LeMaker/cedarx-libs.git From 087054cde2f2919229e8ba0b8c045f51896b3133 Mon Sep 17 00:00:00 2001 From: forumi0721 Date: Thu, 26 May 2016 16:02:52 +0900 Subject: [PATCH 5/6] Update sumodules --- linux-sunxi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/linux-sunxi b/linux-sunxi index f1af96a..8a0c699 160000 --- a/linux-sunxi +++ b/linux-sunxi @@ -1 +1 @@ -Subproject commit f1af96adec9b5b4bf1a26d215b85f72597cd0773 +Subproject commit 8a0c6995917907ada728b23833c341a3b49c7254 From 02ec82e1ef70684b8b7cf053e39567f87fd187dc Mon Sep 17 00:00:00 2001 From: forumi0721 Date: Thu, 26 May 2016 16:59:20 +0900 Subject: [PATCH 6/6] Update sumodules --- linux-sunxi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/linux-sunxi b/linux-sunxi index 8a0c699..51e5e6c 160000 --- a/linux-sunxi +++ b/linux-sunxi @@ -1 +1 @@ -Subproject commit 8a0c6995917907ada728b23833c341a3b49c7254 +Subproject commit 51e5e6c516994e271d4d86c5b9b1b3989dd15809