紧急修复盘(rescue) for Lemoe 2F 系列机器

rescue for lemote2f,Busybox 1.16.1,支持 EXT4 文件系统。
下载地址:http://heiher.info/sftp/lemote2f/rescue-lemote2f
SHA1SUM:http://heiher.info/sftp/lemote2f/rescue-lemote2f.sha1sum

PMON启动

load (wd0,0)/rescue-lemote2f
g

更新
20100412: 增加网络支持,网络版本 dd 命令 ndd。
20100417: 修改 mkfs 的一个错误;使用 GCC 4.5.0 重新编译。
20100426: 内核运行时修复 nop 指令;增加 ssh 和 scp 两个命令。

Over!

Android 终端命令安装 apk 应用程序

为了解放空间把 ASTRO File Manager 也删除了,它的功能基本都可以使用终端命令操作,如果你安装了 busybox 后。

su
cp /sdcard/test.apk /data/app/
chmod 644 /data/app/test.apk
chown system.system /data/app/test.apk

Over!

Telnet 登录 Android

在安装 busybox 过后,就可以通过 telnet 登录到 Android 系统并执行命令了,这对于没有QWERT键盘实在是太方便了。

首先要在 Android 系统上进行 telnetd 服务程序

telnetd 8000

使用 telnet 或 nc 连接服务器

telnet xxx.xxx.xxx.xxx 8000

Over!

Busybox 1.16.1 for G1

下载地址:sftp://sftp:sftp@heiher.info:heiher/android/busybox-armv6l

安装方法

su # 需要 Allow
cp /sdcard/busybox-armv6l /data/expstick/bin/busybox-armv6l  # 假设最新版本的 busybox-armv6l 存放在 /sdcard
rwsystem
/data/expstick/bin/busybox-armv6l rm /system/bin/busybox
/data/expstick/bin/busybox-armv6l cp /sdcard/busybox-armv6l /system/bin/busybox
chmod 755 /system/bin/busybox
chown root.shell /system/bin/busybox
rm /data/expstick/bin/busybox-armv6l
/system/bin/busybox --install -s /data/expstick/xbin/bb # 不可修改
rosystem

Over!

Bash for G1

强大的 Bash 有人编译 Armel 版本了,那不就可以在G1上使用了?那是必需的!下面来安装吧。

首先下载 sftp://sftp:sftp@heiher.info:heiher/android/bash_for_G1.tar.gz,解压缩后将 bash 和 bash_profile 两个文件存放在 /sdcard 中,开始安装。

su # 需要 Allow
rwsystem
cp /sdcard/bash /system/bin/bash
chmod 755 /system/bin/bash
chown root.shell /system/bin/bash
cd /system/bin
mv sh sh.bk && mv bash sh
rosystem

bash_profile 就放在 /sdcard 中,相信你也明白它是做什么的了。

Over!

解决 Android 本地 scp 不能使用的问题

由于 /system 空间不够, ssh 和 scp 两个命令是安装在 /data/expstick/xbin 目录中的,这样引发了一个问题 scp 找不到正确的 ssh 绝对路径,解决方法是

su # 需要 Allow
rwsystem
ln -s /data/expstick/xbin/ssh /system/bin/ssh
rosystem

Over!

TMO G1 官方高权限1.6固件+增强包

现在第三方的固件实在太多了,什么样的都有,不过我还是觉得官方的增强后最好用了。

下面我们就来说一下如何安装这个固件和增强包,并配置 Backing Swap。

需要下载的文件
美版G1
ROM:http://www.androidspin.com/downloads.php?dir=enomther/ROM/&file=TMO-OTA-US-DRC83-Rooted_update.zip
增强包:http://www.androidspin.com/downloads.php?dir=enomther/ROM/&file=TMO_1.6_ExpPack_v2.6.3.zip
英版G1
ROM:http://www.androidspin.com/downloads.php?dir=enomther/ROM/&file=TMO-OTA-EU-DRC92-Rooted_update.zip
增强包:http://www.androidspin.com/downloads.php?dir=enomther/ROM/&file=TMO_1.6_ExpPack_EU_v2.6.3.zip

安装ROM和增强包
1. 刷这个ROM需要 root 权限,怎么获得 root 权限的资料太多了,Google 一下,你就知道。
2. 先将 ROM 重命令为 update.zip 并保存在 /sdcard 中。
3. 按 HOME + Power 开机,接着按 Alt+L 接着按 Alt + S 开始刷 ROM。
4. 使用 Alt + W 复位一下,再将增强包重命令为 update.zip 并保存在 /sdcard 中。
5. 同操作 3.

删除增强包中集成的软件
由于增强包中集成的软件版本过旧或您可能不需要它。我们来删除它们。
打开手机的终端(Terminal),执行下面的命令。

su   # 需要 Allow
expsetup
5  # 选择 5 Remove built-in add-ons
y  # 一直输入 y 直到全部删除

使用 user.conf 开启 Backing Swap 并修复 /dev/random
首先说一下 Compcache 是什么,在了解 Compcache 之前你应该知道 Swap 机制是什么,不明白先 Google 一下吧。Compcache 是在 RAM 中划分一部分地址空间充当 Swap 使用,这部分的数据都是经过压缩的,以此来增加可用的地址空间,但同时压缩数据又降低了效率,这是一种时间和空间的组合。

Backing swap 是 Compcache 和传统 swap 的结合,首先使用 Compcache 的空间,当它满了就将这里面的数据交换到 swap 上一部分。

下面说操作步驟
1. 取出 SD 卡放到读卡器,连接计算机。
2. 备份 SD 卡中的数据
3. 删除 SD 卡中的分区
4. 创建两个分区,第一个类型为 FAT32,第二个大小为100M,类型为 Linux swap。
5. 还原SD卡中之前备份的数据。
6. 将 SD 卡放入手机,并运行 Terminal

su # 需要 Allow
mkswap /dev/block/mmcblk0p2

7. 下载 sftp://sftp:sftp@heiher.info:heiher/android/user.conf 并保存在 /sdcard。
8. 运行 Terminal

su # 需要 Allow
cp /sdcard/user.conf /data/user.conf
chmod 644 /data/user.conf
chown system.system /data/user.conf

重启手机
至此就完成了所有的操作,下面可以检查一下 backing swap 有没有工作。打开 Terminal

free

如果 Swap 那一行不全部是 0 就表示已经工作了。

Good Luck!

Over!

利用 iptables 限制指定用户指定时间段访问网络

在使用 Linux 操作系统的多用户系统中,有时候需要限制指定的用户在指定时间段内禁止访问网络,这个怎么实现呢?当然是 iptables/netfilter 喽。

现在的 iptables 可以在 filter 表的 OUTPUT 链上匹配指定用户了,这个就可以达到指定用户的目的。另外还可以匹配时间,下面我们就以一个实例说明吧。

这里我们就限制用户名为 guest 和 users 组的所有用户在 08:00 – 12:00 这个时间段不能访问网络。

sudo iptables -A OUTPUT -m owner --uid-owner guest -m time --timestart 08:00 --timestop 12:00 -j DROP
sudo iptables -A OUTPUT -m owner --gid-owner users -m time --timestart 08:00 --timestop 12:00 -j DROP

Over!

Ubuntu 9.10 远程桌面、声音 (XDMCP,PulseAudio)

本文说明如何在 Ubuntu 9.10 操作系统中启用 XDMCP 类型的远程桌面并保留声音在服务器端。

我们需要启用 PulseAudio 的系统模式,来解决 XDMCP 远程登录的用户不能使用声音的问题。需要将使用声音的用户加入到 pulse-access 组中才可以访问 pulseaudio 服务。

需要修改的配置文件

/etc/gdm/gdm.schemas
/etc/default/pulseaudio

修改这个 /etc/gdm/gdm.schemas 配置文件启用 XDMCP 访问

    <schema>
      <key>xdmcp/Enable</key>
      <signature>b</signature>
      <default>true</default>
    </schema>

修改这个配置文件 /etc/default/pulseaudio 启用 PulseAudio 的系统模式

PULSEAUDIO_SYSTEM_START=1
DISALLOW_MODULE_LOADING=0

使用下面的命令将需要使用声音的用户加入 pulse-access 组

sudo gpasswd -a username pulse-access

重启系统或启动 pulseaudio 服务。

Over!

取消自动运行 X Window

今天升级了龙芯机器的所有软件包,误操作将 xserver-xorg 一起给升级了,结果导致机器启动到图形界面就死机。而我又只有一个系统,没有其它的修复启动盘。

我用下面的 PMON 命令以单用户模式(不自动进行图形界面)启动了系统,删除了 /etc/rc2.d/S19gdm 文件解决了这个问题。

load /dev/fs/ext2@wd0/vmlinux-2.6.32.7
g console=tty root=/dev/hda2 rootfstype=ext no_auto_cmd quiet S

在输入 root 用户的密码后,使用下面的命令取消图形界面的自动执行。

mv /etc/rc2.d/S19gdm /root

Over!