在Arch下获得Lenovo A60手机的Root权限

手里有个联通充花费送的联想A60,虽然配置低端,但是搭载Android系统,功能还是齐全的,打算先用一阵子。不过有很多联通制定的软件,需要删掉的话必须有root权限,于是折腾开始了。

一、安装Android SDK,可以通过aur搞定,装这两个包:android-sdk和android-sdk-platform-tools,当然也可以去官方网站下载,手动安装。

二、修改udev的规则,让其识别手机(参考arch wiki)。

1、通过USB连接手机,执行lsusb命令,得到一行类似下面的信息:

Bus 002 Device 006: ID 0bb4:0c8d High Tech Computer Corp.

其中“0bb4:0c8d”前四位是[VENDOR ID]后四位是[PRODUCT ID]

2、根据以上信息修改/etc/udev/rules.d/51-android.rules文件(如果没有则新建一个),加入下面三行内容(将其中的ID部分按照上一步的信息替换掉):

SUBSYSTEM==”usb”, ATTR{idVendor}==”[VENDOR ID]”, MODE=”0666″
SUBSYSTEM==”usb”,ATTR{idVendor}==”[VENDOR ID]”,ATTR{idProduct}==”[PRODUCT ID]”,SYMLINK+=”android_adb”
SUBSYSTEM==”usb”,ATTR{idVendor}==”[VENDOR ID]”,ATTR{idProduct}==”[PRODUCT ID]”,SYMLINK+=”android_fastboot”

3、保存之后运行 sudo udevadm control –reload-rules 来使其生效。

三、准备破解工具,到这里下载一个包,里面用到的是zergRush, Superuser.apk, su-v2, busybox这些文件,将它们找出来,然后找个地方放一下,这里以放在我的home里为例。

还有,在手机上打开USB调试:设置——应用程序——开发——USB调试,勾上即可。

四、开始破解

1、进入SDK的工具目录(我不知道为何aur安装的这玩意儿路径不对)

cd /opt/android-sdk/platform-tools

2、通过USB连接手机,运行 adb devices 命令,看结果是不是类似(如果不能连接,参见wiki)

List of devices attached
0123456789ABCDEF    device

3、开始了!

$ sudo su (自己的电脑先取得root权限)
# adb push /home/me/zergRush /data/local/tmp  (拷入zergRush)
# adb shell chmod 777 /data/local/tmp/zergRush   (修改权限)
# adb shell /data/local/tmp/zergRush  (执行它开始破解)
接下来会看到闪过一些字,最后成功:
[+] Rush did it ! It’s a GG, man !
[+] Killing ADB and restarting as root… enjoy!

继续执行下面的命令:

# adb shell  (进入手机的shell)
# mount    (查看挂载信息)
/dev/block/mtdblock11 /system yaffs2 ro,relatime 0 0   (其中一行:/system的挂载位置)
# mount -o remount,rw -t yaffs2 /dev/block/mtdblock11 /system   (将其重新挂载为可写)
# exit (退出手机终端)

# adb push /home/me/Superuser.apk /system/app/Superuser.apk  (拷入三个文件,下同)
# adb push /home/me/su-v2 /system/bin/su
# adb push /home/me/busybox /system/bin/busybox
# adb shell chmod 4755 /system/bin/su   (修改su的权限)
# mount -o remount,ro -t yaffs2 /dev/block/mtdblock11 /system  (重新挂载为只读)
# reboot (重启手机)

大功告成!

参考链接:
https://www.deleak.com/blog/2010/12/17/android-root-on-linux
http://jbakshi.50webs.com/Linux_tutorial/rootA60/rootA60.html
https://wiki.archlinux.org/index.php/Android-sdk
http://www.kunli.info/2009/08/22/archlinux-android-adb-recognize-device/
http://products.mobileuncle.com/thread-68318-1-1.html  (查看哪些可刪哪些不可刪)

逃叛笔记——从Ubuntu 11.04 到 Arch

记得前些日子刚刚升级到Ubuntu 11.04的时候还是觉得Unity没有想象中那么差,而且我也很习惯那样的操作方式。问题是整个系统太不流畅了,CPU经常居高不下,偶尔莫名卡住或者死机。Ubuntu 11.04真的不给力,不是因为Unity,而是因为本身,我觉得这个正式版顶多能算是Beta版。

于是乎,果断逃叛到Arch,为此我还专门买了个U盘来作为安装盘,可让我等了不少天。好了,闲话少说,正题开始,主要是一些粗略的过程和注意点,希望对受不了11.04而准备上Arch的童鞋有点帮助。

准备工作

至少你要有一个安装介质吧,虽说硬盘安装肯定是有方法的,但是那样很折腾,不如传统方法方便。你可以刻光盘,也可以用U盘。这些wiki上写的很详细,不再熬述。顺便说一下,我选择的是64位的系统,我的配置并不高,奔腾双核,2G内存,但是用起来没问题。

还有一件事情非常重要:备份数据!主要是你的/home目录。我的情况是一共/和/home还有swap三个分区。安装后/的分区全部抹掉,/home保留不动,swap随便它怎么搞,反正里面没东西,浮云。

开始安装

主要还是参考wiki,可以事先读几遍,把主要步骤写在纸上(如果你没有打印机),当然,还有就是在安装的时候你可以按Alt+F2切换到tty2然后运行less /usr/share/aif/docs/official_installation_guide_en查看安装指南。

时区稍微留意一下,如果你设置UTC,然后发现时间不对了,不要手动修改,那样会同步到CMOS,导致win的时间乱掉,所以应该选择localtime才对。

前面的步骤很简单,如果你以前用文本方式安装过linux,那就是小case,主要注意的地方是分区设置,/的分区需要(re)create分区,也就是格式化神马的,但是/home的分区千万不能(re)create,至于swap,随便,挂载上去就行。

安装包的时候把base和base-devel全选上,后者以后你要编译程序会用上。

后面配置比较重要一点,一个是/etc/rc.conf,里面有一些地方要修改,比如LOCALE,HOSTNAME,DAEMONS。关于LOCALE说一下,如果你用英文界面,想显示中文并能输入中文,根本不需要设置LC_CTYPE,也就是说保持默认的LOCALE为en_US.UTF-8就可以。不过在/etc/local.gen里面最好把zh_CN开头的几个都取消注释。

还有一个是/etc/pacman.d/mirrorlist,设置源的,我这里lupaworld奇快,基本都是满速。

后续配置

除了上面说的一些,其他自行搞定了然后重启(别忘了拔掉安装盘)就可以使用了。刚刚装好的Arch是没有图形界面的,而是一个CLI的很干净的系统。这里我要感慨一下命令行的强大。当时还没装X(别误解,是指X11)的时候,出了一些问题,我随便装了个叫freetalk的东东,直接就上了Gtalk然后向del童鞋请教去了……当然命令行能做的远不只这些,浏览网页,听歌甚至看电影都可以。不可思议。

动手之前运行一下pacman -Syu更新系统,之后可以参照wiki,安装显卡驱动和X,还有要添加一个日常的用户,不要用root。安装sudo和gksu,还有要把它加入一些用户组,这个用户的名字最好和你之前的系统里的一样,这样home里面的个人文件夹也不要改名字麻烦了,这些都可以在wiki查到。

然后我装了Gnome 3,注意,要把dbus添加到/etc/rc.conf的DAEMONS里面,不然会出问题无法启动。还有要装一些你喜欢的中文字体。然后装一下gdm(同上,也要放进DAEMONS,放在最后一个),如果你喜欢用它登录的话。当然也可以自己敲命令或者其他方法登录到GNOME 3。

之后重启应该就可以进入桌面了。然后随便折腾把,说一下终端中文乱码的问题,在菜单上点Terminal –> Set Character Encoding –> Unicode (UTF-8) 就好了,不需要设置LOCALE那么麻烦。

总结

虽然折腾了两天,但是感觉这一次安装,对linux又有了更深的了解。

系统升级后故障修复一例

前两天在亲戚家,电信的网络,速度快,正好闲着没事,就把ubuntu从10.04升级到了10.10,结果就出问题了。
表现是,开机后在gnome的登录界面出现之前就卡住,屏幕一片黑,什么提示都没有。
然后进了recovery mode,发现是因为xorg无法启动,原因是没有显卡驱动。
之前10.04的时候源里的intel显卡驱动有问题,于是自己编译了一个,所以升级的时候没有给我升级上去,编译的那个不知道为什么也不能用了,所以图形界面就启动不起来了。
只能进入到命令行,但是当时的网络环境很奇怪,显示无线连接到猫,然后拨号。因为命令行下我不会用无线,所以直接找了一根线连上了猫,然后设置了宽带拨号,第一次很正常,ping google能通,w3m也能正常浏览网页,等我重启之后再去拨号,虽然能拨通,ifconfig也能看到ppp0的状态很正常,但是ping外网都不通,看了一下iptables里面有很多DROP,不知道是什么程序给设置的,不会弄,无奈。
回家之后网络就简单了,路由器,直接插线,成功上网。用aptitude找到intel显卡驱动,装好,startx,一切正常。

WordPress博客迁移又一例

今天又迁移了一下,据说原来的空间要封号,汗,本来不想迁的,最后还是迁了……
上次是从Dreamhost Apps,过来的,因为目录结构和数据库什么的相比普通的,不太一样,而且权限太少,折腾死了。
这次迁移就简单多了,FTP把所有东西拉下来再上传到新空间(我想知道FlashFXP怎么用),数据库备份再导入,域名重新绑定,就OK了。
新的空间RSS应该没问题了,就这样,明年合并Blog时候再大折腾,现在没时间,将就用着。

WordPress博客迁移一例

之前用的是Dreamhost Apps,基本满意,缺点就是不能自己上传主题安装插件,本想就这么将就着用用,后来也觉得不爽了,于是找了一个免费的空间,把blog迁移过去了,域名不变。大致步骤如下:

1)在Dreamhost Apps的Panel里提交一个备份数据库的请求,然后他们备份好会发到邮箱里。

2)解压那个备份的包,得到一个文件,用自己喜欢的编辑器打开替换里面所有”wp_xxxxxxxxx” 为”wp_”(x为一串数字,自己找一下,每个人都不一样,会在里面出现好多次的,很明显)。

3)在新的空间的panel创建一个数据库,架设名字是wp_blog,数据库用户名是wp_user,然后修改刚刚那个文件的开始Database: 后面改成刚刚创建的数据库的名字,本例为wp_blog,保存然后打包为gz格式,作为备份上传,恢复(覆盖)掉刚刚的数据库。

4)下载Wordpress程序,修改wp-config.php中对应的数据库名,用户名、密码,然后从FTP上传整个Wordpress程序。

5)设置域名,指向新的空间,可能要等很久。

6)访问新的域名,可能会因为主题不一致而显示不出,所以直接登录后台(wp-login.php),可能会提示要升级数据库,升级好后则可进入后台,设置一下主题,之后主页即可正常显示。

PS:本例中域名不变,如果域名改变,可能要手动改数据库,或者有其他什么更好的方法,我没试过。

重要:忘了,备份的时候,除了数据库,还有uploads里面的所有文件,dreamhost apps没有ftp后台,所有只能用爬虫把图片什么的爬下来,然后把这些文件传到新的blog的uploads里面,我备份的时候忘了,现在域名转到新的了,旧的访问不了,有点麻烦,正在想办法恢复。

体验Ubuntu 10.04

昨天花了好几小时升级到了10.04,忍者剧烈的头痛。
整个过程还是很顺利的,一些小问题被修整好了,但是还有个问题没解决,就是特效开不了了,虽然显卡驱动装好了。可能是个bug,最近观望一下。
界面很不错,然后我稍微改了一下,不过也不是很认真的,觉得不难看就好了。
上几张截图: