linux-um archives
 help / color / mirror / Atom feed
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

  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