转自dospy论坛
以前老论坛daols大佬发的精简固件,现在手机没了,相关内容我也忘得差不多了,daols大佬好像也不出现了。but现在资料还在,所以分享出来。
精简固件位于firmware文件夹下带有v3 unstable字样的bin文件(v4 dangerous的我好像也刷过,不记得有啥区别,爱折腾的可以尝试)。
最后,开机后需要进行部分操作,不会的话可以看下说明或者打开浏览器,我记得每个固件浏览器打开都有写使用说明。
优缺点:不知道。反正集成了不少软件,也删了不少游戏,看起来很适合码农。
24266-yttnimuymv.png
现在附上他的部分说明:

/ coding:utf-8 /
2015-08-19 19:45:45 by crow

diy-v3 刷入后的配置方法很简单, 不用再象之前那样一步步的输命令了:
开机后简单设置系统, 然后联网, 注意要联网!! 之后在桌面打开konsole后输入命令:
diy-devmodeon
保留那个窗口,之后按提示去设置里开启 '开发者模式' 并等待自动重启.
重启后最好先:
devel-su
passwd root

修改密码为 toor, 否则桌面 fileboxroot 无法使用.

(至此, 如果是使用backupmenu恢复的系统而不是通过flasher刷入, 建议 halt 命令关机冷却10分钟再开机, 否则以下操作会由于cpu过热导致中途自动重启.)

然后以root权限运行:
diy-configure configure
注意空格前边是命令后边是参数,之后就会自动完成大部分配置,只需要输密码或回车.
如果运行中手机自动重启了就只好在重启进系统后重新以root权限再运行一次这个命令.

diy-configure 命令支持的参数说明:

    configure(需root权限): 刷入 rm696-diy-v3 并开启 dev-mode 后使用此命令自动完成系统初始化.
    usekonsole(需root权限): 用 karin-console 取代 meego-terminal 并删除系统中的 meego-terminal 和 mtermite 软件包.
    mapfix: 修复 "地图" 和 "驾驶" 无法使用问题.

================

diy-v3 目前存在的问题:

  1. dpkg 安装的软件包无法在桌面直接卸载.

解决方法: 到'应用程序-管理应用程序'卸载, 或安装时使用 pkgmgr install-file -f xxx.deb 命令安装, 或者从 filebox 点击安装其他软件, 之后桌面上不可卸载状态的软件就会变成可以卸载状态. 或者通过 dpkg 命令卸载.
当然利用这个bug也可以保护一些软件, 防止在桌面点错了被误删, 有时候手抖, 你懂的.

  1. swap 分区间歇性挂载失败

解决方法: 有3个命令可以 开启,关闭,切换swap状态: rzson,rzsoff,rzswap 依赖 sudo.

  1. 运行 diy-configure configure 到最后安装软件的时候手机自动重启

一般发生在backupmenu释放tar文件安装的系统, 原因应该是cpu过热,, 因为我在脚本里加的释放内存命令没起到作用, 所以和内存耗尽无关, 而且用flasher刷机后没发生这种情况, 我还特意用backupmenu装了系统并开启dev-mode后关机10分钟再开机configure, 也没有自动重启. 大概是bum通过tar释放系统时大量消耗手机cpu造成过热, 而flasher刷固件不需手机cpu参与.

=================

关于 /usr/local/bin/ 中一些附加命令的说明:
注: 大部分命令需要root权限, 所以依赖 sudo , 且在安装 sudo 的时候要使用我集成进去的默认配置来使所有用户都可以免密码sudo

diy-devmodeon # 刷机后需第一个使用的脚本, 用来开启dev-mode
diy-configure # 开启dev-mode后的系统自动配置脚本, 需提供参数, root权限运行
dropcache # 跟安装版那个dropcache功能一样, 只不过命令行的需要root权限, diy-configure脚本依赖此命令来解决一次性安装大量软件时手机自动重启问题.
its # 机动车违章查询, 支持ini配置批量查询, 用法详见程序说明
txt2htm # 分割 txt 文件(默认utf8编码) 为 30K(默认) 一段的html文件, 使用统一的css来控制样式, 主要用来将txt小说转换成本地版并用浏览器阅读
jscoding # 使用bash来对字符串进行类似 javascript 的 urlencode/urldecode/escape/unescape 编解码并返回结果
nn2htm # 将 "备忘" 内容批量导出到 htm 文件便于查看和转移, 需 root 权限. (不支持导入, 因为我不用"备忘", vim+txt足矣)
reimui # 重启输入法框架用户界面, 修改键盘布局的时候可以即时查看修改效果
reui # 重启桌面系统界面, 修改系统主题比如css什么的之后可以即时生效
rewifi # 重启 wifi 服务
rzsoff # 关闭ramzswap分区并释放内存
rzson # 开启 ramzswap 交换分区, diy-configure脚本依赖此命令, 同dropcache
rzswap # 切换前两项的状态
sngf # 不知道ngf是什么服务, 有待研究
sssd # 开启/关闭 重力感应

=======================================

关于一些集成软件的说明:

  1. ProFTPD

传说中的ftp服务器, 这是我编译并配置成功的最有价值的软件, 支持ssl/tls连接, 默认端口 2121 , 默认账户 root:toor, 默认路径 ftp://127.0.0.1:2121/home/user/MyDocs/
(如果使用 fireftp 客户端登录的话请使用firefox-32.0.3或更低版本, 高版本对ssl证书验证太严格以至于不能正常使用 ssl/tls 连接进行加密传输, 只能以无加密模式登录)
以 user 权限发布 /home/user/MyDocs/ 目录, 我觉得其他目录没有发布的必要. 主要是用来跟电脑免数据线互传文件, 数据线的缺点是usb模式连电脑后会独占存储卡, 不能同时在手机上访问存储卡上的文件. 当然如果传输的文件太大的时候 ftp 不如数据线传的快.
需要注意的是如果没有专业的ftp客户端, 用 windows 资源管理器访问 ftp 的时候需要把路径输全( ftp://手机的局域网ip:2121/home/user/MyDocs/ ), 否则会找不到路径. 没办法, N9里编译的软件都不支持 chroot.
关闭proftpd服务器的话需要在窗口中按 ctrl+c 键, 通过滑动直接关闭窗口的并不能停止服务, 程序会在后台继续运行

  1. python-2.6

大部分装软件会依赖到的python包都集成进去了, 同时也可以作为静态 http 服务器来使用, 比如想在电脑上查看手机上的 /etc/fstab 文件, 使用 proftpd 是进不去的, 就可以在终端里:
cd / && python -m SimpleHTTPServer 8080
然后就发布了系统根目录, 可以在电脑上输入网址 http://手机的局域网ip:8080/etc/fstab 来访问和下载文件. 当然只能用来下载和查看, 不能上传.
当然这个版本的python不支持setuptools(pip), 没法用 pip 来安装 python 软件包, 我编译了一个安装到 /usr/local/bin 的 2.7.9 版本是支持 pip 的, 但是 pip install pyopenssl 的时候报错, 所以一直没有发布出来, 还有一个 3.4.2 版本编译得很完美, 需要的同学可以搜索我的帖子( http://bbs.dospy.com/viewthread.php?tid=17459704&bbsid=464 ).
这个 2.6 版本的另一个重要作用是做 http 服务器来支持本地开启 dev-mode, 刷机后运行的diy-devmodeon脚本就是依赖这个python来运行的. 因为我把dev-mode的一些文件放到了固件的 /harmattan/ 目录, 用 proftpd 没法发布这个目录, 所以就地取材用了python.

  1. konsol (karin-console)

香磷出品, 带标签页并支持复制中文的终端, 有 meego-terminal & mtermite 的所有功能, 却没有他们的bug, 用了就知道. 所以我的系统初始化脚本提供了卸载 meego-terminal & mtermite 并用 karin-console 取代他们的功能模块. 所有集成的命令行程序都依赖它来打开窗口, 默认被系统保护无法直接卸载, 如果要卸载的话需要编辑status文件.

  1. musicbox

zsw_ek 出品, 支持歌词的音乐播放器, 依赖的 mplayer 已经集成进系统. 配置的话需要手工编辑 /home/user/.musicbox/config 文件. 支持 dark/light 主题, 具体支持的参数可以用hex编辑器打开主程序来查看和猜测.

  1. scrot

点一下就会开始计时, 延迟7秒抓屏并存储图片到 Pictures 文件夹, 更改路径或延迟时间以及其他可以在 /usr/bin/scrotc 脚本中修改

  1. stardict

其实是 debian-armel 里弄过来的 sdcv (StarDict Console Version), 字典调用路径以及程序调用参数什么的可以在 /usr/bin/sdcvc 脚本中修改.
为什么用这个呢,, 因为 dictionarystar 没有一个令我满意的版本, 加载的字典稍微大点或者多点就会死机, 命令行版不存在这个问题, 加上有了 karin-console 后再终端里复制中文也很方便.

  1. TmuxC

终端复用器, 可以用来远程查看手机上命令的运行进度, 用平板远程登录手机并进行操作的时候经常自动吊线然后丢进度, 所以就想了这么各个办法,, 然后...只能替换了系统的libncurses5并加了个libreadline6...= =b
其实我更愿意用screen,, 但是screen依赖的东西n9也没有,, 而且装的话会使系统更加unstable,, 只好从 debain-wheezy 里弄来这个 tmux-1.9, 这个版本支持插件但是我没加插件, 桌面上只是我加的一个 /usr/bin/tmuxc 脚本的快捷方式, 要卸载的话dpkg -P tmux 后删除脚本和桌面快捷方式以及/etc/tmux.conf文件即可.
桌面快捷方式依赖sudo,, 因为不用 sudo su -c 的话生成的socket文件路径有不确定性,, 如果用 developer 用户登录会得不到正确的窗口.
不要装那些 github 上的电量显示插件, 我们N9的电量显示用的是完全不同的命令, 具体请查看 /etc/tmux.conf 文件.
重要的是使用方法: 点击桌面图标后会出现一个 root 权限的 shell,, 运行命令后一定要滑动关闭窗口,, 不要用 exit 命令,, 否则就会丢掉这个tmux会话了. 然后远程ssh登陆后用developer用户运行:
sudo su -c tmuxc
或者root权限运行 tmuxc 就可以恢复手机上的工作进度.

  1. filebox

也是我修改过的, 打开zip文件列表中文路径不再乱码, 但是打开无密码的zip文件需要手工输入一对单引号( '' )或双引号( "" ).
修改后可以多实例打开新的终端窗口, fileboxroot只是一个桌面快捷方式, 调用的命令行可以自行修改.
需要注意的是这个filebox调用的终端文件是 /usr/bin/meego-term 脚本, 而且系统所有调用终端来运行的软件默认的终端程序都被我指向了这个脚本, 如果要更改系统使用的默认终端请修改这个脚本里的命令行.

  1. unrar/unzip

这两个软件都有两个版本
filebox里是一套兼容filebox的unrar-4.10和修改过的unzip , 系统里装的是 debian 的 unrar-5.x 和 unzip(未修改).
如果filebox打开一个rar文件却没有文件列表, 那么这个rar文件很有可能是 rar5 格式压缩的, 可以在终端里输入 unrar l xxx.rar 来用系统中安装的unrar-5.x查看和解压;
如果用系统自带的debian版unzip查看一个zip文件出现中文乱码, 就可以用filebox里那个修改版的来查看;
总之, 根据情况辨证选择使用哪个程序来查看和解压文件. 另外集成的p7zip版本有点低, 但是足够解压 chm 文件, 所以就没有更新.

  1. backupmenu

修改命令增加从 .tar.bz2 文件恢复系统的支持. 不建议直接从bz2文件恢复, 因为 .tar.bz2 释放速度很慢很耗电, 需要20分钟左右, 而tar文件的释放只需要 4分钟. 如果是16G机型为了节省空间而使用 .tar.bz2 格式就只好牺牲时间和电量了. 但是备份系统仍然采用tar格式以尽量提高速度, 钟情于bz2的话可以在进系统后用 bzip2 -k -z -9 xxx-rootfs.tar 压缩文件.
增加读写ntfs分区的支持. 虽然固件集成了 ntfs 套件, 可以直接在手机上把存储卡格成 ntfs 文件系统(也就是说以后不再需要刷emmc固件来格式化存储卡了), 但是backupmenu却不支持读写ntfs分区, 所以不能从 ntfs 格式的存储卡恢复系统备份, 修改后的backupmenu已经不存在这个问题.

资源下载

需要后才能下载资源