Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -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
10 changes: 8 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,19 @@
.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
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

Expand Down
2 changes: 1 addition & 1 deletion linux-sunxi
129 changes: 129 additions & 0 deletions scripts/mk_hwpack.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down Expand Up @@ -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=

Expand All @@ -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=
Expand All @@ -74,6 +202,7 @@ create_hwpack() {

if [ -z "$ANDROID" ]; then
cp_debian_files "$rootfs"
cp_header_files "$headers"
else
cp_android_files "$rootfs"
fi
Expand Down