GUIDE: Maemo on SD card
Maemo on SD card
DISCLAIMER: THIS GUIDE CAN POTENTIALLY BRICK YOUR PHONE, THE AUTHOR IS NOT RESPONSIBLE FOR ANY DAMAGE TO YOUR PHONE Introduction: In this guide i will explain how to move Maemo from the internal flash to the SD card, this guide is based on what i did to unbrick my phone so it might not be 100% accurate as my success in it was mostly trial-on-error, however , the steps in this guide ARE correct, of that i am sure, it might just be that i forgot something, Benefits:
Requirements:
Steps: Step 0 - Clean eMMC: If the N900 /home partition contains optified apps/Maemo programs, you will need to format/reflash eMMC, this can be done through flashing a new eMMC image or through the devices x-terminal. If you dont do this, the phone might get stuck at the bootscreen! Step 1 - Partitioning SD card: If using U-Boot, you need to create a small (a couple of MB's) FAT16 (msdos) partition before the main partition Either way, you now need to format the main partition ext3 and mount it somewhere on your development machine Step 2 - Mounting root filesystem: Either enter these commands one by one or make it a script: Code:
modprobe mtdblock Use the following command for this, -r will make cp recurse into directories, -p will make it preserve ownership and access masks. Code:
cp -r -p <ROOTFS MOUNTPOINT>/* <SDCARD PART2 MOUNTPOINT> Use your preferred ARM (GNU EABI) toolchain for this, or use scratchbox, you need to use the default config for the N900 (rx51_defconfig), and make the following changes:
Step 5 (U-Boot) - Configuring U-Boot First you need to turn your kernel into an U-Boot kernel image: Code:
mkimage -A arm -O linux -T kernel -C none -a 80008000 -e 80008000 -n MaemoSD -d <PATH TO zImage> <SD BOOT PART MOUNTPT>/lmaemosd Code:
mmc init Code:
mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n MaemoLoader -d <PATH TO SCRIPT SOURCE> <SD BOOT PART MOUNTPT>/boot.scr Put your N900 into flashing mode and run: Code:
flasher-3.5 -k <PATH TO zImage> -f -R Unmount all SD card partitions and put it in your phone, it should boot into Maemo, to verify that it has worked, open xterm and enter df -h, it should show a significantly larger rootfs! Credits: x86 - rootfs mount guide DocScrutinizer and other people from #maemo - Helping me fix some problems with this |
Re: GUIDE: Maemo on SD card
It took 2 years for such a guide to arrive, however, it did.
This could be life-saving you know... |
Re: GUIDE: Maemo on SD card
The only real down side (for now, i am not really into linux kernel development but maybe someone finds the bug) is the kernel panic when somehow the MMC driver forces cpufreq to switch clock speed, and it panics in set_frequency or something, so i had to disable cpufreq , which means battery life sucks and no overclocking either
|
Re: GUIDE: Maemo on SD card
Quote:
|
Re: GUIDE: Maemo on SD card
As far as i know, it doesnt set it at all if you disable cpufreq, and judging from the speed of my phone , NOLO/U-Boot sets it to 600MHz
|
Re: GUIDE: Maemo on SD card
I have yet to try compiling cpufreq as module and loading it after boot,might do that tomorrow, my N900's battery is charging at the moment (external charger), also im sure this isnt a hardware bug as meego-qemu did exactly the same
|
Re: GUIDE: Maemo on SD card
A very impressive first post. Welcome to the forums! ...Although I am sure you have been viewing us for some time already :)
Would I be right in believing that should one were to have 2 maemo devices, then we could swap the SD cards between them and transfer all installed data too? |
Re: GUIDE: Maemo on SD card
Not with the steps described in this guide, this still relies on the eMMC for data and application storage, the SD card only replaces the rootfs,
the eMMC location is hardcoded into quite a lot of scripts and configuration files, moving it to a sd card would be a lot of work |
Re: GUIDE: Maemo on SD card
Quote:
|
Re: GUIDE: Maemo on SD card
Only boot and application speeds are affected, as the rootfs is not used for any "normal" storage, tmp is on a ramdisk and /home and /opt are on eMMC, im using a 2GB microSD without any class advertised on it and it runs fine, no real lag only slightly slower boot
|
All times are GMT. The time now is 23:23. |
vBulletin® Version 3.8.8