Documentation of rescueOS ========================= rescueOS is a rescue solution for the Nokia N900, distributed as an initrd image. It has several features, most notable: mounting maemo / EMMC access(can mount maemo home and MyDocs partition) Lock code reset WiFi support USB mass-storage mode USB networking Battery charging Users must be familiar with the Linux console. This project is _NOT_ the meego rescue initrd. How does it work? ~~~~~~~~~~~~~~~~~ The flasher utility loads rescueOS. This makes it unnecessary to modify the bootloader or maemo's /sbin/preinit like other solutions do. By using the "-l" option, we do not flash the kernel or initrd image. It only loads the kernel into RAM. No modification on the NAND or bootloader happens. Use cases ~~~~~~~~~ In fact, most users do not need it. Either way, possible use cases: -Changing typos in bootscripts which prevent an operation system (e.g. maemo) to boot. -Creating a backup of files before starting a reflash. -Charging the battery (when maemo is dead). -Modification of the EMMC partitions and partition table. -Backing up & Restoring maemo rootfs. -fsck file system checks -Resetting the lock code (without reflashing) -and more... Booting rescueOS with flasher ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Note: You can not store persistent data in /. Of course, it becomes possible on the mount points you mount the EMMC or sd card to. Note: It comes without any promises and without any warranty. Therefore you are doing everything at your own risk. To load rescueOS onto an N900, you'll need a USB data cable, a PC, and one of the following flashers: - 0xFFFF - the Open Free Fiasco Firmware Flasher Free/open source, but only runs on GNU/Linux. Packaged for Ubuntu and Debian as '0xffff': http://packages.ubuntu.com/source/0xffff https://packages.debian.org/sid/0xffff Discussion: http://talk.maemo.org/showthread.php?t=87996 Source repo: https://github.com/pali/0xFFFF - maemo_flasher v3.5 - the original proprietary flasher from Nokia Windows, MacOS, GNU/Linux Official distribution site is gone. Archive copies at: https://web.archive.org/web/20131117084237/http://skeiron.org/tablets-dev/maemo_dev_env_downloads/ Documentation: http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Development_Environment/Maemo_Flasher-3.5 Switch the N900 completely off. If it is plugged into a charger, a PC, or anything else by its USB port, unplug it and wait about 10 seconds to give the charger software time to shut down. Don't connect it to the PC just yet. Startup the flasher and get it ready to load rescueOS. For 0xFFFF, the incantation is: 0xFFFF -m kernel:rescueOS_n900_kernel_1.3.zImage -m initfs:rescueOS-1.3.img -l -b 'rootdelay root=/dev/ram0' For maemo_flasher, it's: flasher-3.5 -k rescueOS_n900_kernel_1.3.zImage -n rescueOS-1.3.img -l -b"rootdelay root=/dev/ram0" You'll get a message like "suitable device not found...", but the flasher should block and wait. Now connect the N900 to the PC with the data cable; the flasher should detect the device, upload rescueOS, launch it, and then exit. Booting rescueOS with U-Boot from SD card ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Use this method if you have installed U-Boot (https://talk.maemo.org/showthread.php?t=81613) and battery is so depleted, that flashing doesn't work. You'll need "mkimage" command from "u-boot-tools" package. Preparing required files: mkimage -A arm -O linux -T kernel -C none -a 80008000 -e 80008000 -n kernel -d rescueOS_n900_kernel_1.3.zImage rescueOS_n900_kernel_1.3.uImage mkimage -A arm -O linux -T ramdisk -C none -a 0 -e 0 -n initrd -d rescueOS-1.3.img rescueOS-1.3.uimg cat >boot.cmd < /run/wlan.conf sh /rescueOS/setup-wpa-wifi.sh For DHCP: udhcpc -i wlan0. Battery charging ---------------- By using ShadowJK's charge21 script. Use it only with the wallcharger, as it pulls 950 mA, and USB is not designed for that (some ports can do it though, don't try if in doubt.) /rescueOS/charge21.bash Shutdown -------- poweroff Root password ------------- rootme Shortcuts --------- The following shortcuts are available to avoid unnecessary typing on the N900 keyboard. mmr -> mount maemo root ummr -> umount maemo root enftp -> enable ftp (anon upload/download everywhere) mse -> enable mass-storage mode msd -> disable mass-storage mode usbne -> enable usb networking usbnd -> disable usb networking chargebat -> start battery charging telnetd -> start telnetd. only necessary if you have closed it explicitly, since it starts on boot. Tab: Shift + Space ESC: Fn (Arrow) + Ctrl File transfer ---------------------- Enable the FTP server with "enftp". It will have anonymous up and download enabled everywhere. Then you can connect to it once USB networking or a WLAN connection has been established, using any FTP client. For downloads, most browsers can be used. Alternatively, use mass-storage mode. Contributions and suggestions are welcome. Write to me (NIN101 on freenode or TMO. E-Mail: n900-rescueOS at quitesimple period org).