3 MOD_IMG="usr/modules.img"
5 NCPUS=`grep ^processor /proc/cpuinfo | wc -l`
8 KERNEL_PATH=`basename ${BUILD_ROOT}`
10 # Check this system has ccache
14 if [ "$?" -eq "0" ]; then
19 function mk_tizen_modules()
21 if [ -e ${BUILD_ROOT}/../linux-tizen-modules-source ]; then
22 pushd ${BUILD_ROOT}/../linux-tizen-modules-source
24 ln -s ${PWD}/include kernel
27 export LOGGER_MAIN_BUFFER_SIZE=256
28 export LOGGER_EVENTS_BUFFER_SIZE=256
29 export LOGGER_RADIO_BUFFER_SIZE=256
30 export LOGGER_SYSTEM_BUFFER_SIZE=256
32 export BUILD_proc_tsm=n
34 export BUILD_zlogger=m
36 ARCH="${ARCH}" CROSS_COMPILE="${CROSS_COMPILER}" make -C kernel KERNELDIR=${BUILD_ROOT}
40 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
44 if [ -e ${BUILD_ROOT}/../linux-tizen-modules ]; then
45 mkdir -p ${MOD_DIR}/lib/modules/modules-load.d
46 cp ${BUILD_ROOT}/../linux-tizen-modules/conf/tizen-modules-visionfive2.conf ${MOD_DIR}/lib/modules/modules-load.d
49 echo "linux-tizen-modules-source/linux-tizen-modules are not cloned in parent path, so skip building linux-tizen-modules."
50 echo "To build linux-tizen-modules, please use below command:"
51 echo " git clone git://git.tizen.org/platform/kernel/linux-tizen-modules-source -b tizen ../linux-tizen-modules-source"
52 echo " git clone git://git.tizen.org/platform/kernel/linux-tizen-modules -b tizen ../linux-tizen-modules"
56 function mk_modules() {
57 [ -e /usr/bin/make_ext4fs ] && USE_MAKE_EXT4FS=1
58 if [ "$USE_MAKE_EXT4FS" != "1" ]; then
62 make ARCH=${ARCH} CROSS_COMPILE="$CROSS_COMPILER" modules_prepare
63 make ARCH=${ARCH} CROSS_COMPILE="$CROSS_COMPILER" modules -j ${NCPUS}
65 if [ "$?" != "0" ]; then
66 echo "Failed to make modules"
70 [ -d ${MOD_DIR} ] || mkdir ${MOD_DIR}
72 make ARCH=${ARCH} CROSS_COMPILE="$CROSS_COMPILER" modules_install INSTALL_MOD_PATH=${MOD_DIR} INSTALL_MOD_STRIP=1
74 # build and install linux-tizen-modules if cloned in parent path
77 if [ "$USE_MAKE_EXT4FS" == "1" ]; then
78 /usr/bin/make_ext4fs -b 4096 -L modules -l ${MOD_SIZE}M $MOD_IMG ${MOD_DIR}/lib/modules/
80 dd if=/dev/zero of=${MOD_IMG} bs=1M count=${MOD_SIZE}
81 mkfs.ext4 -F -b 4096 -L modules ${MOD_IMG}
82 [ -d ${MOD_DIR}/mnt ] || mkdir ${MOD_DIR}/mnt
83 sudo mount -o loop ${MOD_IMG} ${MOD_DIR}/mnt
84 sudo cp -rf ${MOD_DIR}/lib/modules/* ${MOD_DIR}/mnt
86 sudo umount ${MOD_DIR}/mnt
95 rm -f arch/riscv/boot/Image
96 rm -f arch/riscv/boot/dts/starfive/*.dtb
99 rm -f output/modules.img
102 CROSS_COMPILER=riscv64-linux-gnu-
104 if ! [ -e .config ] ; then
105 make ARCH=${ARCH} CROSS_COMPILE="$CROSS_COMPILER" tizen_visionfive2_defconfig
107 make ARCH=${ARCH} CROSS_COMPILE="$CROSS_COMPILER" -j ${NCPUS}
108 if [ ! -f "./arch/riscv/boot/Image" ]; then
113 # Make module.img file
116 if [ ! -d output ] ; then
120 cp usr/modules.img ./output
122 cp ./arch/riscv/boot/Image ./output
123 cp ./arch/riscv/boot/dts/starfive/*.dtb ./output
124 tar cvf linux-visionfive2.tar -C output Image jh7110-starfive-visionfive-2-v1.2a.dtb jh7110-starfive-visionfive-2-v1.3b.dtb modules.img
125 mv linux-visionfive2.tar ./output/