I have seen the same problem. Apparently it will only show up if
you have initial ramdisk support compiled in (CONFIG_BLK_DEV_INITRD).
If CONFIG_BLK_DEV_INITRD is set, then some code in fs/super.c is compiled
in. That code contains an 'extern int' reference to 'initmem_freed' as
well as a function declaration for 'change_root', in which 'initmem_freed'
is used.
The problem is that nowhere else reasonable is 'initmem_freed' declared.
(I don't have support for fbcon compiled in.)
# cd /usr/src/kernel-source-2.1.121
# grep initmem_freed `find . -name '*.c'`
./fs/super.c:extern int initmem_freed;
./fs/super.c: if (initmem_freed) {
./drivers/video/fbcon.c: int initmem_freed = 1;
./drivers/video/fbcon.c: if (con != fg_console || initmem_freed || p->type == FB_TYPE_TEXT)
./drivers/video/fbcon.c: fbcon_show_logo(); /* This is protected above by initmem_freed */
However, 2.1.119, which compiles and runs nicely for me, shows the
following.
# cd /usr/src/kernel-source-2.1.119
# grep initmem_freed `find . -name '*.c'`
./fs/super.c:extern int initmem_freed;
./fs/super.c: if (initmem_freed) {
./fs/filesystems.c:int initmem_freed = 0;
./fs/filesystems.c: if (!initmem_freed) {
./fs/filesystems.c: initmem_freed = 1;
./drivers/video/fbcon.c: extern int initmem_freed;
./drivers/video/fbcon.c: if (con != fg_console || initmem_freed || p->type == FB_TYPE_TEXT)
./drivers/video/fbcon.c: fbcon_show_logo(); /* This is protected above by initmem_freed */
So the declaration of 'initmem_freed' and some code related to it seem
to have vanished from 'fs/filesystems.c'
-- Thomas E. Vaughan vaughan@mail.nhn.ou.edu Dept. of Physics & Astronomy home: (405) 366-8721 University of Oklahoma, Norman work: (405) 325-3961x36403- 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.tux.org/lkml/faq.html