1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
FILESEXTRAPATHS_append := "${THISDIR}/linux-xlnx:"
FILESEXTRAPATHS_prepend := "${THISDIR}/config:"
SRC_URI_append += " file://pl35x_nand.c.patch"
SRC_URI_append += " file://xilinx_emacps.c.patch"
SRC_URI_append += " file://xilinx_uartps.c.patch"
SRC_URI_append += " file://si5338_vsc330x.patch"
SRC_URI_append += " file://drivers-elphel.patch"
SRC_URI_append += " file://${MACHINE}.scc"
KERNEL_FEATURES_append = " ${MACHINE}.scc"
linux-elphel_label= "git://github.com/Elphel/linux-elphel.git"
linux-elphel_branch= "master"
linux-elphel_gitdir= "${WORKDIR}/linux-elphel"
# To use the latest leave: "" - (=empty)
linux-elphel_srcrev= ""
#linux-elphel_srcrev= "0ca36687a400fd9a5c4510295ae5be88aac77fa4"
#
DEV_DIR ?= "${TOPDIR}/../../linux-elphel"
# set output for Eclipse project setup parser:
EXTRA_OEMAKE += "-s -w -B KCFLAGS='-v'"
# or use a variable:
export _MAKEFLAGS="-s -w -B KCFLAGS='-v'"
export BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE _MAKEFLAGS"
EXTRA_OEMAKE = "${_MAKEFLAGS}"
do_fetch_append() {
if os.path.isdir("${DEV_DIR}"):
print("Found DEV_DIR, skipping cloning")
else:
print("Cloninig ${linux-elphel_label}\n")
os.system("git clone -b ${linux-elphel_branch} ${linux-elphel_label} ${linux-elphel_gitdir}")
os.system("cd ${linux-elphel_gitdir};git checkout ${linux-elphel_srcrev}")
}
python do_link() {
if os.path.isdir("${DEV_DIR}"):
print("DEV_DIR exists - creating links...")
devdir_abspath = os.path.abspath("${DEV_DIR}/src")
for path, folders, files in os.walk("${DEV_DIR}/src"):
folders[:]=[fd for fd in folders if fd != ".git"]
for folder in folders:
folder_abspath = os.path.abspath(os.path.join(path, folder))
folder_relpath = folder_abspath.replace(devdir_abspath+"/", '')
os.system("cd ${S};mkdir -p "+folder_relpath)
for filename in files:
file_abspath = os.path.abspath(os.path.join(path, filename))
file_relpath = file_abspath.replace(devdir_abspath+"/", '')
os.system("cd ${S};ln -sf "+file_abspath+" "+file_relpath)
#os.system("cd ${DEV_DIR}; ln -sf ${S} linux")
if not os.path.isdir("${DEV_DIR}/sysroots"):
os.system("cd ${DEV_DIR}; ln -sf ${TOPDIR}/tmp/sysroots sysroots")
if not os.path.isdir("${DEV_DIR}/linux"):
os.system("cd ${DEV_DIR}; ln -sf ${WORKDIR}/linux-${MACHINE}-standard-build linux")
else:
print("Copying ${linux-elphel_gitdir}/src/ over ${S}\n")
os.system("cp -rfv ${linux-elphel_gitdir}/src/* ${S}")
}
addtask do_link before do_kernel_configme after do_patch
do_deploy_append(){
for RLOC in ${PRODUCTION_ROOT_LOCATION}; do
if [ ! -d ${DEPLOY_DIR_IMAGE}/${RLOC} ]; then
mkdir -p ${DEPLOY_DIR_IMAGE}/${RLOC}
fi
#if [ -f ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE_BASE_NAME}.bin ]; then
if [ -f ${DEPLOYDIR}/${KERNEL_IMAGE_BASE_NAME}.bin ]; then
if [ -f ${DEPLOY_DIR_IMAGE}/${RLOC}/${PRODUCTION_KERNEL} ]; then
rm ${DEPLOY_DIR_IMAGE}/${RLOC}/${PRODUCTION_KERNEL}
fi
cp ${DEPLOYDIR}/${KERNEL_IMAGE_BASE_NAME}.bin ${DEPLOY_DIR_IMAGE}/${RLOC}/${PRODUCTION_KERNEL}
else
echo "NOT 3 FOUND!"
fi
done
}