Jan 10

SmartQ V7折腾记 第三篇 扩容 不指定

felix021 @ 2010-1-10 15:51 [IT » 硬件] 评论(1) , 引用(0) , 阅读(7396) | Via 本站原创 | |
第二篇把所有分区的大小都列出来了,不过还是漏了一点:
所有分区加起来,总共是1795,但是2G,用硬件厂商的单位换算,就是2,000,000,000B = 1907.35MB,而fdisk显示的是1883 MB,至少还应该有88MB的空间。

fdisk -l /dev/ndda没有看到另外的分区,根据block的数量来算,也没有找到这么大的地方,看起来应该是被隐藏了。不过还是可以大概估计出来这这88MB的用处——那就是用于WinCE的固件。当然,也可能是用于Android的固件,但是2个都用上空间不够大。而且WinCE的那个分区只用了2M多,说明固件肯定另外存了一份;而ndda4下面的4个逻辑分区都是Linux分区,所以肯定不会存在这里。综合一下,我觉得这88MB就是用来刷WinCE的固件了,而Andoid的,都放在ndda4里头。

由于我对Andoid没什么兴趣,决定把那467的空间搞出来。

注意:以下操作具有危险性,不熟悉Linux的同学,最好小心点儿,出了问题我可不负责,嗯。

具体的操作为:
1. 删除ndda4原有的分区
2. 建立一个新的分区
3. 格式化
4. 其他

第一步,用fdisk。说实话这是我第一次用linux下的fdisk=。= 不过还是挺简单的,如果有一些主分区、扩展分区、逻辑分区的知识的话。
V7里头这个Ubuntu它貌似是不支持卡上的逻辑分区的,ls /dev没能看到ndda5~ndda8就说明了问题。
所以应该把45678都给删掉,然后重新建立ndda4
具体操作:

root@SmartQ:/media# fdisk /dev/ndda

The number of cylinders for this disk is set to 57472.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help):

这里可以输入m看看有哪些命令,输入d是删除分区:

Command (m for help): d
Partition number (1-8): 8

Command (m for help): d
Partition number (1-7): 7

Command (m for help): d
Partition number (1-6): 6

Command (m for help): d
Partition number (1-5): 5

Command (m for help): d
Partition number (1-4): 4

至此不需要的分区全都删掉了。然后看看现在的分区,命令是p,显示大致是这样的:


Disk /dev/ndda: 1883 MB, 1883242496 bytes
1 heads, 64 sectors/track, 57472 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Disk identifier: 0x3079ae40

    Device Boot      Start         End      Blocks   Id  System
/dev/ndda1              33       35232     1126400    b  W95 FAT32
Partition 1 does not end on cylinder boundary.
/dev/ndda2           35233       39328      131072    6  FAT16
Partition 2 does not end on cylinder boundary.
/dev/ndda3           39329       42528      102400    6  FAT16
Partition 3 does not end on cylinder boundary.

注意这个42528,是分区3的末尾,我们接下来需要创建一个分区4,从42529开始,命令是n
Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p   #需要创建一个主分区,输入,这里输入p

Selected partition 4
First cylinder (2-57472, default 2): 42529   #这里输入开始
Last cylinder, +cylinders or +size{K,M,G} (42529-57472, default 57472):   #直接回车,默认是到末尾
Using default value 57472

Command (m for help): p #再看一下,已经创建好了。

Disk /dev/ndda: 1883 MB, 1883242496 bytes
1 heads, 64 sectors/track, 57472 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Disk identifier: 0x3079ae40

    Device Boot      Start         End      Blocks   Id  System
/dev/ndda1              33       35232     1126400    b  W95 FAT32
Partition 1 does not end on cylinder boundary.
/dev/ndda2           35233       39328      131072    6  FAT16
Partition 2 does not end on cylinder boundary.
/dev/ndda3           39329       42528      102400    6  FAT16
Partition 3 does not end on cylinder boundary.
/dev/ndda4           42529       57472      478208   83  Linux
Partition 4 does not end on cylinder boundary.

#接下来这里一定要慎重!!如果不确定,可以输入q退出,前面所有的都不算数
Command (m for help): w  #存盘
完了以后
#sync
#init 6 #重启命令

等到重启好了,格式化,挂载:
# mkfs.ext3 /dev/ndda4
# mkdir /media/ndda4
# mount -t ext3 /dev/ndda4 /media/ndda4

如果不想每次启动都这么弄,可以加入fstab
# vi /etc/fstab
增加一行
/dev/ndda4     /media/ndda4    ext3    defaults        0       0
:wq存盘退出,然后
# mount -a
在/media/ndda4下面就可以访问这个分区了。

到这里,手头的V7就多了一个可用的467MB的分区,爽!经过测试,Android已经不能启动了,而CE仍然没有问题 :)

-------------华丽的分割线--------------

接下来再做一些小改造:

1. 把ndda4挂载到/home分区,而不是只有128MB的ndda2
2. 把ndda2格式化成fat32,给WinCE用(后来发现一个问题,不建议这么整,详情见后文)

具体操作:

# mkdir /media/ndda2
# vi /home/fstab
原先home那一行和ndda4的那一行注释掉(就是前面加一个#就可以了),然后加上这两行:
/dev/ndda4      /home           ext3    noatime         0       2
/dev/ndda2      /media/ndda2    vfat    defaults        0       0
:wq存盘退出

然后
# cp -r /home/user /media/ndda4
# sync
# init 6  (重启命令)
重启以后,挂载在/home的就是/dev/ndda4了,空间大多了吧 哇哈哈

然后
# apt-get install dosfstools
安装好以后就有mkfs.vfat和mkfs.msdos了。

# mkfs.vfat /dev/ndda2
格式化成fat32文件系统

# mount -a
这样就挂上去了。

重启到WinCE下面,你会发现,怎么什么设置都没有了,先校准一下屏幕,打开“我的设备”,会发现一个新的NAND分区,里面是原先CE下的设置和文件。也就是说,WinCE在引导的时候,会在找到的第一个可用分区建立自己的目录结构,把那里当作自己的家。。。所以如果你不想把WinCE重新设置一边的话,建议还是不要这么搞了。此外,这样做可能还有一个问题:如果重新刷Ubuntu,可能会导致ndda2被重新格式化成linux分区,然后WinCE就会在NAND(也就是ndda3)上面再搞他自己的帝国了。

同时这也给我们一个启示:要将WinCE恢复原状,根本不需要重新刷机,只要在Ubuntu下挂载ndda3分区,把它全部清空,然后重启进入WinCE,就是全新的了。

OVER。

第四篇预告:重新划分所有分区。这个还真的有点危险了,我要仔细考虑一下是否有需要这么做。其实我是想把UBuntu的根分区扩容。



欢迎扫码关注:




转载请注明出自 ,如是转载文则注明原出处,谢谢:)
RSS订阅地址: https://www.felix021.com/blog/feed.php
sandy
2010-1-10 22:01
我应该告诉过你,flashROM的容量换算和硬盘是不一样的。flashROM仍然是1024进制。容量不足是因为其它原因。
felix021 回复于 2010-1-10 22:03
有点印象。
分页: 1/1 第一页 1 最后页
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   *非必须
网址   电邮   [注册]