I noticed that after boot with an initrd in 2.6.16 the rootfs had:
--w-r-xr-T 1 root root 6241141 Jan 1 1970 initrd.image
Which is caused by a small typo:
diff --git a/init/initramfs.c b/init/initramfs.c
index 637344b..f6fcc60 100644
--- a/init/initramfs.c
+++ b/init/initramfs.c
@@ -518,7 +518,7 @@ void __init populate_rootfs(void)
return;
}
printk("it isn't (%s); looks like an initrd\n", err);
- fd = sys_open("/initrd.image", O_WRONLY|O_CREAT, 700);
+ fd = sys_open("/initrd.image", O_WRONLY|O_CREAT, 0700);
if (fd >= 0) {
sys_write(fd, (char *)initrd_start,
initrd_end - initrd_start);