tiny4412 编译并烧写系统

编译 uboot_tiny4412:
cd uboot_tiny4412/
make tiny4412_config
make
sudo cp tools/mkimage /usr/bin/

编译: 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编译相关的环境变量。
lunch  之后输入: full_tiny4412-eng 对应的数字
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
tiny4412 编译并烧写系统_第1张图片
tiny4412 编译并烧写系统_第2张图片
tiny4412 编译并烧写系统_第3张图片
tiny4412 编译并烧写系统_第4张图片
tiny4412 编译并烧写系统_第5张图片
tiny4412 编译并烧写系统_第6张图片
tiny4412 编译并烧写系统_第7张图片
到此,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文件来实现。

你可能感兴趣的:(tiny4412)