三星今天发布了新的release版本的镜像,所以我们需要更换新的base,之前也更换过meego的base,但是那个时候也没有记录一下,所以今天又上网查了一遍,为了不重蹈覆辙今天还是记录一下吧:
1.raw格式的镜像挂载,直接使用mount挂载的时候,会提示需要指定文件系统,主要是raw格式的文件有两个分区,如果是没有分区的则可以直接使用mount挂载,下面说一下对分区了raw文件的挂载,会用到losetup和 kpartx,如果没有的话先安装一下,具体命令如下:
losetup /dev/loop0 tizen_20130829.9_ivi-release-mbr-i586-sdb.raw kpartx -a /dev/loop0
执行完上述命令以后,可以ls 一下/dev/mapper/目录,可以看到多了两个文件
tizen$ ls /dev/mapper/ loop0p1 loop0p2
这个地方选择我们要挂在的文件,此处的两个文件,第一个为boot分区,第二个为系统的base,此处我们挂载第二个
mkdir base mount /dev/mapper/loop0p1 base/
需要注意的是以上的操作都要有root权限。挂载完成之后就可以ls base 查看文件了,输出如下:
tizen$ ls base bin boot dev etc home lib lost+found media mnt opt proc root run sbin srv sys tmp usr var
这个是tizen本身的base,我们需要更换上我们自己的包,那怎么办呢,你需要做一个自己的文件系统,因为我们刚刚挂载的是只读的文件系统。一般的情况下系统的base文件系统都是一个extsfs.img的文件,所以此处我们需要自己做一个,步骤如下:
dd if=/dev/zero of=ext3fs.img bs=1M count=2048
以上的命令将生成一个2G的ext3fs.img的文件,我们需要把这个文件映射成一个外部介质上去并格式化,命令如下:
losetup /dev/loop3 ext3fs.img
mkfs.ext3 /dev/loop3
接下来我们需要把它挂载到本地目录,命令如下:
mkdir ext3 mount /dev/loop3 ext3
那执行到此处我们制作的ext3fs.img文件就是可写的了,只需要把tizen原生的base文件系统的文件copy过来就可以了。制作完成之后该文件就可以用于系统制作了。