ML 的内核能不能加上 aufs 或者 unionfs 的补丁?
aufs 可以脱离 kernel 编译,但是需要内核加补丁才能编译出来后可以被 insmod ……- sec_perm-2.6.24.patch
For linux-2.6.24 and later.
When you compile aufs as a module and enable CONFIG_SECURITY, this
patch is required.
localhost squashfs # grep CONFIG_SECURITY config-2.6.24.4-smp.mgc
CONFIG_SECURITY=y
CONFIG_SECURITY_NETWORK=y
# CONFIG_SECURITY_NETWORK_XFRM is not set
# CONFIG_SECURITY_CAPABILITIES is not set
# CONFIG_SECURITY_ROOTPLUG is not set
# CONFIG_SECURITY_SELINUX is not set
localhost squashfs #
应该是他导致 aufs 编译后不能 insmod ……
不知道关掉这个 CONFIG_SECURITY 后编译内核这个模块能否成功 insmod……
UnionFS 只有内核补丁,所有的东西已经整合进入内核了……貌似没有办法单独编译。
找个同版本打上补丁,编译成模块后拿出来还是不能 insmod 到 ML自带内核。
[ 本帖最后由 jiangtao9999 于 2008-5-19 08:53 编辑 ] Index: linux-2.6.24-rc3/security/security.c
===================================================================
RCS file: /ext1/sysadm/transparent/repository/linux-2.6.24-rc3/security/security.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- linux-2.6.24-rc3/security/security.c 21 Nov 2007 13:03:11 -0000 1.1
+++ linux-2.6.24-rc3/security/security.c 21 Nov 2007 13:07:55 -0000 1.2
@@ -409,6 +409,7 @@ int security_inode_permission(struct ino
return 0;
return security_ops->inode_permission(inode, mask, nd);
}
+EXPORT_SYMBOL(security_inode_permission);
int security_inode_setattr(struct dentry *dentry, struct iattr *attr)
{
这么简单的 patch ……:shock: 取消掉后重新编译内核一下,再编译 aufs 就能 insmod 鸟~~~ 诡异,aufs 不能挂 sqlzma 的东西。
只要同时挂上他们两个相关的东西,就挂掉……不过 kernel 还正常……
:shock: :evil:
不弄了!他们两个在一起就挂掉! aufs的那个patch是打给aufs本身的吧,我已经打好了2.6.25.4,squashfs/aufs都正常。 aufs 有两个补丁是给内核打的,一个是解决因为一个 symbol 没有引出导致 insmod aufs.ko 会显示 undefined symbol 导致出错。一个是使用 squashfs 以及其他 loopback 设备方式挂载的时候也会有问题的补丁。
第一个问题就是楼顶的补丁,我说的第二个估计就是引起 aufs 和 squash 同时使用会崩溃的补丁。
我用 ML 的 config 编译内核,从来就没有正常编译过……
sejishikong ,你能不能编译一个可以同时工作的 sqlzma + aufs 以及内核的 rpm ??
我估计现在我只要能用上 aufs ,基本上 livUSB 就能成功了。
剩下的就是解决镜像文件设置的问题了。 我的 3 套 Linux 数据全乱了……
只好重新来过了……
基本原理目前明白了。只要 ML 的内核没问题, initrd.img 的脚本只需要改几行而已。如果在 nash 的脚本里,可以增加识别 kernel 命令行参数的东西,以及根据这个脚本分开执行两部分代码,完全可以一个 initrd 实现 liveXXX 和硬盘安装的 initrd 共用~~
不过 nash 支持不支持现在不好说,mash 自带的 mount 貌似不支持 -o loop 设备挂载? 改用busybox
编译服务器上有更新的内核和aufs包。
仓库里也有。
compiz-fusion的包打完了,不过不知道实际用起来怎么样。 :shock:
busybox 可以考虑,不过没有特别方便的那个 mkrootdev 命令吧?
不过可以尝试混合使用……
还有就是,编译服务器是啥……:oops: apt 里找到新的内核了。 linux-live用的mdev。原来2.0的live用的udevstart sejishikong ,你没打上 sqlzma 吧…… :shock:
modules.* 里包含依赖就是好啊……
不需要另外 insmod unlzma 和 sqlzma 了…… :-D 能用~我再做个 squashfs 的镜像文件试试
页:
[1]
2