裸机安装ubuntu 12.0
Ubuntu的烧写必须要用TF卡,根据官方的说法,OTG不能用于ubuntu的烧写。
1、制作可烧写的TF卡(如果TF卡之前已经制作好了可以不用再次制作)
前提:TF卡的写入速度不能低于5M/s,并且格式要fat32,格式可以通过读卡器连接电脑按格式类型格式化。
TF 卡存储容量最少要 2G 以上。
1.1、首先把TF卡分区,分区方法:把TF卡插入开发板TF卡槽,开启电源,进入uboot模式,通过超级终端,命令行按照顺序输入以下语句:
#fdisk -c 1
注意上面的分区命令的是参数“1”,代表的是 tf 卡,如果是“0”则代表是 eMMC。
如果是 2G 的 TF 卡,请将命令“fdisk -c 1”改为“fdisk -c 1 300 300 300”。
# fatformat mmc 1:1
# ext3format mmc 1:2
# ext3format mmc 1:3
# ext3format mmc 1:4
1.2、在光盘文件夹“06_源码_uboot 和 kernel”中有一个压缩包“iTop4412_uboot_xxx.tar.gz”,把它拷贝后,放到ubuntu虚拟机的文件夹中(前提是虚拟机已经下载了vmtool,否则可以用ssh或者共享文件夹的方式),比如/home/topeet/中。然后通过命令tar解压:
tar -vxf iTop4412_uboot_xxx.tar.gz,解压完成后进入iTop4412_uboot_xxx文件夹中,同时,把光盘文件夹 \05_镜像_Ubuntu文件系统\uboot中对应板的型号的u-boot-iTOP-4412.bin拷贝到虚拟机/home/topeet/iTop4412_uboot_xxx文件夹中。
1.3、df -l 查看TF卡盘符
如下图,可以看到TF卡的盘符为/dev/sdb ,意思就是/dev/sdb1,2,3,4都是TF卡中的盘。TF卡的盘符不唯一,可能是/dev/sdb,也有可能是/dev/sdc,所以要看准,不清楚可以通过拔开再插入的方式查询。
1.4、确定了盘符之后,可以进入/home/topeet/iTop4412_uboot_xxx文件夹中,ls判断u-boot-iTOP-4412.bin是否在文件夹内,如果在,则可以继续,命令行输入
#./mkuboot /dev/sdb(也有可能是sdc,根据自己的TF卡盘符来定)
结果如下图,则已经成功了。
2、以TF卡启动方式启动ubuntu
2.1、制作完可烧写的TF卡后,需要对TF卡的分区格式化,先把TF卡插入开发板,启动开发板,进入uboot模式,依次输入以下命令
#fdisk -c 1 2700 50 50”
#fatformat mmc 1:1”
#ext3format mmc 1:2”
#ext3format mmc 1:3”
#ext3format mmc 1:4”
完成后可以拔出开发板
2.2、把TF卡连接到PC端Ubuntu中,df -l查看盘符
2.3、将用户光盘"05_镜像_Ubuntu 文件系统"→“system”文件夹中的文件
“iTOP4412_ubuntu_12.04_for_LCD_xxxxxx.tar.gz”
拷贝到 Ubuntu 系统中,如下图所示,是将文件拷贝到“/home/topeet/ubuntu”中
2.4、将“iTOP4412_ubuntu_12.04_for_LCD_xxxxxx.tar.gz”拷贝到 2.7G 的文件夹中,
如下图所示。这个过程大概一到两分钟。
拷贝完成之后,进入 tf 卡 2.7G 的目录,如下图所示
2.5、使用解压命令“tar -xvf xxxx.tar.gz”解压压缩包文件,如下图所示。
上面的解压缩过程一般需要三十分钟左右,如果 PC 机的配置不高,耗费的时间可能会更长。如下图所示,解压完成。
这里说一下:经过制作可烧写的TF卡会在2.7G/50M的这些盘中会生成文件夹lost+found,如果没有这个文件夹,则会在解压系统文件的时候出现很多错误,如
。要处理,则需要从1.1重新执行。
2.6、解压缩完成后,如下图所示,将 tf 卡连接到 window 系统(TF卡连接到PC端window后一般会叫你格式化,但是我们不需要全部格式化,因为我们分区的时候已经分了4个区域,由于制作可烧写TF卡过程中会在2.7G/50M的盘中生成了文件,所以不能格式化,但是剩下的那个可以格式化,然后打开这个盘),在这个盘上建立文件夹“sdupdate”。
1、拷贝用户光盘“05_镜像_Ubuntu 文件系统”文件夹中“uboot”中对应核心板的镜像“u-boot-iTOP-4412.bin”到 TF 卡的文件夹“sdupdate”中。
2、拷贝用户光盘“05_镜像_Ubuntu 文件系统”文件夹中“zImage”中对应核心板的镜像“zImage_sd”和“zImage”到 TF 卡的文件夹“sdupdate”中。
3、再将“Ubuntu”文件夹中文件“iTOP4412_ubuntu_12.04_for_LCD_xxxxxx.tar.gz”拷贝到 TF 卡的文件夹“sdupdate”中。如图。
2.7、把TF卡插入到开发板中,进入uboot模式,给 eMMC 分区和烧写镜像,首先终端命令行输入:
# fdisk -c 0 2700 300 300
#fatformat mmc 0:1
#ext3format mmc 0:2
#ext3format mmc 0:3
#ext3format mmc 0:4
然后开始烧写uboot:
#sdfuse flash bootloader u-boot-iTOP-4412.bin
完成后烧写 sd 卡启动的内核:
#sdfuse flash kernel zImage_sd(注意是zImage)
一切顺利完成后输入
#reset
重启后看看是否能进入系统,如下图
到这里需要注意:开发板出厂启动方式默认为EMMC,需要手动调节:
在板上找到
3、把ubuntu烧写到emmc中
3.1、接着1.2结尾进入TF卡的ubuntu,超级终端中使用命令“ df -l”,查找到有 update 文件夹的盘符。找到存放sdupdate文件夹的盘,忘记了可以记住大概盘的大小栏判断。
使用 cd 命令进入有 update 的盘符,具体盘符名称以用户实际为准。
3.2、再次用df -l查看盘符,目的是找到EMMC中存放文件系统的盘,也是2.7G,如下图。
使用 cp 命令将压缩包拷贝的上图对应的 eMMC 的 2.7G 盘符中,这个过程可能需要花费几分钟。如下图所示,进入 eMMC 的 2.7G 盘符中,可以看到压缩包已经被拷贝进去。
3.3、在该文件中使用解压命令:
#tar -xvf iTOP4412_ubuntu_12.04_for_LCD_20141230.tar.gz
大概需要30分钟,解压完成可以ls,如下图。
3.4、重启开发板,进入 uboot 模式,将内核镜像“zImage”烧写到
eMMC 中,命令行输入:
#sdfuse flash kernel zImage
需要注意的是,这里的内核镜像是“zImage”。
完成后,再次输入:
#reset
重启
这个时候就可以拔出TF卡了。移植完成