[
  [
    "linux-2.6.23/fs/nfs/nfsroot.c.orig", 
    "linux-2.6.23/fs/nfs/nfsroot.c", 
    [
      "--- linux-2.6.23/fs/nfs/nfsroot.c.orig", 
      "+++ linux-2.6.23/fs/nfs/nfsroot.c", 
      "@@ -86,9 +86,11 @@", 
      "#include <linux/root_dev.h>", 
      "#include <net/ipconfig.h>", 
      "#include <linux/parser.h>", 
      "+#include <linux/delay.h>", 
      "", 
      "/* Define this to allow debugging output */", 
      "-#undef NFSROOT_DEBUG", 
      "+//#undef NFSROOT_DEBUG", 
      "+#define NFSROOT_DEBUG", 
      "#define NFSDBG_FACILITY NFSDBG_ROOT", 
      "", 
      "/* Default path we try to mount. \"%s\" gets replaced by our IP address */", 
      "@@ -459,6 +461,30 @@", 
      "proto = (nfs_data.flags & NFS_MOUNT_TCP) ? IPPROTO_TCP : IPPROTO_UDP;", 
      "", 
      "if (nfs_port < 0) {", 
      "+\t\tport = -1;", 
      "+\t\twhile (port < 0) {", 
      "+\t\t\tport = root_nfs_getport(NFS_PROGRAM, nfsd_ver, proto);", 
      "+\t\t\tif (port < 0) {", 
      "+\t\t\t\tprintk(KERN_ERR \"Root-NFS: Unable to get nfsd port number from server, trying again...\\n\");", 
      "+\t\t\t\tmsleep(1000);", 
      "+\t\t\t}", 
      "+\t\t}", 
      "+\t\tprintk(KERN_DEBUG \"Root-NFS: Portmapper on server returned %d as nfsd port\\n\", port);", 
      "+\t\tnfs_port = port;", 
      "+\t}", 
      "+\tport = -1;", 
      "+\twhile (port < 0) {", 
      "+\t\tport = root_nfs_getport(NFS_MNT_PROGRAM, mountd_ver, proto);", 
      "+\t\tif (port < 0) {", 
      "+\t\t\tprintk(KERN_ERR \"Root-NFS: Unable to get mountd port number from server, trying again...\\n\");", 
      "+\t\t\tmsleep(1000);", 
      "+\t\t}", 
      "+\t}", 
      "+\tmount_port = port;", 
      "+\tprintk(KERN_DEBUG \"Root-NFS: mountd port is %d\\n\", port);", 
      "+\treturn 0;", 
      "+", 
      "+\tif (nfs_port < 0) {", 
      "if ((port = root_nfs_getport(NFS_PROGRAM, nfsd_ver, proto)) < 0) {", 
      "printk(KERN_ERR \"Root-NFS: Unable to get nfsd port \"", 
      "\"number from server, using default\\n\");"
    ]
  ], 
  [
    "linux-2.6.23/init/do_mounts.c.orig", 
    "linux-2.6.23/init/do_mounts.c", 
    [
      "--- linux-2.6.23/init/do_mounts.c.orig", 
      "+++ linux-2.6.23/init/do_mounts.c", 
      "@@ -394,6 +394,9 @@", 
      "{", 
      "#ifdef CONFIG_ROOT_NFS", 
      "if (MAJOR(ROOT_DEV) == UNNAMED_MAJOR) {", 
      "+\t\twhile(!mount_nfs_root())", 
      "+\t\t\tmsleep(1000);", 
      "+\t\treturn;", 
      "if (mount_nfs_root())", 
      "return;", 
      ""
    ]
  ]
]