![]() |
Re: Booting from MMC on N800 Now Available!!
yes, mtd3 is initfs, mtd2 kernel, mtd1 config partition (where flasher flags - r&d mode, lifeguard reset flag,.... and possibly also device specific configuration like wlan and bt MAC address are stored). mtd0 is bootloader (maybe few layers of them)
boot process is 1. some early boot loader directly on omap chip with nand flash chip driver 2. one or more bootloaders in /dev/mtd0 which initialize higher level hardware (video chip at least) and provides flashing support over USB and in normal situation just loads linux kernel from mtd2 3. linux kernel (with jffs2 driver) with root device set to mtd3 (=initfs) 4. /linuxrc in (uclibc based) initfs which starts dsme, bme (battery management) and loads firmware to wlan and bt chips and finally reads root device from config partition, mounts it, then changes root to it via pivot_root (i.e. exchages / and /mnt/initfs mount points) and runs /sbin/init 5. /sbin/init runs normal /etc/rc* scripts what is possible is to hack kernel in mtd2 to 1. boot something else then initfs in mtd3 (i.e. directly some mmc partition) - looks like the easy one and/or 2. allow to load and jump to different kernel (from mmc) - this is the harder one but already implemented in LAB (Linux As Bootloader) in handhelds.org CVS |
Re: Booting from MMC on N800 Now Available!!
Hi can anyone tell me if it is possible to repartition SD/MMC card in the N800 if you do not have linux PC and/or a card reader. I have tried following
http://maemo.org/maemowiki/ExtendedR...ht=%28fdisk%29 and although cfdisk is not in the same place it does not work. As I have stated before I am new to Linux and am learning slowly. I have searched here and the web but cannot find a useable solution so far. Thanks in advance for any pointers. Regards Arch |
Re: Booting from MMC on N800 Now Available!!
Can't be done on the N800 as cfdisk was only ever ported to OS 2005. You'll need a Linux PC and cfdisk or sfdisk to partition the SD/MMC cards. As long as you have access to a PC, even a Windows PC, your best bet would be to download a LiveCD ISO (eg. DSL - Damned Small Linux) and boot from it. You may also find the LiveCD useful when it comes to flashing your N800 with updated firmware as the Linux flasher has far more functionality than the Windows flasher.
|
Re: Booting from MMC on N800 Now Available!!
Well you could get by w/o the card reader, you can use your N800 as a reader when your card isn't inuse. And I recommend using a LiveDVD linux if you are a PC guy. The true is you can get by w/ a LiveCD, but something might came up short w/ it. Also, if you an old HD laying around, and your PC is decent enough, grab a USB chassis for like $15-20 buck, and slap the linux on there, compile your own kernel, and voila, you got your own external USB HD w/ linux on it.
|
Re: Booting from MMC on N800 Now Available!!
Quote:
This may work (have not tried) http://sebas-nokia770.blogspot.com/2...ithout-pc.html |
Re: Booting from MMC on N800 Now Available!!
Quote:
1. you have to boot off the flash, can't boot off the mmc w/ that. 2. the card cannot be inuse, that mean, no swap partition or swap file on the card either. Then, the system will work. How would I know, well at least it will work on n800, cuz I don't have an SDHC card reader. But I manage to get the setup on my 8GB SDHC card. On windows, you might only see the fat partition, but on linux, you see the whole thing. w/ 1 problem though, after any change to the partition, you have to reboot your nokia IT unit, otherwise the system won't see the change. |
Re: Booting from MMC on N800 Now Available!!
Quote:
http://www.internettablettalk.com/fo...disk#post20172 |
Re: Booting from MMC on N800 Now Available!!
Quote:
Yes, I wrote this link: http://sebas-nokia770.blogspot.com/2...ithout-pc.html But it only explains how to do the partition. It doesn't go on with the rootfs mounting on the mmc card. If you wait till tomorrow, I'll update the WIKI so that everyone can extend their rootfs to the mmc (as I've already done on my 770) without PC and without complicated tricks. Everything is based on excellent Fanoush's binaries and procedure. Wait just one day more and you'll be able to safely complete the whole process. I haven't just had time enough to update the Wiki. Besides, I was waiting a couple of days to be sure everything worked fine. And it does. Thanks to Fanoush. |
Re: Booting from MMC on N800 Now Available!!
Quote:
http://maemo.org/maemowiki/HowTo_EAS..._From_MMC_card Or if you only want to learn how to partition the MMC: http://maemo.org/maemowiki/HowTo_EAS..._your_MMC_card It's been tested on N770. I think it also works for N800. Please let me know. Salut. Sebas. |
Re: Booting from MMC on N800 Now Available!!
Nice howto :-)
as for sfdisk there is also option -uM which according to man page does "Accept or report in units of megabytes. The default is cylinders, at least when the geometry is known." With this the partition size specification may be a bit easier. Not tried if it works. |
Re: Booting from MMC on N800 Now Available!!
I have a 512 mmc, arranged to boot from mmc-80MB FAT rest for EXT2. Strange behaviour takes place with internettablettalk.com. All text appears in "lego blocks". Have tried with diferent encodings. Even formatted my ext2 and rearranged the mmc boot. same thing. If I boot from flash all texts are fine. Any ideas?
|
Re: Booting from MMC on N800 Now Available!!
Quote:
Or did you used GNU tar for cloning as suggested in every guide and it still happens? |
Re: Booting from MMC on N800 Now Available!!
unfortunately I did not know of the problem with rsync. Going to do it one more time, this time with tar. Thank you for your help,
Mika BTW. Nokia has announces a revision for mediastreamer, including video streaming. Have not tried yet |
Re: Booting from MMC on N800 Now Available!!
Does anyone have a bootmenu.conf file to share that works on the N800? I followed the instructions, got gnu/tar from penguinbait.com using wget, and cloned the entire system after making the appropriate partitions and formatting them, with the required reboots in between. The bootmenu works fine, but the system just hangs when trying to boot the file system from the SD card on /dev/mmcblk1 (and yes, I altered the examples in the appropriate places to indicate the appropriate card and directory). I don't understand what went wrong, but for now I gave up after mutliple attempts have failed. The only thing I didn't follow was that I had already installed a bunch of apps before doing this, so that might have screwed the pooch. I figure I'll give it another try next time I flash the system with a clean image. If anyone has any suggestions or anything, I'm all ears.
|
Re: Booting from MMC on N800 Now Available!!
Quote:
Quote:
Quote:
Code:
mount -t jffs2 /dev/mtdblock3 /opt/ |
Re: Booting from MMC on N800 Now Available!!
just had a look and partitions 1 and 2 are there for both cards
Code:
brw------- 0/0 0 2006-12-19 17:56:30 ./dev/mmcblk0p1 |
Re: Booting from MMC on N800 Now Available!!
Here is my bootmenu.conf file, to boot from mmcblk1p2, which is ext2. mmcblk1p1 is fat16, at 480MB.
Quote:
For now I think I'll be giving up. I don't have mmcblk1 set up that way anymore, but I will post more on my next attempt. Thanks Fanoush! |
Re: Booting from MMC on N800 Now Available!!
Quote:
|
Re: Booting from MMC on N800 Now Available!!
OK, I lied, I've been trying this again since you posted your response to my questions.
Here is the problem, it would seem that the card may be corrupted. But I have a few questions, please excuse my newbness for the rest of this post. When using sfdisk, it says that if you make a DOS partition you need to dd if=/dev/zero of=/dev/mmcblk1p1 bs=512 count=1 Not being too familiar with sfdisk, I read up on it, and it appears that this is necessary. The man page I found online said to exit sfdisk, reboot, then issue the "dd" command above. So I tried that, but then the sfdisk program won't recognize the partitions, nor will mkdosfs or mke2fs. OK. So, I tried next to only make one 2GB partition for ext2. So I sfdisk, reboot, mke2fs, reboot. Now I should be able to continue with "tar"ring the flash image over, following the instructions from the original post. Next I do the ./initfs_flash script, reboot. I have modified the bootmenu.conf file to indicate mmcblk1 (since I only have one large linux partition now), and only the noatime option). I try to mount /dev/mmcblk1p1, and there is nothing there. sfdisk -l /dev/mmcblk1 says: "sfdisk: ERROR: sector 0 does not have an msdos signature /dev/mmcblk1: unrecognized partition No partitions found" I am not sure where to go from here. I am using an N800, and trying to use the external MMC so I can still utilize the swap built into the OS on the internal MMC. Do I have to use a DOS partition on /dev/mmcblk1? It would appear so. Perhaps I have a bad card, or messed it up somehow with all this partitioning from the device? |
Re: Booting from MMC on N800 Now Available!!
Quote:
If it hurts then something is seriously wrong, did you really used /dev/mmcblk1p1 and not /dev/mmcblk1 with dd command? Quote:
Quote:
Quote:
Quote:
|
Re: Booting from MMC on N800 Now Available!!
Quote:
THanks for your help and severe patience!! |
Re: Booting from MMC on N800 Now Available!!
So now I've been able to partition the card appropriately:
Quote:
Quote:
|
Re: Booting from MMC on N800 Now Available!!
Quote:
|
Re: Booting from MMC on N800 Now Available!!
Also make sure ext2.ko and mbcache.ko are loaded.
|
Re: Booting from MMC on N800 Now Available!!
Quote:
|
Re: Booting from MMC on N800 Now Available!!
Yes - mbcache.ko first, followed by ext2.ko using insmod. As it says in the howto :)
|
Re: Booting from MMC on N800 Now Available!!
Guys, I have two little questions. I have no experience with that kind of "deep" booting related stuff on Linux systems. That are subjects, I alwasys missed somehow :( So the first question is:
Why should there be at least one FAT partition on the mmc/sd card when booting from it? Ext2 is the boot partition with rootfs, so what's the FAT partition for? The second interrogation mark in my head is the wear issue. Jffs2 uses wear leveling to harmonize the write cycles throughout the jffs2 partition. So if we have a 512 mb parition, we have to commit about 50tb of traffic (512 * 10^-6*100000) to reach the 100k cycles limit. By the time we reach this amount there should be Nokia Internet Tablet OS 2280, so that's not a problem. But what about ext2? If we are unlucky, we can wear out some specific blocks in a few months and had to suffer from read errors. Does the SD Controller have error correction? 2bit errors in one word (does not matter that much wich size, imho) are unlikely and 1bit errors can be corrected easily... Hmmm.. just some thoughts on it. |
Re: Booting from MMC on N800 Now Available!!
Quote:
|
Re: Booting from MMC on N800 Now Available!!
Quote:
Quote:
Quote:
|
Re: Booting from MMC on N800 Now Available!!
Quote:
Quote:
SD/MMC memory cards (must) have its own internal logic for block management similar to hard disks. You can't tell which block is really used by the card when writing same block of filesystem. There are many reasons for this - wear levelling and bad block management - physical block size of NAND flash memory is different than filesystem block size and writing rules are much more complicated - blocks need to be written as a whole and erased before writing, it is better to handle this transparently inside card (i.e. pre-erase them and keep a pool of such fresh blocks ready for writing for better speed ) |
Re: Booting from MMC on N800 Now Available!!
Thanks guys, your posts were very informative :)
There is just on thing: Quote:
Thanks again. |
Re: Booting from MMC on N800 Now Available!!
Quote:
|
Re: Booting from MMC on N800 Now Available!!
Anyone doing the ext3 boot?
|
Re: Booting from MMC on N800 Now Available!!
Quote:
|
Re: Booting from MMC on N800 Now Available!!
You can mount ext3 without turning on Journaling. You just need to edit the mount options for the partition. I just wondered if anyone was though.
|
Re: Booting from MMC on N800 Now Available!!
Quote:
here http://www.internettablettalk.com/fo...08&postcount=7 and here http://www.internettablettalk.com/fo...3&postcount=35 And no, it isn't that bad. This continuous writing problem is a myth. There are a bit more writes indeed for metadata journaling but not something significant. |
Re: Booting from MMC on N800 Now Available!!
Hmm... I just tried the procedure to boot from SD card.
I used the maemo wiki: http://maemo.org/maemowiki/HowTo_EAS..._From_MMC_card and followed exactly these instructions. The bootmenu consists of: boot from flash mmc mmc2, partition 2, ext2 ... I get the error : Boot from mmc failed, booting from flash... when choosing the option "mmc2,partition 2..." When choosing "mmc" it boots, but boots from flash... What's wrong? Some specs: N800 latest firmware internal sd card, 2gb mmcblkp1 ~1.5gb FAT16 mmcblkp2 ~0.5gb ext2 Partitioning done with sfdisk: http://maemo.org/maemowiki/HowTo_EAS..._your_MMC_card I realized that the instructions from the wiki differ from the one at the beginning of this thread. In this thread used: Quote:
EDIT: While partitioning my SD card with sfdisk it asks me whether I want to mark the Fat16 partition as active or not. I chose yes (to mark as active). Was this decision ok? |
Re: Booting from MMC on N800 Now Available!!
the evkey entry is only to get the menu KEYS to work, if you can toggle which menu entry to choose evkey is working for you. Partiton info looks right, my guess would be your data was not properly copied.
did you do this? # apt-get -d install tar # cd /var/cache/apt/archives/ # mkdir /tar-temp/ # dpkg -x tar*.deb /tar-temp/ # /tar-temp/bin/tar cf - -C /floppy . | /tar-temp/bin/tar xvf - -C /opt /bin/tar (busybox) will not copy things properly. If it can not boot from mmc it will boot from flash I believe. http://penguinbait.com/tar.gz is the one I use. |
Re: Booting from MMC on N800 Now Available!!
hmmm... I've just booted from flash, inserted mbcache.ko, ext2.ko and mounted /dev/mmcblk0p2. The mountpoint is empty, so I can assume that the cloning progress went wrong. I did exactly the same as described on the wiki:
I just pasted(not very famillar with those tar options...): Quote:
Quote:
|
Re: Booting from MMC on N800 Now Available!!
Yes I did that. Hmmm what can I do now?
EDIT: I just mounted the card to /opt and initfs to /floppy again to do the try the cloning process again. I checked with df ang got a strange result: Quote:
Quote:
|
All times are GMT. The time now is 23:03. |
vBulletin® Version 3.8.8