RescueOS is a rescue solution for the Nokia N900, distributed as an initrd
image. It has several features, most notably:
- Mounting Maemo
/
- EMMC access (can mount Maemo home and MyDocs partitions)
- 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.
The flasher utility loads RescueOS. This makes it unnecessary to modify the
bootloader or Maemo's /sbin/preinit
, unlike other solutions.
By using the -l
option, we don't flash the kernel nor the Maemo initrd
image. The kernel is only loaded into RAM. No modification to the NAND nor
bootloader happens.
Most users don't need it. That said, this can be used to:
- Fix typos in bootscripts which prevent the OS (Maemo) from booting
- 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 and restoring Maemo rootfs
fsck
file system checks- Resetting the lock code (without reflashing)
Note: You can't store persistent data in /, since it'ss an initrd. If you mount the EMMC or the SD card, they can be written to normally.
Note: This comes without any promises and without any warranty. Therefore, you're 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
: - Discussion
- Source
maemo_flasher
v3.5: the original proprietary flasher from Nokia, for Windows, MacOS, and GNU/Linux, but the official distribution site is gone:
Switch the N900 completely off. If it's plugged into a charger, a PC, or anything else via the 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 yet.
Start the flasher and get it ready to load RescueOS. For 0xFFFF
, the command
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.
It boots and you get a bash shell.
The folder /rescueOS
contains some scripts for various tasks. Not all of them
are completed yet. They help you with the usual stuff, e.g. mass-storage
mode, Maemo root mounting, USB networking, WiFi setup, etc.
/rescueOS/mount-maemo-root.sh
mounts the Maemo root to /mnt/maemo
.
/rescueOS/umount-maemo-root.sh
unmounts it.
Lock code reset
code_reset
will set the lock code back to the default (12345
).
/rescueOS/usbnetworking-enable.sh
sets up USB networking:
ifconfig usb0 192.168.2.15 up
ifconfig usb0 netmask 255.255.255.0
route add 192.168.2.14 usb0
Disable it with /rescueOS/usbnetworking-disable.sh
.
/rescueOS/mass-storage-enable.sh
makes the first two EMMC partitions available
for mass-storage mode. These are respectively /home
and /home/user/MyDocs
inside Maemo.
/rescueOS/mass-storage-disable.sh
deactivates mass-storage mode. Remember to
unmount the device on your PC first.
RescueOS has wpa_supplicant
, but without EAP support. This should be fine
for most home networks which use a PSK.
If you use a passphrase instead of a passkey, try using:
wpa_passphrase $ESSID $PASSPHRASE > /run/wlan.conf
sh /rescueOS/setup-wpa-wifi.sh
Replace $ESSID
and $PASSPHRASE
as appropriate.
For DHCP, use udhcpc -i wlan0
.
/rescueOS/charge21.bash
is based upon ShadowJK's
charge21 script. Use it only with a wall charger,
as it pulls 950 mA, and USB isn't designed for that. If you're sure your USB
port can push an amp and you can live with the consequences of burning out your
USB bus if you're wrong, hey, it's your computer.
poweroff
rootme
The following shortcuts are available to reduce typing on the N900 keyboard.
mmr
: Mount Maemo rootummr
: Unmount Maemo rootenftp
: Enable FTP (anonymous upload and download everywhere)mse
: Enable mass-storage modemsd
: Disable mass-storage modeusbne
: Enable usb networkingusbnd
: Disable usb networkingchargebat
: Start battery chargingtelnetd
: Starttelnetd
(only necessary if you've stopped it explicitly, since it starts on boot)
In addition, Tab can be generated with Shift + Space and Esc can be generated with Fn + Ctrl (the Fn key is marked with ↗.
Enable the FTP server with enftp
. It will have anonymous upload and download
enabled everywhere. You can connect to it via USB networking or over WiFi,
using any FTP client.
Alternatively, use mass-storage mode.
Contributions and suggestions are welcome. Write to the original author (NIN101
on freenode or TMO, or n900-rescueos
at quitesimple
period org
).
This fork integrates most of the changes from gnoutchd
branch of the original,
and includes a change made to the HACKING document made by @gnoutchd
which describes how to verify signatures properly. Feel free to open an issue
or pull request here if you have any questions.