Anyway, I noticed that if you're not very careful with the kernel config
parameters, you end up in a situation where the root device is *not*
/dev/nfs, yet the IP autoconfiguration still fails because it's configured
into the kernel, and there is no nfsaddrs= parameter, only ip=. So, this
is a quick hack (very probably somewhat incorrect) that 'fixes' the check.
I grabbed the check for the nfsroot stuff from fs/nfs/nfsroot.c I believe,
but it looks very iffy for this purpose.
Implied FIXME: the check for an NFS ROOT_DEV is very very very suspect.
<drumroll>Presenting....</drumroll>
Omega's first kernel patch! <clapping cheering=unlikely>
*** linux-2.1.115/net/ipv4/ipconfig.c Sun Jul 26 23:35:57 1998
--- linux-2.1.115.omega/net/ipv4/ipconfig.c Mon Aug 24 15:29:45 1998
***************
*** 1037,1043 ****
*/
if (ic_myaddr == INADDR_NONE ||
#ifdef CONFIG_ROOT_NFS
! root_server_addr == INADDR_NONE ||
#endif
(ic_first_dev && ic_first_dev->next)) {
#ifdef CONFIG_IP_PNP_DYNAMIC
--- 1037,1044 ----
*/
if (ic_myaddr == INADDR_NONE ||
#ifdef CONFIG_ROOT_NFS
! ((MAJOR(ROOT_DEV) == UNNAMED_MAJOR) && /* root on nfs */
! root_server_addr == INADDR_NONE) || /* no root server */
#endif
(ic_first_dev && ic_first_dev->next)) {
#ifdef CONFIG_IP_PNP_DYNAMIC
Erik Walthinsen <omega@cse.ogi.edu> - Staff Programmer @ OGI
Quasar project - http://www.cse.ogi.edu/DISC/projects/quasar/
__
/ \ SEUL: Simple End-User Linux - http://www.seul.org/
| | M E G A Helping Linux become THE choice
_\ /_ for the home or office user
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html