2011年12月10日星期六

e4rat使用指南

e4rat是个相当好用的小玩意,用了它系统与应用程序的启动速度能增加不少(名字的寓意也就是"Ext4 Reduced Access Time"),似乎是利用缓存预载的方式实现的(有点像Win下的BootVis,不是吗?哈).
虽然我这儿本来系统启动速度就基本不到10s(除了udev以外几乎所有服务都是直接刷过去),但还是随手试了试,方法如下:
1.先装上e4rat包(pacman -S e4rat...这是废话吧,当然yaourt一类的也行),如果你用的init不是/sbin/init而是systemd一类的玩意,别忘了到/etc/e4rat.conf里面改-就是改init那一行.
2.重启动,在grub菜单移到linux的启动项上,然后按e编辑(别担心不会保存,因为这一步顺利的话只需做一次),在linux开头的一行后追加"init=/sbin/e4rat-collect"后按Ctrl-X启动.
3.启动后随便做什么,因为分区信息采集过程要持续120s,时间差不多的时候(比较晚也不要紧,只要超过120s即可)执行ls /var/lib/e4rat/startup.log,看看是否有这文件,等待许久仍然没有的话重复2,3步.
4.先记住了,要进入这一步,你的root必须启用(可以试试su看看能不能进入root,不能就得调整了).确认之后,保存好你的资料,关掉所有程序(没其他意思,主要是怕你的资料丢失),然后终端内(当然最好是退出桌面环境并Ctrl+Alt+1切入控制台,原因同前)执行sudo init 1,这时进入启动级别1-这时是只有root的单用户模式,输入root密码进入后执行e4rat-realloc /var/lib/e4rat/startup.log,等待执行完毕.
5.执行完毕后就是改grub了.很多人说在/boot/grub/grub.cfg直接加入init=/sbin/e4rat-preload,但显而易见的,这样你内核升级的时候grub.cfg重新生成时这部分内容是会被盖掉的,所以较好的(也是我自己用的)做法恰是修改/etc/default/grub,在GRUB_CMDLINE_LINUX_DEFAULT一行后面参数加上" init=/sbin/e4rat-preload"再grub-mkconfig -o /boot/grub/grub.cfg即可.
6.还用说吗?重启体验下飞快的感觉吧; )