1 #/******************************************************************************* 2 # * OK335xS-Android pack-ubi-256M.sh hacking 3 # * 声明: 4 # * 1. 本文解析仅仅是为了知道pack-ubi-256M.sh自动生成ubi文件系统的原理 5 # * 2. 本文在网页上可能不好阅读,最好cp一份在其他文本编辑器中阅读 6 # * 2015-6-4 晴 深圳 南山平山村 曾剑锋 7 # ******************************************************************************/ 8 9 10 # /bin/sh 11 12 ANDROID_PATH=`pwd` # get android root path 13 KERNEL_PATH=$ANDROID_PATH/kernel # get android kernel path 14 UBOOT_PATH=$ANDROID_PATH/u-boot # get android u-boot path 15 echo "start make rootfs.tar.bz2......" # show start message 16 cd $ANDROID_PATH/out/target/product/am335xevm # change directory to out path 17 rm -rf android_rootfs # remove android_rootfs directory 18 mkdir android_rootfs # make directory for android_rootfs 19 cp -rf root/* android_rootfs # cp all file to android_rootfs directory from root directory 20 cp -rf data android_rootfs/ # cp data directory to android_rootfs directory 21 cp -rf system android_rootfs/ # cp system directory to android_rootfs directory 22 cp -rf $ANDROID_PATH/vendor/busybox android_rootfs/system/bin # cp busybox as a shell command 23 cp -rf $ANDROID_PATH/RowboPerf/RowboPerf_libs/armeabi/* android_rootfs/system/lib # cp RowboPerf armeabi lib as system lib 24 cp -rf $ANDROID_PATH/RowboPerf/Zeroxbench_bins/armeabi/* android_rootfs/system/bin # cp RowboPerf armeabi bin as system bin 25 cp -rf $ANDROID_PATH/RowboPerf/*.apk android_rootfs/data/app # cp RowboPerf apk as data spp 26 cd android_rootfs/data # change directory to android_rootfs/data 27 mkdir data # make directory for data 28 cd $ANDROID_PATH/out/target/product/am335xevm # change directory to out path 29 chown 1000:1000 android_rootfs/data/app -R # change file own 30 chmod 775 android_rootfs/data/app # change file mode of app 31 chmod 777 android_rootfs/data/data # change file mode of data 32 ../../../../build/tools/mktarball.sh ../../../host/linux-x86/bin/fs_get_stats android_rootfs . rootfs rootfs.tar.bz2 # create a tar file 33 sleep 2 34 cp -rf rootfs.tar.bz2 $ANDROID_PATH/mkubifs # cp rootfs.tar.bz2 to mkubifs directory 35 cd $ANDROID_PATH/mkubifs # go to mkubifs directory 36 rm -rf rootfs # rm -rf rootfs directory 37 mkdir rootfs # make rootfs directory 38 tar -jxvf rootfs.tar.bz2 -C rootfs # use tar with -jxvf argument extract files from rootfs.tar.bz2 39 ./mkfs.ubifs -F -r rootfs -m 2048 -e 126976 -c 1866 -o ubifs.img # create the ubifs image 40 # ubinize.cfg | 41 # [ubifs] | 42 # mode=ubi | 43 # image=ubifs.img <---------------------------------+ 44 # vol_id=0 45 # vol_size=220MiB 46 # vol_type=dynamic 47 # vol_name=rootfs 48 # vol_flags=autoresize 49 ./ubinize -o ubi.img -O 2048 -m 2048 -p 128KiB -s 2048 ubinize.cfg # create the ubi image 50 sleep 2 51 echo " make end" # show work end 52 53 cd $ANDROID_PATH # goto android root path 54 cp $KERNEL_PATH/arch/arm/boot/uImage temp # cp uImage to temp directory 55 #cp $UBOOT_PATH/MLO temp # cp MLO to temp directory 56 #cp $UBOOT_PATH/u-boot.img temp # cp u-boot.img to temp directory 57 cp $ANDROID_PATH/mkubifs/ubi.img temp # cp ubi.img to temp directory 58 59 cp $KERNEL_PATH/arch/arm/boot/uImage mmc-android-ubifs/Boot_Images # cp uImage to mmc-android-ubifs/Boot_Images 60 #cp $UBOOT_PATH/MLO mmc-android-ubifs/Boot_Images # cp MLO to temp directory 61 #cp $UBOOT_PATH/u-boot.img mmc-android-ubifs/Boot_Images # cp u-boot.img to temp directory 62 cp $ANDROID_PATH/mkubifs/ubi.img mmc-android-ubifs/Filesystem # cp ubi.img to temp directory 63 echo "pack complete"