script: build: Add to build linux-tizen-modules 70/308370/1
authorSeung-Woo Kim <sw0312.kim@samsung.com>
Fri, 22 Mar 2024 09:27:33 +0000 (18:27 +0900)
committerSeung-Woo Kim <sw0312.kim@samsung.com>
Fri, 22 Mar 2024 09:27:38 +0000 (18:27 +0900)
Add to build and install linux-tizen-modules in local build script.

To build linux-tizne-modules, it is required to clone tizen git
platform/kernel/linux-tizen-modules-source and
platform/kernel/linux-tizen-modules in parent path.

Change-Id: I1e8b799d53a4d8e5f614b20250fa718f5cc48aa4
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
build.sh

index 3239bec..db9d582 100755 (executable)
--- a/build.sh
+++ b/build.sh
@@ -4,6 +4,8 @@ MOD_IMG="usr/modules.img"
 MOD_SIZE=20
 NCPUS=`grep ^processor /proc/cpuinfo | wc -l`
 NCPUS=$(($NCPUS * 2))
+BUILD_ROOT=$PWD
+KERNEL_PATH=`basename ${BUILD_ROOT}`
 
 # Check this system has ccache
 check_ccache()
@@ -14,6 +16,43 @@ check_ccache()
        fi
 }
 
+function mk_tizen_modules()
+{
+       if [ -e ${BUILD_ROOT}/../linux-tizen-modules-source ]; then
+               pushd ${BUILD_ROOT}/../linux-tizen-modules-source
+
+               ln -s ${PWD}/include kernel
+
+               export BUILD_logger=m
+               export LOGGER_MAIN_BUFFER_SIZE=256
+               export LOGGER_EVENTS_BUFFER_SIZE=256
+               export LOGGER_RADIO_BUFFER_SIZE=256
+               export LOGGER_SYSTEM_BUFFER_SIZE=256
+
+               export BUILD_proc_tsm=n
+               export BUILD_kdbus=n
+               export BUILD_zlogger=m
+
+               ARCH="${ARCH}" CROSS_COMPILE="${CROSS_COMPILER}" make -C kernel KERNELDIR=${BUILD_ROOT}
+
+               rm -f kernel/include
+
+               ARCH="${ARCH}" CROSS_COMPILE="${CROSS_COMPILER}" make -C kernel modules_install KERNELDIR=${BUILD_ROOT} INSTALL_MOD_PATH=../${KERNEL_PATH}/${MOD_DIR} INSTALL_MOD_STRIP=1 INSTALL_MOD_DIR=extra
+
+               popd
+
+               if [ -e ${BUILD_ROOT}/../linux-tizen-modules ]; then
+                       mkdir -p ${MOD_DIR}/lib/modules/modules-load.d
+                       cp ${BUILD_ROOT}/../linux-tizen-modules/conf/tizen-modules-visionfive2.conf ${MOD_DIR}/lib/modules/modules-load.d
+               fi
+       else
+               echo "linux-tizen-modules-source/linux-tizen-modules are not cloned in parent path, so skip building linux-tizen-modules."
+               echo "To build linux-tizen-modules, please use below command:"
+               echo "   git clone git://git.tizen.org/platform/kernel/linux-tizen-modules-source -b tizen ../linux-tizen-modules-source"
+               echo "   git clone git://git.tizen.org/platform/kernel/linux-tizen-modules -b tizen ../linux-tizen-modules"
+       fi
+}
+
 function mk_modules() {
        [ -e /usr/bin/make_ext4fs ] && USE_MAKE_EXT4FS=1
        if [ "$USE_MAKE_EXT4FS" != "1" ]; then
@@ -32,6 +71,9 @@ function mk_modules() {
 
        make ARCH=${ARCH} CROSS_COMPILE="$CROSS_COMPILER" modules_install INSTALL_MOD_PATH=${MOD_DIR} INSTALL_MOD_STRIP=1
 
+       # build and install linux-tizen-modules if cloned in parent path
+       mk_tizen_modules
+
        if [ "$USE_MAKE_EXT4FS" == "1" ]; then
                /usr/bin/make_ext4fs -b 4096 -L modules -l ${MOD_SIZE}M $MOD_IMG ${MOD_DIR}/lib/modules/
        else