欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

迅为itop4412烧写ubuntu,脱离tf卡启动

程序员文章站 2022-05-08 22:49:14
...

迅为itop4412烧写ubuntu,纠正了手册问题。手册上的步骤有一些纰漏。
环境:ubuntu12.04
工具:
SDFormater: sd卡分区后的格式化工具
Hyper Terminal: 串口调试用超级终端

我用的7寸屏,lvds-lcd接口,驱动选择iTOP4412_ubuntu_12.04_for_LCD_20141230.tar.gz,看准自己的型号。

步骤:

1.先在uboot下面, 如果卡容量较大将,tf卡重新分区,2700即为2.7G
分区。如果是2g卡,可以将2700改为1700,不再单写了:

fdisk -c 1 2700 50 50

fatformat mmc 1:1

ext3format mmc 1:2

ext3format mmc 1:3

ext3format mmc 1:4

这里有时候格式化到ext3format mmc 1:2中途报错,下一步直接不能执行,直接重启电源,在此执行上面的步骤,可行,没有做大量测试,先这么记下;真不行就用上面提到的工具格式化后再来,多试几次。

2、 首先把光盘中的文件镜像在ubuntu开发环境解压, 并拷贝到tf卡里面去.

在ubuntu下新建文件夹itop_4412,把压缩包iTOP4412_ubuntu_12.04_for_LCD_20141230.tar.gz 拷贝里面
然后解压。
输入df -l 找到2.7G盘符,

sudo cp -r  /home/topeet/itop_4412/*   /media/xxx(2.7G分区)

3、我用的8G的sd卡,分区后剩余空间4.7G,在这个盘里面建立sdupdate文件夹,把光盘资料ubuntu文件夹下的

 zImage, 
 zImage_sd,
 iTOP4412_ubuntu_12.04_for_LCD_20141230.tar.gz, 
 u-boot-iTOP-4412.bin

四个文件拷贝到sdupdate中。

如果用的sd容量较小,可以考虑用u盘,新建sdupdate文件夹,将相应文件拷贝其中,U盘插在靠近sd卡的usb口中。

**4、关键的一步在这里,手册中没有详细展开。导致用户基本无法实现最终的ubuntu在emmc中启动。
保证拨码开关一直是emmc启动不变,进行下面的步骤:**
在 /Android源码/ 文件夹中找到 iTop4412_uboot_20141224.tar.gz ,拷贝到ubuntu中解压,将u-boot-iTOP-4412.bin文件拷贝到解压之后的文件夹iTop4412_uboot之中。

执行 df -l
sd卡的盘符是sdb1 、sdb2 sdb3 sdb4

cd iTop4412_uboot
sudo su  获取root权限,之后
iTop4412_uboot# ./mkuboot  /dev/sdb  
会看到烧写成功提示

好了,有了这一步,成功一半。

5、还是按照手册走,先实现ubuntu在tf卡启动,拨码开关不动,还是emmc启动。

把卡插进开发板, 进uboot, 对mmc分个区:

fdisk -c 0 2700 300 300

fatformat mmc 0:1

ext3format mmc 0:2

ext3format mmc 0:3

ext3format mmc 0:4

烧写bootloader跟kernel, 记住, 这里烧的是sd卡的kernel

sdfuse flash bootloader u-boot-iTOP-4412.bin

sdfuse flash kernel zImage_sd

reset

会看到屏幕上的ubuntu界面,装上鼠标键盘,杠杆的。

6、下面的步骤用于完成emmc启动,脱离sd卡。

上面的系统启动后,超级终端输入:df -l

发现sd卡根本就没有被挂载,在/dev目录下,找到相应盘符,下面把sd卡手动挂载到开发板上:

mkdir /media/U /media/U1
mount /dev/mmcblk1p1 /media/U
mount /dev/mmcblk0p2 /media/U1

cd 进入/media/U
然后进入sdupdate文件夹,

cp -r  iTOP4412_ubuntu_12.04_for_LCD_20141230.tar.gz /media/U1

然后在/media/U1中解压:

tar -vxf iTOP4412_ubuntu_12.04_for_LCD_20141230.tar.gz

半小时后,解压完成。

7、重新给开发板上电进入uboot。

输入烧写指令:

sdfuse flash kernel zImage

重启:

reset

系统跑起来,yes,断电,拔出sd卡,再上电。ubuntu照样运行,至此,ubuntu烧写完成。中间若有拼写错误或者与自己的执行结果不一致,多检查调试,一切都太顺利也不利于深入掌握。