diff -urN linux-2.4.17-rc2-initrd_dyn/drivers/block/rd.c linux-2.4.17-rc2-initrd_dyn-fix/drivers/block/rd.c --- linux-2.4.17-rc2-initrd_dyn/drivers/block/rd.c Wed Dec 19 18:38:36 2001 +++ linux-2.4.17-rc2-initrd_dyn-fix/drivers/block/rd.c Wed Dec 19 18:41:03 2001 @@ -873,10 +873,6 @@ { rd_load_image(MKDEV(MAJOR_NR, INITRD_MINOR),rd_image_start,0); } - -#ifdef CONFIG_BLK_DEV_INITRD_DYN - #include "rd.dyn.c" -#endif #endif #endif /* RD_LOADER */ @@ -1030,3 +1026,7 @@ #endif /* BUILD_CRAMDISK */ + +#ifdef CONFIG_BLK_DEV_INITRD_DYN + #include "rd.dyn.c" +#endif diff -urN linux-2.4.17-rc2-initrd_dyn/drivers/block/rd.dyn.c linux-2.4.17-rc2-initrd_dyn-fix/drivers/block/rd.dyn.c --- linux-2.4.17-rc2-initrd_dyn/drivers/block/rd.dyn.c Wed Dec 19 18:38:36 2001 +++ linux-2.4.17-rc2-initrd_dyn-fix/drivers/block/rd.dyn.c Wed Dec 19 18:40:47 2001 @@ -469,8 +469,10 @@ // Continue for as long as we find gzip magic, for multiple tgz's. for(i = 0;;i++) { unsigned char buf[3]; +#if 0 extern unsigned insize; // dc: FIX ME These raise a warning but seem to work ok. extern unsigned inptr; // They keep us from having to change rd.c +#endif printk(KERN_NOTICE "RAMDISK: Extracting root archive[%d]: ",i); --- linux-2.4.16-wt3/drivers/block/rd.dyn.h-orig Fri Dec 21 16:32:12 2001 +++ linux-2.4.16-wt3/drivers/block/rd.dyn.h Fri Dec 21 16:32:30 2001 @@ -109,7 +109,7 @@ extern int sys_chown(const char * filename, uid_t user, gid_t group); extern int sys_mknod(const char * filename, int mode, dev_t dev); extern int sys_mkdir(const char * pathname, int mode); -extern int sys_chdir(const char * filename); +extern long sys_chdir(const char * filename); extern int sys_link(const char * oldname, const char * newname); extern int sys_symlink(const char * oldname, const char * newname); extern int sys_utime(char * filename, struct utimbuf * times);