You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.8 KiB
57 lines
1.8 KiB
#!/bin/bash
|
|
PRIVATE_MODULE_DIR=./vendor/lib/modules
|
|
PRIVATE_LOAD_FILE=./res/vendor_modules.load
|
|
TEMP_MODULES_PATH=./temp/lib/modules/0.0
|
|
KERNEL_DRIVERS_PATH=../kernel/drivers
|
|
VENDOR_MODULES_CONFIG=./vendor/etc/init.insmod.cfg
|
|
|
|
export PATH=./bin:./ext4_utils:$PATH
|
|
|
|
echo "==========================================="
|
|
echo "Preparing temp dirs and use placeholder 0.0..."
|
|
if [ -f $VENDOR_MODULES_CONFIG ]; then
|
|
rm -rf $VENDOR_MODULES_CONFIG
|
|
fi
|
|
if [ -d temp ]; then
|
|
rm -rf temp
|
|
fi
|
|
if [ -d $PRIVATE_MODULE_DIR ]; then
|
|
rm -rf $PRIVATE_MODULE_DIR
|
|
fi
|
|
if [ -f out/vendor.img ]; then
|
|
rm -rf out/vendor.img
|
|
fi
|
|
if [ ! -d out ]; then
|
|
mkdir -p out
|
|
fi
|
|
mkdir -p $TEMP_MODULES_PATH
|
|
mkdir -p $PRIVATE_MODULE_DIR
|
|
echo "Prepare temp dirs done."
|
|
echo "==========================================="
|
|
echo -e "\033[33mRead modules list from $PRIVATE_LOAD_FILE\033[0m"
|
|
echo "==========================================="
|
|
modules_vendor_array=($(cat $PRIVATE_LOAD_FILE))
|
|
for MODULE in "${modules_vendor_array[@]}"
|
|
do
|
|
echo "Copying $MODULE..."
|
|
module_file=($(find $KERNEL_DRIVERS_PATH -name $MODULE))
|
|
cp $module_file $TEMP_MODULES_PATH/
|
|
cp $module_file $PRIVATE_MODULE_DIR/
|
|
echo "insmod /vendor/lib/modules/$MODULE" >> $VENDOR_MODULES_CONFIG
|
|
done
|
|
echo "==========================================="
|
|
echo "Generating depmod..."
|
|
depmod -b temp 0.0
|
|
echo "Generate depmod done."
|
|
|
|
cp $TEMP_MODULES_PATH/modules.alias $PRIVATE_MODULE_DIR/
|
|
cp $PRIVATE_LOAD_FILE $PRIVATE_MODULE_DIR/modules.load
|
|
cp $TEMP_MODULES_PATH/modules.dep $PRIVATE_MODULE_DIR/
|
|
cp $TEMP_MODULES_PATH/modules.softdep $PRIVATE_MODULE_DIR/
|
|
|
|
echo "==========================================="
|
|
echo "making vendor image..."
|
|
build_image ./vendor ./res/vendor_image_info.txt ./out/vendor.img ./system
|
|
echo "make vendor image done."
|
|
echo "==========================================="
|