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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox