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!

解决 ALSA 声卡驱动的噪音问题

我买了一个 USB 声卡,使用中发现通过 ALSA 驱动播放时输出的声音伴随着噪音,而 OSS 没有。下面给出一个解决办法。

修改 /etc/asound.conf 为下面的数据

# /etc/asound.conf
 
pcm.card0 
{
    type hw
    card 0
}
 
pcm.!default
{
	type plug
	slave.pcm "asymer"
}
 
pcm.asymer
{
	type asym
	playback.pcm	"dmixer"
	capture.pcm	"dsnooper"
}
 
pcm.dmixer
{
	type dmix
	ipc_key	1025
	ipc_key_add_uid	yes
 
	slave
	{
		pcm		"hw:0,0"
		period_time	0
		period_size	2048
		buffer_size 	262144
		rate		48000
	}
}
 
pcm.dsnooper
{
	type dsnoop
	ipc_key	1125
	ipc_key_add_uid	yes
 
	slave
	{
		pcm		"hw:0,0"
		period_time	0
		period_size	2048
		buffer_size	262144
		rate		48000
	}
}

如题问题仍然存在,需要再加大 buffer_size 的值,建议为 2 的 n 次方。

Over!

Linux 系统中使用 SSH 代理

SSH 是一款功能强大的软件,这个不用我再多说了,这次我们使用它的通道功能实现一个 socks 5 代理。

你需要一个可用的 ssh 账号,网络上很多的哦,不知道可以联系我。

我们以 Debian 系统为例,讲解一下如何连接SSH服务器并创建代理服务和在 Firefox 中使用它。

创建代理服务

ssh -N -D 6000 username@server_address

设置 Firefox 使用代理
1. 在地址栏里输入 about:config
2. 设置 network.proxy.socks_remote_dns = True
3. 选择菜单中 [编辑]->[选项]
4. 转到 [高级]
5. 转到 [网络],点击 [设置]
6. 选择 [手动设置代理]
7. 在 SOCKS 主机里输入 localhost 端口输入 6000
8. 选择 SOCKS v5
9. 确定保存

下面就浏览你的自由世界吧!

Over!

逸珑笔记本使用 Silicon Motion for XServer 驱动

在 Debian 6(Squeeze) 系统中直接安装 xserver-xorg-video-siliconmotion 上不能正常使用的。需要给 xorg-server 打上 mips 的补丁,并重新编译安装才可以。也可以直接下载我编译好的 deb 安装。

补丁程序: http://www.heiher.info/service/projects/xserver/01_mips-sarea.diff
xorg.conf: http://www.heiher.info/service/projects/xserver/xorg.conf
编译好的 deb 包: http://www.heiher.info/service/projects/xserver/deb/

使用补丁和重新编译 xorg-server 的流程

mkdir xorg-server
cd xorg-server
apt-get source xorg-server
dpkg-source -x xorg-server*.dsc
cd xorg-server*/debian/patches/
wget http://www.heiher.info/service/projects/xserver/01_mips-sarea.diff
echo "01_mips-sarea.diff" >> series
cd ../../
dpkg-buildpackage -rfakeroot -uc -b
cd ../
rm xserver-xorg-core-dbg*
sudo dpkg -i *.deb
wget http://www.heiher.info/service/projects/xserver/xorg.conf
sudo cp xorg.conf /etc/X11/

Over!

龙芯机器的 Debian 依赖出问题了

上次更新软件列表后,totem-plugins gnome-power-manager 等包的依赖就出现了问题,导致 gnome-desktop-environment 等包被删除了。

由于一直通过 XDMCP 方式在使用 Ubuntu 系统,也就一直没有管它,当今天再次更新一下软件列表后,发现只有 totem-plugins 的依赖存在问题了。

我把 totem-plugins 下载下来,解开后把依赖修改了一下,从本地安装上后,成功安装了 gnome-desktop-environment,等待以后的修复就可以升级了。

Over!