![]() |
Boot from MMC2 Failed
Can anyone help me troubleshoot this error message? After switching to MMC boot, I get "Boot from mmc2 failed, booting from flash."
N800 running latest firmware. 8GB internal, 2GB external. I reimaged before beginning the dual boot procedure. Used the updated boot menu from genius fanoush. Used gnutar. Did not encounter any unusual error messages throughout. Used Schmot's instructions (except for the size of partitions) for setting up the partitions. Used nmacleod's handy dandy nupgrade to do the rest. TIA k |
Re: Boot from MMC2 Failed
I found this while having a similar problem and even reflashed my device to try and fix it.. but for me, the solution was... to edit the bootmenu.conf file and add options both memory cards. Oops. I had the good sense to copy the cloned partition beforehand onto my laptop, but eh, what the heck, it's a new version of Nokia's firmware anyway.
Key point is, for me, even though the "mount" command showed (and still shows!) the partition I had formatted as "/dev/mmcblk0p2", the bootmenu.conf has to have it as "/dev/mmcblk1p2". (This may have been mentioned by others before, but I missed it if so.) |
Re: Boot from MMC2 Failed
Quote:
1. Did you really create and format ext2 partition for the image ? 2. Did you tar correctly to /dev/mmcblk0p2? 3. check the bootmenu.conf item for the image. Are ext2 and mbcache modules loaded? Is the selection item "mmcblk0p2" (for mmc2 the second partition)? |
Re: Boot from MMC2 Failed
try switching cards and just follow Milhouse's simplified instructions... I was unable to get my 8gb card to work, but didn't have any problems with my 4gb or the 2gb that I just did for my friend. don't know what or why it was like that but I have been booting from my 4gb ever since with no problems... well at least when I remember to hold the menu button
|
Re: Boot from MMC2 Failed
Quote:
Apparantly most success are from cloning from a working clone SD, instead of cloning directly from N8x0. And I also success with 1G, 2G, and 4G and failed 8G. Now I have another 8G and a 16G card, will try later this week. bun |
Re: Boot from MMC2 Failed
Quote:
I still think you do something wrong when partitioning, formating or cloning but don't know what it is. But if you want to track this down you can boot into usb network recovery mode and try mounting it by hand from initfs environment and see what is wrong. Once you login over usb via ssh or telnet try this: 1. insert each module you have in MENU_X_MODULES item (normally mbcache ext2) Code:
insmod /lib/modules/2.6.*/mbcache.ko mount -t FSTYPE -o FSOPTIONS /dev/DEVICE /mnt/new_root DEVICE is partition name in MENU_X_DEVICE (mmcblk0p2) FSTYPE is filesystem name in MENU_X_FSTYPE (ext2) FSOPTIONS is mount options (noatime) with default settings in bootmenu.sh for second partition the line should be Code:
mount -t ext2 -o noatime /dev/mmcblk0p2 /mnt/new_root The 'boot from xx failed' is printed when mount fails or in cannot find executable /mnt/new_root/usr/sbin/init EDIT: for details about usb networking recovery mode please read included README.txt in initfs_flasher directory Also when the mount fails post output of 'cat /proc/partitions' |
Re: Boot from MMC2 Failed
I haven't had any problems cloning to an an 8GB memory card with 7.5GB VFAT and 0.5GB ext2 partitions (either on OS2007 or OS2008, on N800 and N810).
So 8GB SD cards definately can be booted from, I'm not sure why some of you are having problems though - the obvious answer would be that the partitioning has gone awry. |
Re: Boot from MMC2 Failed
Make sure you are using the right partition information in all places. I don't know how the internal flash is numbered on the 810 but I boot from external flash on n800. I have one partition on the device.
For this use /dev/mmcblk1p1 You must also make sure your boot menu is set up to use the same one as well. The error message is showing that you likely did not point the boot menu to the right device. |
Re: Boot from MMC2 Failed
/dev/mmcblk0 is always the first memory card:
/dev/mmcblk1 is the second memory card:
When cloning on 770 and N800, my choice is to clone the OS to /dev/mmcblk0p2 (ie. second partition on the first memory card aka the internal card). When cloning on N810, my choice is to clone to /dev/mmcblk1p2 (ie. second partition on the second memory card aka the external card). The above advice has worked for me every time. My updated cloning script should automatically identify and use the correct memory card and partition (internal or external). There is a bug in the kernel which Fanoush referenced elsewhere which causes the memory card devices to be incorrectly identified which is annoying so be careful when viewing /proc/partitions as it gives bogus information. :) |
Re: Boot from MMC2 Failed
@fanoush
the output of the commands from usb recovery mode is as follows: bash: open: command not found bt ~ # telnet telnet> open 192.168.10.1 Trying 192.168.10.1... Connected to 192.168.10.1. Escape character is '^]'. BusyBox v1.00 (2007.12.07-09:22+0000) Built-in shell (ash) Enter 'help' for a list of built-in commands. / # insmod /lib/modules/2.6.*/mbcache.ko / # insmod /lib/modules/2.6.*/ext2.ko / # mount -t ext2 -o noatime /dev/mmcblk0p2 /mnt/new_root mount: Mounting /dev/mmcblk0p2 on /mnt/new_root failed: Invalid argument / # ls -la /mnt/new_root drwxr-xr-x 2 root root 0 Dec 7 09:31 . drwxr-xr-x 3 root root 0 Dec 7 09:31 .. / # ls -la /mnt/new_root/usr/sbin ls: /mnt/new_root/usr/sbin: No such file or directory / # cat /proc/partitions major minor #blocks name 31 0 128 mtdblock0 31 1 384 mtdblock1 31 2 2048 mtdblock2 31 3 2048 mtdblock3 31 4 257536 mtdblock4 254 0 8067072 mmcblk0 254 1 5119999 mmcblk0p1 254 2 2947072 mmcblk0p2 254 8 1997312 mmcblk1 254 9 1023999 mmcblk1p1 254 10 973312 mmcblk1p2 i am trying to boot from mmc2 which is 8gb partitioned as 3gb ext2 5gb. fat32 . I have cloned from the internal flash and booting fails. Any ideas of what i have done wrong(partition, cloning or something else) looking at the outputs ? |
Re: Boot from MMC2 Failed
hmm, so the mount failed. when it fails, can you paste end of kernel log? Run 'dmesg' to see it. I wonder if ext2 driver in kernel prints why it doesn't like it. also please run 'cat /proc/modules' to verify that ext2 is in kernel.
|
Re: Boot from MMC2 Failed
You may also try to run same insmod and mount commands when booted normally from internal flash and then chrooting to initfs (as root)
Code:
# chroot /mnt/initfs |
Re: Boot from MMC2 Failed
the out of dmesg is as follows:
bt ~ # telnet telnet> open 192.168.10.1 Trying 192.168.10.1... Connected to 192.168.10.1. Escape character is '^]'. BusyBox v1.00 (2007.12.07-09:22+0000) Built-in shell (ash) Enter 'help' for a list of built-in commands. / # insmod /lib/modules/2.6.*/mbcache.ko / # insmod /lib/modules/2.6.*/ext2.ko / # mount -t ext2 -o noatime /dev/mmcblk0p2 /mnt/new_root mount: Mounting /dev/mmcblk0p2 on /mnt/new_root failed: Invalid argument / # dmesg ck" [ 1.062500] Disabling unused clock "gpt4_fck" [ 1.062500] Disabling unused clock "gpt4_ick" [ 1.062500] Disabling unused clock "gpt3_fck" [ 1.062500] Disabling unused clock "gpt3_ick" [ 1.062500] Disabling unused clock "gpt2_fck" [ 1.062500] Disabling unused clock "gpt2_ick" [ 1.062500] Disabling unused clock "dss2_fck" [ 1.062500] Bootup reason: sw_rst [ 1.062500] OMAP GPIO switch handler initializing [ 1.062500] headphone (GPIO 107) is now disconnected [ 1.062500] cam_turn (GPIO 12) is now inactive [ 1.062500] cam_act (GPIO 95) is now inactive [ 1.062500] bat_cover (GPIO 110) is now closed [ 1.062500] menelaus 1-0072: Setting voltage 'VMEM' to 1500 mV (reg 0x0a, val 0xb4) [ 1.078125] menelaus 1-0072: Setting voltage 'VIO' to 2500 mV (reg 0x0a, val 0xb8) [ 1.125000] omap24xxcam omap24xxcam: sensor is TCM825x [ 1.156250] menelaus 1-0072: Shutting off 'VIO' [ 1.171875] menelaus 1-0072: Shutting off 'VMEM' [ 1.187500] omap24xxcam omap24xxcam: registered device video0 [v4l2] [ 1.242187] VFS: Mounted root (jffs2 filesystem) readonly. [ 1.242187] Freeing init memory: 124K [ 1.265625] mmc0: clock 400000Hz busmode 2 powermode 2 cs 0 Vdd 18 width 0 timing 0 [ 1.273437] mmc0: clock 400000Hz busmode 2 powermode 2 cs 0 Vdd 18 width 0 timing 0 [ 1.281250] mmc0: clock 400000Hz busmode 2 powermode 2 cs 0 Vdd 18 width 2 timing 0 [ 1.281250] mmc0: clock 400000Hz busmode 2 powermode 2 cs 0 Vdd 18 width 2 timing 2 [ 1.281250] mmc0: clock 48000000Hz busmode 2 powermode 2 cs 0 Vdd 18 width 2 timing 2 [ 1.601562] mmcblk0: mmc0:0002 SD 8067072KiB [ 1.601562] mmcblk0:mmc0: clock 48000000Hz busmode 2 powermode 2 cs 0 Vdd 18 width 2 timing 2 [ 1.601562] p1 p2 [ 1.742187] mmc0: clock 400000Hz busmode 1 powermode 2 cs 0 Vdd 18 width 2 timing 2 [ 1.742187] mmci-omap mmci-omap.1: command timeout (CMD8) [ 1.750000] mmc0: clock 400000Hz busmode 2 powermode 2 cs 0 Vdd 18 width 2 timing 2 [ 1.750000] mmc0: clock 48000000Hz busmode 2 powermode 2 cs 0 Vdd 18 width 2 timing 2 [ 1.750000] mmc1: clock 0Hz busmode 1 powermode 1 cs 0 Vdd 21 width 0 timing 0 [ 1.750000] menelaus 1-0072: Setting voltage 'VDCDC3' to 3300 mV (reg 0x07, val 0x39) [ 1.765625] mmc1: clock 400000Hz busmode 1 powermode 2 cs 0 Vdd 21 width 0 timing 0 [ 1.765625] mmc1: clock 400000Hz busmode 1 powermode 2 cs 1 Vdd 21 width 0 timing 0 [ 1.765625] mmc1: clock 400000Hz busmode 1 powermode 2 cs 0 Vdd 21 width 0 timing 0 [ 1.773437] mmci-omap mmci-omap.1: command timeout (CMD8) [ 1.773437] mmci-omap mmci-omap.1: command timeout (CMD8) [ 1.773437] mmc1: clock 400000Hz busmode 1 powermode 2 cs 0 Vdd 15 width 0 timing 0 [ 1.773437] menelaus 1-0072: Setting voltage 'VDCDC3' to 2800 mV (reg 0x07, val 0x29) [ 1.789062] mmc1: clock 400000Hz busmode 1 powermode 2 cs 1 Vdd 15 width 0 timing 0 [ 1.789062] mmc1: clock 400000Hz busmode 1 powermode 2 cs 0 Vdd 15 width 0 timing 0 [ 1.789062] mmci-omap mmci-omap.1: command timeout (CMD8) [ 1.906250] mmc1: clock 400000Hz busmode 2 powermode 2 cs 0 Vdd 15 width 0 timing 0 [ 1.906250] mmc1: clock 400000Hz busmode 2 powermode 2 cs 0 Vdd 15 width 0 timing 0 [ 1.914062] mmc1: clock 400000Hz busmode 2 powermode 2 cs 0 Vdd 15 width 2 timing 0 [ 1.914062] mmc1: clock 400000Hz busmode 2 powermode 2 cs 0 Vdd 15 width 2 timing 2 [ 1.914062] mmc1: clock 48000000Hz busmode 2 powermode 2 cs 0 Vdd 15 width 2 timing 2 [ 1.921875] mmc1: clock 48000000Hz busmode 2 powermode 2 cs 0 Vdd 15 width 2 timing 2 [ 1.921875] mmcblk1: mmc1:b368 SD 1997312KiB [ 1.921875] mmcblk1: p1 p2 [ 3.578125] ether gadget: using random self ethernet address [ 3.578125] ether gadget: using random host ethernet address [ 3.593750] usb0: Ethernet Gadget, version: May Day 2005 [ 3.593750] usb0: using musb_hdrc, OUT ep1out IN ep1in STATUS ep2in [ 3.593750] usb0: MAC 96:b8:49:63:9e:ad [ 3.593750] usb0: HOST MAC 4e:21:69:a6:b5:83 [ 3.593750] usb0: RNDIS ready [ 3.593750] musb_hdrc musb_hdrc: MUSB HDRC host driver [ 3.609375] /home/maemo/kernel/kernel-source-rx-34-2.6.21.0/drivers/usb/core/inode.c: creating file 'devices' [ 3.609375] /home/maemo/kernel/kernel-source-rx-34-2.6.21.0/drivers/usb/core/inode.c: creating file '001' [ 3.609375] musb_hdrc musb_hdrc: new USB bus registered, assigned bus number 1 [ 3.609375] musb_hdrc musb_hdrc: supports USB remote wakeup [ 3.609375] usb usb1: default language 0x0409 [ 3.617187] usb usb1: new device strings: Mfr=3, Product=2, SerialNumber=1 [ 3.617187] usb usb1: Product: MUSB HDRC host driver [ 3.617187] usb usb1: Manufacturer: Linux 2.6.21-omap1 musb-hcd [ 3.617187] usb usb1: SerialNumber: musb_hdrc [ 3.617187] usb usb1: uevent [ 3.632812] usb usb1: usb_probe_device [ 3.648437] usb usb1: configuration #1 chosen from 1 choice [ 3.648437] usb usb1: adding 1-0:1.0 (config #1, interface 0) [ 3.648437] usb 1-0:1.0: uevent [ 3.664062] hub 1-0:1.0: usb_probe_interface [ 3.664062] hub 1-0:1.0: usb_probe_interface - got id [ 3.664062] hub 1-0:1.0: USB hub found [ 3.664062] hub 1-0:1.0: 1 port detected [ 3.664062] hub 1-0:1.0: standalone hub [ 3.664062] hub 1-0:1.0: individual port power switching [ 3.664062] hub 1-0:1.0: no over-current protection [ 3.664062] hub 1-0:1.0: Single TT [ 3.664062] hub 1-0:1.0: TT requires at most 8 FS bit times (666 ns) [ 3.664062] hub 1-0:1.0: power on to power good time: 10ms [ 3.671875] hub 1-0:1.0: 200mA bus power budget for each child [ 3.671875] hub 1-0:1.0: local power source is good [ 3.671875] hub 1-0:1.0: enabling power on all ports [ 3.671875] /home/maemo/kernel/kernel-source-rx-34-2.6.21.0/drivers/usb/musb/tusb6010.c musb_platform_enable: dma not reactivated [ 3.781250] hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000 [ 3.812500] /home/maemo/kernel/kernel-source-rx-34-2.6.21.0/drivers/usb/core/inode.c: creating file '001' [ 5.812500] hub 1-0:1.0: hub_suspend [ 5.812500] usb usb1: usb auto-suspend [ 6.601562] mmc0: clock 48000000Hz busmode 2 powermode 3 cs 0 Vdd 18 width 2 timing 2 [ 6.601562] menelaus 1-0072: Setting voltage 'VMMC' to 3000 mV (reg 0x0a, val 0xb8) [ 6.921875] mmc1: clock 48000000Hz busmode 2 powermode 3 cs 0 Vdd 15 width 2 timing 2 [ 6.921875] menelaus 1-0072: Setting voltage 'VDCDC3' to 2800 mV (reg 0x07, val 0x29) [ 13.687500] tusb_otg_ints 743: Forcing disconnect (no interrupt) [ 13.828125] musb_stage2_irq 817: SUSPEND (b_idle) devctl 91 power e0 [ 14.195312] tusb_otg_ints 743: Forcing disconnect (no interrupt) [ 15.429687] musb_stage2_irq 817: SUSPEND (b_idle) devctl 99 power e0 [ 15.859375] musb_stage0_irq 669: BUS RESET as b_idle [ 15.976562] musb_stage0_irq 669: BUS RESET as b_peripheral [ 16.101562] musb_hdrc periph: enabled ep2in for int IN, dma, maxpacket 16 [ 16.101562] usb0: high speed config #1: 100 mA, Ethernet Gadget, using CDC Ethernet [ 16.101562] musb_hdrc periph: enabled ep1in for bulk IN, dma, maxpacket 512 [ 16.101562] musb_hdrc periph: enabled ep1out for bulk OUT, dma, maxpacket 512 [ 16.101562] musb_hdrc periph: enabled ep2in for int IN, dma, maxpacket 16 [ 76.585937] mmc0: clock 48000000Hz busmode 2 powermode 2 cs 0 Vdd 18 width 2 timing 2 [ 76.593750] menelaus 1-0072: Setting voltage 'VMMC' to 3000 mV (reg 0x0a, val 0xb8) [ 76.609375] mmc0: clock 48000000Hz busmode 2 powermode 2 cs 0 Vdd 18 width 2 timing 2 [ 76.710937] mmcblk0: error 1 transferring data [ 76.710937] end_request: I/O error, dev mmcblk0, sector 10240002 [ 76.710937] EXT2-fs: unable to read superblock [ 81.710937] mmc0: clock 48000000Hz busmode 2 powermode 3 cs 0 Vdd 18 width 2 timing 2 [ 81.710937] menelaus 1-0072: Setting voltage 'VMMC' to 3000 mV (reg 0x0a, val 0xb8) / # cat /proc/modules ext2 51080 0 - Live 0xbf00b000 mbcache 7108 1 ext2, Live 0xbf008000 g_ether 26416 0 - Live 0xbf000000 / # Also insmod gave the same result in normal root shell and after # chroot /mnt/initfs which is 'File exists'. |
Re: Boot from MMC2 Failed
Strange thing is that in usb network recovery mode i inserted my 2 gb mmc in the internal slot, telneted to 192.168.10.1 and i ran the below commands
/ # insmod /lib/modules/2.6.*/mbcache.ko / # insmod /lib/modules/2.6.*/ext2.ko / # mount -t ext2 -o noatime /dev/mmcblk0p2 /mnt/new_root and all executed without errors then i esc back to the boot menu and switched the 2gb with 8 gb mmc and selected to boot from mmc2 in the menu and 8gb mmc booted without failure. then i rebooted the tablet and faced again my nightmare boot failed error. It means that my clone is not corrupted nor wrong but somehow it can not mount.... |
Re: Boot from MMC2 Failed
ok so this is the problem
Code:
[ 76.710937] mmcblk0: error 1 transferring data |
Re: Boot from MMC2 Failed
Quote:
|
Re: Boot from MMC2 Failed
I did not have any problems with 8G cards but could not boot with the new 16 GB. The SD formatter solved the problem!
|
Re: Boot from MMC2 Failed
|
Re: Boot from MMC2 Failed
Quote:
For my N810 I took out my external memory card while doing the cloning process. Then I booted from the internal memory card, second partition ext2 formated - everything worked as expected. But then I plugged in the external memory card and rebooted and it stopped working, it always said: "Boot from mmc2 failed, booting from flash." I checked the filesystem and was able to mount the partition but booting didn't work. So I included the troubleshooting boot sequence tips and got no output when selecting mmc2 -> it just went booting from flash. After numerous recloning runs and reflashing the initfs :( I modified the bootmenu.sh and reflashed the initfs again. Below is what I added (MENU_4...) and what makes the N810 boot from the mmcblk0p2 partition although it is the mmcblk1p2 partition in the boot setup -> maybe a bug ? :confused: Code:
MENU_1_NAME="Internal flash" |
Re: Boot from MMC2 Failed
Quote:
|
All times are GMT. The time now is 10:13. |
vBulletin® Version 3.8.8