Nokia N900 Archive
- Nokia N900 WIKI: http://n900.xyz/docs/nokia_n900_wiki/
- Nokia N900安装Maemo Leste: http://n900.xyz/docs/nokia_n900_install_Maemo_Leste/
- tablets-dev.nokia.com存档: http://n900.xyz/docs/tablets-dev_nokia_com_archive/
- rescueOS: http://n900.xyz/docs/rescueOS/
- Nura使用实例: http://n900.xyz/docs/nura_usage/
# rescueOS
rescueOS不是一个日常使用的系统,而是一个**救援系统**,是专门为诺基亚N900开发的救援解决方案,以`initrd`镜像的形式发布。
主要有以下几个功能:
- 挂载maemo根分区(/)
- EMMC访问(可挂载maemo系统的home和MyDocs分区)
- 重置Lock code
- WiFi支持
- USB大容量存储模式
- USB网络
- 电池充电
**用户必须熟练使用Linux命令行**
**rescueOS只针对maemo系统,meego不可用**
**rescueOS仅加载到内存中运行,不会对原有系统做任何更改**
## rescueOS使用场景
rescueOS适用于以下情况:
- maemo系统无法正常启动
- 重新先刷机前的数据备份
- maemo无法使用时为电池充电
- 修改内置存储(EMMC)分区表
- 备份/恢复maemo根分区(rootfs)
- fsck检查文件系统
- 重置lock code
## 使用flasher引导rescueOS
下载`rescueOS_n900_kernel_1.3.zImage`和`rescueOS-1.3.img`
- rescueOS-1.3.img https://url98.ctfile.com/f/18418398-17569905439763-75d5a4?p=3705
- rescueOS_n900_kernel_1.3.zImage https://url98.ctfile.com/f/18418398-17569905439762-3b0074?p=3705
有以下两个flasher工具可用:
- 0xFFFF - 仅适用于GNU/Linux的Fiasco固件刷写工具
Ubuntu和Debian中软件包名为**0xffff**
讨论: http://talk.maemo.org/showthread.php?t=87996
源码: https://github.com/pali/0xFFFF
- maemo_flasher v3.5 - 诺基亚原厂专用刷机工具
适用于Windows, MacOS, GNU/Linux
文档:http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Development_Environment/Maemo_Flasher-3.5
关闭N900,启动刷机工具,并准备加载rescueOS
- 0xFFFF
```sh
0xFFFF -m kernel:rescueOS_n900_kernel_1.3.zImage -m initfs:rescueOS-1.3.img -l -b 'rootdelay root=/dev/ram0'
```
- maemo_flasher
```sh
flasher-3.5 -k rescueOS_n900_kernel_1.3.zImage -n rescueOS-1.3.img -l -b"rootdelay root=/dev/ram0"
```
会看到类似"suitable device not found..."的提示,刷机程序等待设备连接,用数据线把N900连接到电脑,程序会检测到设备并上传启动rescueOS,然后退出。
## 通过U-Boot从TF卡启动rescueOS
如果你已经安装了U-Boot(https://talk.maemo.org/showthread.php?t=81613)并且电池电量耗尽,以至于刷机无法进行,可以使用这种方法。
你将需要来自`u-boot-tools`包的`mkimage`程序。
准备所需文件:
```sh
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
# 设置dhcp
udhcpc -i wlan0
```
### 电池充电
使用ShadowJK的charge21脚本实现,仅用于充电器连接线充电,
因为提供了950 mA电流,而USB不合适。
```sh
/rescueOS/charge21.bash
```
### 关机
```sh
poweroff
```
### root密码
rootme
### 快捷键
- mmr -> 挂载maemo根分区
- ummr -> 卸载maemo根分区
- enftp -> 开启ftp
- mse -> 开启大容量模式
- msd -> 关闭大容量模式
- usbne -> 开启usb网络
- usbnd -> 关闭usb网络
- chargebat -> 开启电池充电
- telnetd -> 开启telnet服务
- Tab: Shift + Space
- ESC: Fn (Arrow) + Ctrl
### 文件传送
- 使用`enftp`开启ftp服务,可通过usb网络或者wifi匿名访问。
- 使用`mse`开启usb大容量模式。
_https://github.com/quitesimpleorg/N900_RescueOS_