kernel 支持 fat32

http://www.goomoon.com/system/linux/6083.html
以前都没遇到这问题,不过今天自动优化了一下编译选项
make localmodconfig
自动删除了一些不必要的模块,于是就不能用了。后来查到上面这篇文章,总之就是
cat .config |grep FAT
# DOS/FAT/NT Filesystems
CONFIG_FAT_FS=y
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=936
CONFIG_FAT_DEFAULT_IOCHARSET=”utf8″
然后在
File systems —>
Native Language Support –>
Simplified Chinese CHARSET (cp936, GB2312)
NLS UTF-8
勾选这两个。
最后就是
make && make modules_instal
cp /usr/src/linux/arch/x86_64/boot/bzImage /boot/bzImage***
重启。(俺都是编进内核而非模块)
以上这个 make 的过程,由于没有执行 make mrproper
相当于只是重新编译了一下 FAT 模块,所以相当快,然后就能用喽。
建议用 exfat。反正俺也不打算用 bsd 喽。
—————————–
这里提到不建议在内核里直接设 fat 为 utf8,
http://www.gentoo.org/doc/zh_cn/utf-8.xml
—————————–
以上自动精简,之前我在 ubuntu 32 位上有试过,效果还是十分可观,得到的压缩包降到十兆以内。
自然还可以再有更高的追求。现在,对比一下前后的效果,就是之前编译一下,要大概一小时多,现在目测大概半小时,这样就比较可接受喽。
/usr/src/ 底下,原先是占盘 >6g,现在是 3.3g。
/lib/modules/ 底下,原先是占盘 1.6g,现在是 360m。
结论就是,真它妈肿大。我记得好几年前我编 aur 的内核,不是 2g 空间就够了吗。
—————————–
至于自动精简模块前,要先做以下的事
持载 fat32,为此不得不做了上文的记录。
mdoprobe loop,挂载 iso,我还把建行盾插上去,自动挂载为光盘。
iptables,我的 kde networkmanager adhoc,需要手动设 ip,并执行相应的 iptabels 规则才行,为此隔天我又重编译了三次内核(后面两次 iptabels 提示 nat 有问题),而且是分不清,最后全部都打勾编进内核。
—————————–
2012.08.03
今天又拿了一下 fedora 17 live kde 来虚拟机跑了一下,然后拿出 .config,稍微配置一下,执行精简,最后的 modules 占盘空间是 336m,没有我其他两个 260-280m 小,主要是为了调 iptables 自动精简,
另外还做的事有,
mount ./*.squashfs /tmp/yes -t squashfs -o loop
usb 摄像头带麦克风,电脑自带摄像头
建行网银盾
其实重编译的原因是 alsa-plugins 重编译不通过,我以前在 funtoo 装的时候可以的,
(重编译 pulseaudio 相关,原来那套容易出现问题,pulseaudio 播放音乐的时候打开 skype (pulseaudio) 就音效坏了),
错误提示 pcm_usb_scream.c error 以为是内核的原因,后来证明不是,后来只好搜了一个 fedora 17 x64 的 rpm,解压放上去应付。
—————————–
2012.08.04
下了一个 funtoo current x64 stage3,然后 chroot 进去之后果然还是能编译通过,于是想到可以用 emerge –buildpkg 或者 –buildpkgonly 来做以后的权宜之计。
可是俺想太多了,接下来用 epm -qa |tee xxx,列出带版本号的所有 stage3 软件,然后用 Excel 替换等方法,得到所有己装软件,用 quickpkg 打包,然后复制到 gentoo /usr/portage/packages 相应文件夹里,并用 emerge -K 去安装这个列表,有些 gcc、glibc、udev 之类的不装,可还是悲剧了阿。
有些几个软件装不过,就剔除掉,但可能装不成功的还是损坏了原文件,还有个 sandbox,直接造成后面所有软件都不能 emerge -K 或者编译安装,-C 掉之后才顺利。可这些一半是后话,因为我重启之后发现系统进不去了,之后动用手段去修才见解到更深入,比如这个 sandbox。
开机的不能进系统的原因是提示
enter runlevel:
no processes lef in this level
以上就是侯选界面,输入 1-5,都是提示这德行,我以前又没遇到过此事,现在老了遇到问题也不是先 google,于是就猜测 openrc、udev 出问题,然后基本上是很废劲地在 win7 64-bit 下装 vmware-workstations 跑 live fedora,制作 live fedora usb,(马了个逼!!!至今不知如何在此系统做个有效的启动盘,真它妈扯淡的软件,用 lili usb creator 和 fedora liveusb creator 以及 不太会用的 dd.exe)
反正就是 live 进去修,无外乎基本上重新 emerge 了 funtoo stage3 里面的基本包列表。可还不行,这才想到搜索,发现是 /etc/inittab 坏了,拷了一个 funtoo 里面的完事。
quickpkg 毕竟是从原系统打包出来,对一下配置可能处理比较有问题。
这还不是最悲剧的。毕竟相比我之前的折腾,这一下午的时间浪费不算啥。还是不能编译通过 alsa-plugins 也不算啥。
重点是之前我用 libreoffice writer 编译我一个记了两年的工作笔记 docx,经常直接 halt 而没退出程序,导致这个文件坏了,能打开但只有几页。然后我之前是在上传在 skydrive 里面,有很多历史版本,我也无所谓,没去赶紧搞定这件事。可是今天进 win7,手贱去看了一下 skydrive 的本地文件夹,发现该文件果然是 office2010 打不开,迷糊地就点了删除。
于是 skydrive 在线网上的历史版本也一同跟着做古了。问一下微软问答的论坛 Microsoft Answers ,回复很快,但跟我说没法子恢复。
退一步说,该文件已经损坏,在本地用 office2010 和网上编辑浏览都不行,网上浏览就提示错误,也不知是能否找回历史版本。后来我发现在线不要点击此文件,而是勾选此文件,右侧有历史版本,应该是可以回退保存。但,反正最后是没有了。
更狠的是,好像我之前只存过 google docs 的备份,后来整个硬盘和移动盘搜索,幸亏地找出两份相同的备档,是 2012.02.13 的,也就是说大概找回了之前一年半的备份。后面我来此地工作的时候,做了非常大批量的记录,都没了。
但还有手写的笔记本。
丢失的东西肯定是有的,就是一些没有写在本子上而是直接敲上去的零散条目。比如集装箱活动房,旧件购买大概 2 万,20平,若是租用生活费 2-3 元/天/平米,诸如此类的,哈哈。
他妈的要慎重阿,一定要多处多次备份。这个文件是我真被 skydrive 的历史记录给麻痹大意了。
—————————–
然后又发现一件恐怖的事,kdm 进入 kde 桌面,terminal 可以 su,但 tty 下 root、user 都是 login incorrect,后来查了一下,以为是 pam 或者 shadow 的问题,最后还是只能依靠上文提的,chroot gentoo stage3,这回只发现了大概 80 来个系统包,基本上是重新编译一遍,发现是 baselayout 包重装一下就好了。
眼看就是一下午加一晚上,操蛋阿。加之我尼马的丢了那个 doc。
如此倒腾了一圈,alsa-plugins 还是编译不通过。
—————————-
2012.08.07 好像是昨天,嗯,extundelete 也没在 ext4 恢复出个半成品之类的丁卵来,在 win7 ntfs 分区,数据恢复软件也没找到引子。

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s