Ext4 文件系统现在已经达到了一个很火爆的程度,想体验一下的朋友可以和我一起进入短途旅程,因为安装确实简单。
英文原版出处,暂时不可考,HongMayi 将其翻译,并完整化,转载请保留此段文字。
在 ext4 文件系统下安装 Debian
1、全新安装 Debian Etch 或者 Lenny。
2、我们安装全新系统的时候,需要一个临时的根目录,安装后我们会删除这个临时根(temporal ext3 root)。
3、准备一个将来是用的真正的根目录(real root)。
4、假定我们的分区表为
/dev/sda1 /boot
/dev/sda2 (这个就是将来真正的根目录 real root)
/dev/sda3 swap
/dev/sda4 / (temporal ext3 root)你可以按照自己的喜好分区,我这里为了测试,简单的将除了启动分区以外的所有目录都分在根分区下
5、我们需要一个支持 ext4 的内核,2.6.28.2 (2.6.28.x 或者更高的版本都可以)
6、需要下载 e2fsprogs,我们可以从 Debian Lenny 的源里面下载,包信息如下
e2fsprogs 1.41.3-1 ext2/ext3/ext4 file system utilities下载地址
http://ftp.tw.debian.org/debian/pool/main/e/e2fsprogs/
http://ftp.tw.debian.org/debian/pool/main/e/e2fsprogs/e2fsprogs_1.41.3-1.dsc或者直接从命令行下载并安装
dpkg-source -x e2fsprogs_1.41.3-1.dsc7、进入 e2fsprogs-1.41.3 目录
cd e2fsprogs-1.41.38、编辑控制文件
vi debian/control
删除所有 dbg 包的入口9、编辑规则文件
vi debian/rules 找到
# debug package stuff这行,并编辑,添加 debug 目录
# debug package stuff
rm -rf ${udebdir}/usr
rm -rf ${blkidudebdir}/usr
rm -rf ${uuidudebdir}/usr
mkdir -p ${debugdir}/usr/lib
mkdir -p ${maindir}/usr/lib/debug
mv ${maindir}/usr/lib/debug ${debugdir}/usr/lib
rm -rf ${maindir}/usr/lib/debug
mkdir -p ${debugdir}/usr/lib/debug
mkdir -p ${e2fsckstaticdir}/usr/lib/debug/sbin
touch ${e2fsckstaticdir}/usr/lib/debug/sbin/aa
mv ${e2fsckstaticdir}/usr/lib/debug/sbin/* \
${debugdir}/usr/lib/debug
rm -rf ${e2fsckstaticdir}/usr/lib
mkdir -p ${uuidruntimedbgdir}/usr/lib
mkdir -p ${uuidruntimedir}/usr/lib/debug
mv ${uuidruntimedir}/usr/lib/debug ${uuidruntimedbgdir}/usr/lib
rmdir ${uuidruntimedir}/usr/lib
mkdir -p ${libext2dbgdir}/usr/lib
mkdir -p ${libext2dir}/usr/lib/debug
mv ${libext2dir}/usr/lib/debug ${libext2dbgdir}/usr/lib
rmdir ${libext2dir}/usr/lib
mkdir -p ${libcomerrdbgdir}/usr/lib
mkdir -p ${libcomerrdir}/usr/lib/debug
mv ${libcomerrdir}/usr/lib/debug ${libcomerrdbgdir}/usr/lib
rmdir ${libcomerrdir}/usr/lib
mkdir -p ${libssdbgdir}/usr/lib
mkdir -p ${libssdir}/usr/lib/debug
mv ${libssdir}/usr/lib/debug ${libssdbgdir}/usr/lib
rmdir ${libssdir}/usr/lib
mkdir -p ${libuuiddbgdir}/usr/lib
mkdir -p ${libuuiddir}/usr/lib/debug
mv ${libuuiddir}/usr/lib/debug ${libuuiddbgdir}/usr/lib
rmdir ${libuuiddir}/usr/lib
mkdir -p ${libblkiddbgdir}/usr/lib
mkdir -p ${libblkiddir}/usr/lib/debug
mv ${libblkiddir}/usr/lib/debug ${libblkiddbgdir}/usr/lib
rmdir ${libblkiddir}/usr/lib
编辑好的文件如下,有人已经提供下载了
http://undead.sikazozo.org/control_and_rules.tgz10、开始切换根目录
a、安装 debian/rules 下面的二进制包
dpkg -i ../*.deb b、格式化已经准备好的 real root
mkfs.ext4 /dev/sda2 c、挂载其到临时目录 /mnt
mount -t ext4 /dev/sda2 /mnt d、进入 mnt 目录,并创建 boot mnt media proc 目录
cd /mnt; mkdir {boot,mnt,media,proc} e、将临时根下面的文件复制到 /mnt 目录
rsync -avP --exclude "/boot" --exclude "/proc" --exclude "/mnt" --exclude "/media" / . f、编辑分区表挂载文件
vi /mnt/etc/fstab
将原始根
/dev/sda4 / ext3 defaults,errors=remount-ro 0 1
转换为
/dev/sda2 / ext4 defaults,errors=remount-ro 0 1
并将其设置为 ext4 分区格式
g、编辑 grub 启动文件
vi /boot/grub/menu.lst
将默认的
kopt=root=/dev/sda4
转换成
kopt=root=/dev/sda2 rootfstype=ext4h、更新 grub
/usr/sbin/update-grub 11、重新启动,并将原来的 /dev/sda4 删除即可
现在开始体验强大的 ext4 吧