编译: linux-3.0.86
cd linux-3.0.86/
cp tiny4412_android_defconfig .config
make zImage
在arch/arm/boot目录下生成zImage。替换images/Android下的zImage即可。
编译: android-5.0.2
cd android-5.0.2
. setenv // "."后面有一个空格,setenv设置Android编译相关的环境变量。
make
编译成功后,生成系统映像文件:
./gen-img.sh // 在源代码根目录下生成 system.img ramdisk-u.img userdata.img
system.img // Android 系统分区映象
ramdisk-u.img // Android 根分区映象
userdata.img // Android Data 分区映象
执行动作:
ubuntu@vm:~/work/android-5.0.2$ . setenv
including device/asus/fugu/vendorsetup.sh
including device/asus/tilapia/vendorsetup.sh
including device/asus/grouper/vendorsetup.sh
including device/asus/deb/vendorsetup.sh
including device/asus/flo/vendorsetup.sh
including device/lge/hammerhead/vendorsetup.sh
including device/lge/mako/vendorsetup.sh
including device/samsung/manta/vendorsetup.sh
including device/generic/mini-emulator-x86/vendorsetup.sh
including device/generic/mini-emulator-arm64/vendorsetup.sh
including device/generic/mini-emulator-armv7-a-neon/vendorsetup.sh
including device/generic/mini-emulator-x86_64/vendorsetup.sh
including device/generic/mini-emulator-mips/vendorsetup.sh
including device/friendly-arm/tiny4412/vendorsetup.sh
including device/moto/shamu/vendorsetup.sh
including sdk/bash_completion/adb.bash
ubuntu12.04下安装MiniTools
tar -xvf MiniTools-Linux-20150528.tgz
cd MiniTools-20150528
执行./start.sh
注:非root用户,需要先su切换到root用户,再执行.
制作用于安装系统的SD卡
本质是:将Tiny4412的Bootloader(Superboot4412.bin)烧写到SD卡的第一个分区,之后就可用SD卡启动。
利用Superboot的SD卡脱机烧写功能,将系统烧写到eMMC,达到重新安装系统的目的。
1. 利用 SD-Flasher.exe 对SD卡进行分区,第一个分区为130M用于存放Superboot4412,剩下的空间格式化为FRIENDLYARM分区,用于存放系统文件images。
2. 以管理员运行 SD-Flasher.exe
到此,Superboot4412.bin就被烧录到SD卡的无格式区中了,以后使用SD-Flasher制作SD卡时,无需再执行Relayout操作了,FAT32分区中的数据会得以保留。Bootloader被写入SD卡后无法看到,把SD卡插到开发板上,S2开关设置为SDBOOT模式,开机后,串口就有信息输出。
拷贝image到SD卡中
Android 系统烧写
拷贝文件到SD卡:
images/Superboot4412.bin // Bootloader
images/FriendlyARM.ini // 系统烧写配置文件
images/ramdisk-u.img // Android 根分区映象
images/system.img // Android 系统分区映象
images/userdata.img // Android Data 分区映象
images/userdata-4g.img
images/userdata-8g.img
images/userdata-16g.img
images/zImage // Android 内核
cat images/FriendlyARM.ini
#This line cannot be removed. by FriendlyARM(www.arm9.net)
CheckOneButton=No
Action = Install
OS = Android
LowFormat = Yes
VerifyNandWrite = No
LCD-Mode = No
CheckCRC32=No
StatusType = Beeper | LED
################### Android 5 ####################
Android-BootLoader = Superboot4412.bin
Android-Kernel = Android/zImage
Android-CommandLine = console=ttySAC0,115200n8 androidboot.console=ttySAC0 ctp=2 skipcali=y vmalloc=384m ethmac=1C:6F:65:34:51:7E androidboot.selinux=permissive
Android-RamDisk =Android/ramdisk-u.img
Android-RootFs-InstallImage = Android/system.img
Android-UserData-4G = Android/userdata-4g.img
Android-UserData-8G = Android/userdata-8g.img
Android-UserData-16G = Android/userdata-16g.img
Android-UserData = Android/userdata.img
################### UbuntuCore ####################
Ubuntu-BootLoader = Superboot4412.bin
Ubuntu-Kernel = UbuntuCore/zImage
Ubuntu-CommandLine = root=/dev/mmcblk0p1 rootfstype=ext4 console=ttySAC0,115200n8 bootdev=EMMC ethmac=FC:09:D1:00:00:04
Ubuntu-RamDisk = UbuntuCore/ramdisk-u.img
Ubuntu-RootFs-InstallImage = UbuntuCore/rootfs_ubuntucore.img
################### Android 4.1.2 ####################
# Android-BootLoader = Superboot4412.bin
# Android-Kernel = Android4.1.2/zImage
# Android-CommandLine = console=ttySAC0,115200n8 androidboot.console=ttySAC0 ctp=2 skipcali=y vmalloc=384m ethmac=1C:6F:65:34:51:7E
# Android-RamDisk =Android4.1.2/ramdisk-u.img
# Android-RootFs-InstallImage = Android4.1.2/system.img
# Android-UserData-4G = Android4.1.2/userdata-4g.img
# Android-UserData-8G = Android4.1.2/userdata-8g.img
# Android-UserData-16G = Android4.1.2/userdata-16g.img
# Android-UserData = Android4.1.2/userdata.img
################### Android 4.2.2 ####################
# Android-BootLoader = Superboot4412.bin
# Android-Kernel = Android4.2.2/zImage
# Android-CommandLine = console=ttySAC0,115200n8 androidboot.console=ttySAC0 ctp=2 skipcali=y vmalloc=384m ethmac=1C:6F:65:34:51:7E
# Android-RamDisk =Android4.2.2/ramdisk-u.img
# Android-RootFs-InstallImage = Android4.2.2/system.img
# Android-UserData-4G = Android4.2.2/userdata-4g.img
# Android-UserData-8G = Android4.2.2/userdata-8g.img
# Android-UserData-16G = Android4.2.2/userdata-16g.img
# Android-UserData = Android4.2.2/userdata.img
################### Linux ####################
Linux-BootLoader = Superboot4412.bin
Linux-Kernel = Linux/zImage
Linux-CommandLine = root=/dev/mmcblk0p1 rootfstype=ext4 console=ttySAC0,115200 init=/linuxrc ctp=2 skipcali=y ethmac=1C:6F:65:34:51:7E
Linux-RamDisk = Linux/ramdisk-u.img
Linux-RootFs-InstallImage = Linux/rootfs_qtopia_qt4.img
注意:Superboot4412会自动根据EMMC大小来对EMMC进行更合理的分区,使Android下的DATA分区得到更大的可用空间,即就是加载不同的userdata.image文件来实现。