三星今天发布了新的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过来就可以了。制作完成之后该文件就可以用于系统制作了。