Archlinux下Galaxy Nexus刷机并root

安卓本来就是 Linux 衍生的,所以必然可以用 Linux 系统进行刷机,而且效果比 Win 还要好.不需要安装驱动,只需要安装 adb 和 fastboot 即可.

# 安装相关依赖

首先通过 AUR 源安装[android-sdk](https://aur.archlinux.org/packages/android-sdk/和android-sdk-platform-tools (opens new window)相关的wiki在 这里 (opens new window)

通过 yaourt -Ql android-sdk-platform-tools 可以发现 adb 和 fastboot 都安装在/opt/android-sdk/platform-tools 目录下,但是 PATH 环境变量没有这个值,所以无法在终端里直接调用必须先设置 PATH 变量 export PATH="${PATH}:/opt/android-sdk/platform-tools"在 .xinitrc 里面添加这句就可以使 X 下的终端 PATH 环境变量被添加.也可以直接执行,当终端关闭时 PATH 变量的设置也失效.

# 配置 ADB

前面提供的 wiki 已经很详细的讲述如何进行ADB 的配置了 (opens new window)

# 测试 FASTBOOT

fastboot 模式(上下音量键和开机键一起按),可以看到一个大大的 Start 画面,这就是进入了 fastboot.或者使用命令adb reboot bootloader。此时把手机用 USB 连入电脑. 在终端里面输入 fastboot devices 如果提示 no permission 即是普通用户没有权限。这时候就需要切换到 root 用户进行执行.如果输入一串数字.则说明系统识别到了你的手机.

# 刷机开始

首先要下载固件 (opens new window)下载下来的 tgz 文件解压即可看到有个 flash-all.sh 的脚本。首先 chmod +x flash-all.sh 赋予脚本执行权限,然后执行这个脚本即可,如果有大量输出则说明刷机正常进行中.

# 后续 ROOT

ROOT 的话首先需要刷 recovery,我们先下载recovery (opens new window)找到自己型号的 recovery 进行下载,我的是 recovery-clockwork-touch-6.0.3.3-maguro.img,touch 代表的是是否支持触摸.否则只能用音量键和开机键进行选择和确定.然后下载 superSU 的 ZIP 压缩包,目前版本是1.41 (opens new window) ,ZIP 格式不要解压.放入 SD 卡中.adb push UPDATE-SuperSU-v1.41.zip /sdcard/将手机关机进入 fastboot 模式,应该先解锁, fastboot oem unlock然后刷入 recovery fastboot flash recovery recovery-clockwork-touch-6.0.3.3-maguro.img按下音量键调至 recovery,按开机键进入,手机会自动重启进入 recovery。choose zip from SDcard,然后依次进入,最终选择 UPDATE-SuperSU-v1.41.zip,确认安装.

注:如果提示是否清除 recovery flash,请选 No,否则下次推送时无法进行 OTA 更新.安装完成后依次返回.这个步骤不会影响 OTA 更新,并且 OTA 更新之后会自动解决 ROOT 的问题,无需再次 ROOT.

# ADB 小技巧

刷机之后需要一大堆 APK 软件安装怎么办 adb 本身只有单个 APK 安装的功能,通过 ls -1 *.apk | xargs -l adb install 这个命令可以批量的把一个文件夹下的所以 APK 安装上去,而且还是静默安装. 不过首先要打开 ADB 调试才行.

# 手机 MTP 连接 Linux 电脑

MTP 是微软发明的东西....当然不好用 目前有两种解决方案一种是 GMTP,速度较慢,因为第一次和之后所有操作之后都会全部索引一遍文件列表.第二种是 gvfs-mtp 结合 thunar 使用,可以自动挂载,如果无法挂载可以使用 lsusb 命令.

Bus 001 Device 117: ID 04e8:6860 Samsung Electronics Co., Ltd GT-I9100 Phone [Galaxy S II], GT-I9300 Phone [Galaxy S III], GT-P7500 [Galaxy Tab 10.1]
1

可以看到我的设备号,然后在地址栏里面输入 mtp://[usb:001,117]/。第一个数字是 Bus 号,第二个数字是设备号.

Archlinux下终端进行代理的解决方案

Linux 下软件安装基本都是在终端下进行的....
虽说安装软件基本上选对源就没有无法安装的,但是 Archlinux 下的 yaourt 安装就是社区打包的软件了.
软件来源各种各样,有的是 Google code 上的,有的是 GitHub 上的,有的就是 sourceforge 上的了.
但是在中国的大环境下不能保证上面网站的正常访问 QAQ Google 的话有 hosts 的情况下基本上是 把 http 修改成 https 就可以下载了,其余两个就只能代理进行下载软件并安装了.

# 代理

首先科学上网的话就需要代理,SSH 这样进行端口监听的比较不错.VPN 是全局代理就不用讲述了. 不过 VPN 也可以走路由表进行部分代理(不在本文讨论范围之内)SSH 的话在 Linux 下就是简单的一句 ssh -NfD 127.0.0.1:7070 user@server
因为 SSH 不是 HTTP 代理,所以需要转发,如果是纯 HTTP 代理的话直接配置环境变量即可. 前面写的是本机代理的端口,后面是服务器的用户名和服务器 IP 地址.

# 转发

SSH 是 SOCKET5 代理,但是下载的话基本上就是 HTTP 代理怎么转发呢? 这里就需要一个软件叫做Privoxy (opens new window) Privoxy 可以把 SOCKET5 转 HTTP 代理, 首先安装它 sudo pacman -S privoxy 然后进行配置 sudo vim /etc/privoxy/config在配置文件里面添加 forward-socks5 / 127.0.0.1:7070 . 注意后面有个点,容易忽略. 这个是转入的 SOCKET5 代理,指的是 SSH 的代理监听的端口号. 配置文件里面有句话是 listen-address 127.0.0.1:8118 这个是转发出去的 HTTP 代理的端口号. 这样写好之后, 启动服务 sudo systemctl start privoxy.service

# 配置环境变量

转发实现之后就可以应用在终端里面了, 在终端里面输入

export https_proxy=127.0.0.1:8118
export http_proxy=127.0.0.1:8118
1
2

这样就完成代理的设置了.

Archlinux下安装过wps之后字体发虚的问题

Office 是 Linux 永远的痛...微软的 Office 市场霸主地位是根本无法撼动的... 但是微软那家伙很讨厌 Linux 和开源... Office 产品目前也只有 Windows 和 Mac 据说微软要出 Linux 版本的 Office...但是不知道猴年马月啊 (望天

之所以字体发虚是因为安装 WPS 之后的方正字体使得 Sans 和 Sans-Serif 字体的中文部分默认指向了方正宋体.所以导致个这个问题的发生... 左边是微米黑,右边是装过 WPS 之后映射的宋体字.... 明显右边太难看了有木有!!! 解决方案是自己编写 fonts.conf 设置字体的优先级...
文泉驿提供了一个在线配置生成工具 (opens new window) 这个网页有部分 JS 资源被墙了,所以需要科学上网才能正常使用,需要注意. 配置完成之后点上面的“生成[create]”按钮,将结果复制保存到~/.fonts.conf 就能覆盖系统的字体选择顺序. 注意上面的方法在 Archlinux 下会出现警告错误提示是过时的使用方法. 正确的解决办法是把配置文件写在 /etc/fonts/conf.avail/50-user.conf 这样就可以完美解决字体发虚的问题了.

下面贴一下我的配置方案:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!-- created by WenQuanYi FcDesigner v0.5 -->
<match>
  <test name="family"><string>Arial</string></test>
  <edit name="family" mode="prepend" binding="strong">
    <string>文泉驿微米黑</string>
      <!-- Please install 文泉驿微米黑 first -->
    <string>文泉驿等宽微米黑</string>
    <string>DejaVu Sans</string>
    <string>DejaVu Sans</string>
    <string>WenQuanYi Micro Hei</string>
      <!-- Please install WenQuanYi Micro Hei first -->
    <string>WenQuanYi Zen Hei</string>
    <string>Liberation Sans</string>
    <string>Droid Sans</string>
    <string>WenQuanYi Bitmap Song</string>
      <!-- Please install WenQuanYi Bitmap Song first -->
    <string>Cantarell</string>
      <!-- Please install Cantarell first -->
    <string>DejaVu Sans Condensed</string>
    <string>DejaVu Sans Light</string>
    <string>DejaVu Sans Mono</string>
    <string>DejaVu Serif</string>
    <string>DejaVu Serif Condensed</string>
    <string>方正书宋_GBK</string>
    <string>方正仿宋_GBK</string>
    <string>方正姚体_GBK</string>
    <string>方正宋体S-超大字符集</string>
    <string>方正宋体S-超大字符集(SIP)</string>
      <!-- Please install 方正宋体S-超大字符集(SIP) first -->
    <string>方正小标宋_GBK</string>
    <string>方正楷体_GBK</string>
    <string>方正细黑一_GBK</string>
    <string>方正行楷_GBK</string>
    <string>方正超粗黑_GBK</string>
    <string>方正隶书_GBK</string>
    <string>方正魏碑_GBK</string>
    <string>方正黑体_GBK</string>
  </edit>
</match>
<match>
  <test name="family"><string>sans-serif</string></test>
  <edit name="family" mode="prepend" binding="strong">
    <string>文泉驿微米黑</string>
      <!-- Please install 文泉驿微米黑 first -->
    <string>文泉驿等宽微米黑</string>
    <string>DejaVu Sans</string>
    <string>DejaVu Sans</string>
    <string>WenQuanYi Micro Hei</string>
      <!-- Please install WenQuanYi Micro Hei first -->
    <string>WenQuanYi Zen Hei</string>
    <string>Liberation Sans</string>
    <string>Droid Sans</string>
    <string>WenQuanYi Bitmap Song</string>
      <!-- Please install WenQuanYi Bitmap Song first -->
    <string>Cantarell</string>
      <!-- Please install Cantarell first -->
    <string>DejaVu Sans Condensed</string>
    <string>DejaVu Sans Light</string>
    <string>DejaVu Sans Mono</string>
    <string>DejaVu Serif</string>
    <string>DejaVu Serif Condensed</string>
    <string>方正书宋_GBK</string>
    <string>方正仿宋_GBK</string>
    <string>方正姚体_GBK</string>
    <string>方正宋体S-超大字符集</string>
    <string>方正宋体S-超大字符集(SIP)</string>
      <!-- Please install 方正宋体S-超大字符集(SIP) first -->
    <string>方正小标宋_GBK</string>
    <string>方正楷体_GBK</string>
    <string>方正细黑一_GBK</string>
    <string>方正行楷_GBK</string>
    <string>方正超粗黑_GBK</string>
    <string>方正隶书_GBK</string>
    <string>方正魏碑_GBK</string>
    <string>方正黑体_GBK</string>
  </edit>
</match>
<match>
  <test name="family"><string>serif</string></test>
  <edit name="family" mode="prepend" binding="strong">
    <string>文泉驿微米黑</string>
      <!-- Please install 文泉驿微米黑 first -->
    <string>文泉驿等宽微米黑</string>
    <string>DejaVu Sans</string>
    <string>DejaVu Serif</string>
    <string>WenQuanYi Bitmap Song</string>
      <!-- Please install WenQuanYi Bitmap Song first -->
    <string>AR PL UMing CN</string>
      <!-- Please install AR PL UMing CN first -->
    <string>AR PL SungtiL GB</string>
      <!-- Please install AR PL SungtiL GB first -->
    <string>WenQuanYi Zen Hei Sharp</string>
      <!-- Please install WenQuanYi Zen Hei Sharp first -->
    <string>AR PL UMing TW</string>
      <!-- Please install AR PL UMing TW first -->
    <string>Liberation Serif</string>
      <!-- Please install Liberation Serif first -->
    <string>Bitstream Charter</string>
      <!-- Please install Bitstream Charter first -->
    <string>Droid Serif</string>
      <!-- Please install Droid Serif first -->
    <string>Cantarell</string>
      <!-- Please install Cantarell first -->
    <string>DejaVu Sans Condensed</string>
    <string>DejaVu Sans Light</string>
    <string>DejaVu Sans Mono</string>
    <string>DejaVu Serif</string>
    <string>DejaVu Serif Condensed</string>
    <string>方正书宋_GBK</string>
    <string>方正仿宋_GBK</string>
    <string>方正姚体_GBK</string>
    <string>方正宋体S-超大字符集</string>
    <string>方正宋体S-超大字符集(SIP)</string>
      <!-- Please install 方正宋体S-超大字符集(SIP) first -->
    <string>方正小标宋_GBK</string>
    <string>方正楷体_GBK</string>
    <string>方正细黑一_GBK</string>
    <string>方正行楷_GBK</string>
    <string>方正超粗黑_GBK</string>
    <string>方正隶书_GBK</string>
    <string>方正魏碑_GBK</string>
    <string>方正黑体_GBK</string>
  </edit>
</match>
<match>
  <test name="family"><string>monospace</string></test>
  <edit name="family" mode="prepend" binding="strong">
    <string>文泉驿微米黑</string>
      <!-- Please install 文泉驿微米黑 first -->
    <string>文泉驿等宽微米黑</string>
    <string>DejaVu Sans</string>
    <string>WenQuanYi Zen Hei Mono</string>
      <!-- Please install WenQuanYi Zen Hei Mono first -->
    <string>WenQuanYi Micro Hei Mono</string>
    <string>DejaVu Sans Mono</string>
    <string>Droid Sans Mono</string>
      <!-- Please install Droid Sans Mono first -->
    <string>WenQuanYi Zen Hei Sharp</string>
      <!-- Please install WenQuanYi Zen Hei Sharp first -->
    <string>Liberation Sans Mono</string>
      <!-- Please install Liberation Sans Mono first -->
    <string>AR PL UMing TW</string>
      <!-- Please install AR PL UMing TW first -->
    <string>Cantarell</string>
      <!-- Please install Cantarell first -->
    <string>DejaVu Sans Condensed</string>
    <string>DejaVu Sans Light</string>
    <string>DejaVu Sans Mono</string>
    <string>DejaVu Serif</string>
    <string>DejaVu Serif Condensed</string>
    <string>方正书宋_GBK</string>
    <string>方正仿宋_GBK</string>
    <string>方正姚体_GBK</string>
    <string>方正宋体S-超大字符集</string>
    <string>方正宋体S-超大字符集(SIP)</string>
      <!-- Please install 方正宋体S-超大字符集(SIP) first -->
    <string>方正小标宋_GBK</string>
    <string>方正楷体_GBK</string>
    <string>方正细黑一_GBK</string>
    <string>方正行楷_GBK</string>
    <string>方正超粗黑_GBK</string>
    <string>方正隶书_GBK</string>
    <string>方正魏碑_GBK</string>
    <string>方正黑体_GBK</string>
  </edit>
</match>
</fontconfig>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170