rescueOS/documentation.txt

225 lines
6.8 KiB
Plaintext

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 <<EOF
setenv bootargs rootdelay root=/dev/ram0;
setenv setup_omap_atag 1;
setenv mmckernfile rescueOS_n900_kernel_1.3.uImage;
setenv mmcinitrdfile rescueOS-1.3.uimg;
setenv mmcscriptfile;
run trymmckerninitrdboot;
EOF
mkimage -c none -A arm -T script -d boot.cmd boot.scr
Preparing SD card:
Your SD card needs to have the first partition formatted as ext2/3/4 or FAT.
Put generated files (without boot.cmd) in the root directory.
Now you should be able to boot rescueOS with generic "External SD card" option from U-Boot.
~~~~~~~~~~~~~~~
How to use it
~~~~~~~~~~~~~~~
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, usbnetworking, WiFi setup etc.
Mounting maemo root
-------------------
/rescueOS/mount-maemo-root.sh
This scripts mounts the maemo root to /mnt/maemo.
/rescueOS/umount-maemo-root.sh
Lock code reset
---------------
code_reset
# This will set the lock code back to the default ('12345').
USB Networking
--------------
/rescueOS/usbnetworking-enable.sh
Sets up USB networking in the following way:
ifconfig usb0 192.168.2.15 up
ifconfig usb0 netmask 255.255.255.0
route add 192.168.2.14 usb0
To disable it: /rescueOS/usbnetworking-disable.sh
USB Mass-Storage mode
--------------------
/rescueOS/mass-storage-enable.sh
Makes the first 2 EMMC partitions available for the mass-storage
mode. Known as /home/ and /home/user/MyDocs inside maemo.
/rescueOS/mass-storage-disable.sh: Deactivates mass-storage mode.
Please unmount on your PC first.
WiFi support
------------
It has wpa_supplicant, but without EAP support. This should be ok for
most home networks which use a PSK.
Give the following a try:
wpa_passphrase [essid] [password] > /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).