From: Rob Landley <rob@landley.net>
To: Jeff Dike <jdike@addtoit.com>
Cc: user-mode-linux-devel@lists.sourceforge.net
Subject: Re: [uml-devel] Loopback mounting jffs2 under UML?
Date: Tue, 18 Dec 2007 18:03:25 -0600 [thread overview]
Message-ID: <200712181803.28516.rob@landley.net> (raw)
In-Reply-To: <20071218192911.GA7940@c2.user-mode-linux.org>
On Tuesday 18 December 2007 13:29:11 Jeff Dike wrote:
> On Tue, Dec 18, 2007 at 12:45:23PM -0600, Rob Landley wrote:
> > There's a way to make a loopback device look like a flash device, letting
> > you loopback mount jffs2, but it involves recompiling the kerenel to add
> > support for it, and of course I went "User Mode Linux"... Except
> > that UML disables the flash menu entirely.
> >
> > Suggestions?
>
> I see this in menuconfig:
>
> Symbol: MTD [=n]
> Prompt: Memory Technology Device (MTD) support
> Defined at drivers/mtd/Kconfig:3
> Depends on: BROKEN && HAS_IOMEM
>
> You could try removing the dependencies on BROKEN and HAS_IOMEM and
> see what happens...
Actually, in -rc4 (what I have lying around), the depends is just on HAS_IOMEM, and the include in arch/um/Kconfig is guarded by "if BROKEN".
Building it, I hit the same darn error I've been patching my way around for months:
> CC arch/um/kernel/smp.o
> In file included from include/asm/arch/tlb.h:9,
> from include/asm/tlb.h:4,
> from arch/um/kernel/smp.c:8:
> include/asm-generic/tlb.h: In function ‘tlb_flush_mmu’:
> include/asm-generic/tlb.h:76: error: implicit declaration of function
> ‘release_pages’ include/asm-generic/tlb.h: In function ‘tlb_remove_page’:
> include/asm-generic/tlb.h:105: error: implicit declaration of function
> ‘page_cache_release’ make[1]: *** [arch/um/kernel/smp.o] Error 1
> make: *** [arch/um/kernel] Error 2
Patch that, and then it breaks with:
> CC drivers/mtd/chips/chipreg.o
> In file included from drivers/mtd/chips/chipreg.c:13:
> include/linux/mtd/map.h: In function ‘inline_map_read’:
> include/linux/mtd/map.h:378: error: implicit declaration of function
> ‘__raw_readb’ include/linux/mtd/map.h:380: error: implicit declaration of
> function ‘__raw_readw’ include/linux/mtd/map.h:382: error: implicit
> declaration of function ‘__raw_readl’ include/linux/mtd/map.h:385: error:
> implicit declaration of function ‘__raw_readq’ include/linux/mtd/map.h:388:
> error: implicit declaration of function ‘memcpy_fromio’
> include/linux/mtd/map.h: In function ‘inline_map_write’:
> include/linux/mtd/map.h:406: error: implicit declaration of function
> ‘memcpy_toio’ make[3]: *** [drivers/mtd/chips/chipreg.o] Error 1
> make[2]: *** [drivers/mtd/chips] Error 2
> make[1]: *** [drivers/mtd] Error 2
All I enabled was CONFIG_MTD_BLOCK.
To reproduce what I did, yank these lines:
diff -ru linux-2.6.24-rc4/arch/um/Kconfig linux-temp/arch/um/Kconfig
--- linux-2.6.24-rc4/arch/um/Kconfig 2007-12-03 22:26:10.000000000 -0600
+++ linux-temp/arch/um/Kconfig 2007-12-18 15:28:49.000000000 -0600
@@ -280,9 +280,7 @@
source "drivers/md/Kconfig"
-if BROKEN
source "drivers/mtd/Kconfig"
-endif
#This is just to shut up some Kconfig warnings, so no prompt.
config INPUT
diff -ru linux-2.6.24-rc4/arch/um/kernel/smp.c linux-temp/arch/um/kernel/smp.c
--- linux-2.6.24-rc4/arch/um/kernel/smp.c 2007-12-03 22:26:10.000000000 -0600
+++ linux-temp/arch/um/kernel/smp.c 2007-12-18 15:30:49.000000000 -0600
@@ -5,6 +5,7 @@
#include "linux/percpu.h"
#include "asm/pgalloc.h"
+#include "linux/pagemap.h"
#include "asm/tlb.h"
/* For some reason, mmu_gathers are referenced when CONFIG_SMP is off. */
diff -ru linux-2.6.24-rc4/drivers/mtd/Kconfig linux-temp/drivers/mtd/Kconfig
--- linux-2.6.24-rc4/drivers/mtd/Kconfig 2007-12-03 22:26:10.000000000 -0600
+++ linux-temp/drivers/mtd/Kconfig 2007-12-18 15:24:41.000000000 -0600
@@ -2,7 +2,6 @@
menuconfig MTD
tristate "Memory Technology Device (MTD) support"
- depends on HAS_IOMEM
help
Memory Technology Devices are flash, RAM and similar chips, often
used for solid state file systems on embedded devices. This option
And then configure and build like so:
cat > mini.conf << EOF
CONFIG_BINFMT_ELF=y
CONFIG_HOSTFS=y
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_STDERR_CONSOLE=y
CONFIG_UNIX98_PTYS=y
CONFIG_EXT2_FS=y
CONFIG_MTD=y
CONFIG_MTD_BLOCK=y
EOF
make ARCH=um allnoconfig KCONFIG_ALLCONFIG=mini.conf
make ARCH=um
Rob
--
"One of my most productive days was throwing away 1000 lines of code."
- Ken Thompson.
-------------------------------------------------------------------------
SF.Net email is sponsored by:
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services
for just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
next prev parent reply other threads:[~2007-12-19 1:12 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-12-18 18:45 [uml-devel] Loopback mounting jffs2 under UML? Rob Landley
2007-12-18 19:14 ` Stian Skjelstad
2007-12-18 19:29 ` Jeff Dike
2007-12-19 0:03 ` Rob Landley [this message]
2007-12-19 8:10 ` Geert Uytterhoeven
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200712181803.28516.rob@landley.net \
--to=rob@landley.net \
--cc=jdike@addtoit.com \
--cc=user-mode-linux-devel@lists.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.