Gpd Pocket的折腾日记——安装Arch

0x00 背景

知识储备:接触过linux,对基本的命令还算熟悉,有过折腾FedoraUbuntuArch的经历,能够查看wiki解决遇到的问题。
GPD体验:去年11月份入手Gpd Pocket,我日常需求如下:

  • 上网、视频等对性能要求不高的常规行为,体验相当不错,据说高清视频会卡,不过我没看过;
  • 老掉牙的游戏,比如骑砍、杀戮尖塔、PSP版战神、老滚5,这些任务Pocket都能完美胜任;
  • 程序开发,这方面Pocket的性能有点捉襟见肘,PycharmEclipse等大型IDE的卡顿非常明显,AtomVScode还算比较流畅,个人常用是gVim+spf13
  • 电量使用的话,不玩游戏一般4个小时左右,玩游戏的话1-2个小时;
    总体上来说还算不错,但是自带的Win10家庭版,体验非常不好。不爽之处有四:
  • 自动更新无法彻底关闭,各种更新提示堪比小广告;
  • Windows平台各种花式捆绑的安装包,这是最让我无法忍受的;
  • 用一段时间后,会出现WiFi搜不到信号的情况,需要开关飞行模式重新搜索;
  • 还有一点,自带的键盘用起来体验相当差,键位分布比较奇葩,个别键容易出现问题(我的o键偶尔会按一下触发2次,c键不够灵敏),当然这跟系统无关,是硬件问题。
    系统配置:
  • 系统:Arch
  • 登录管理器:LigntDM
  • 桌面环境:xfce

0x01 制作引导盘

1. 下载镜像

可以直接从官网下载或国内的镜像站,比如清华大学开源镜像站 等等。在我的机器上用U盘引导安装时会出现间歇性黑屏的问题,每次运行到用户登录时就会黑屏,偶尔有几次可以进到安装界面。不知道是不是普遍性问题。解决方案有两种:一是开机前烧香拜佛祈求菩萨保佑,二是换一个镜像。
Archwiki上有一个专门的页面GPD Pocket ,上面提供了一个pre-patched ISO,GPD-ArchISO

2. 制作引导盘

准备一个U盘,精简如Arch,4G足够了。Linux可以直接用dd命令将镜像写入U盘,Windows上推荐用rufus,小巧简洁。

0x02 安装Arch

系统安装与其他机器没有什么区别,可以参考官方wiki和网上的各种教程。

1. 修改boot选项

按下开机键后狂按del键,等待进入BIOS界面。之后设置从U盘引导,退出BIOS后就可以进入到安装界面了。安装界面是纯命令行的,不要怀疑自己的眼睛,你!没!看!错!

2. 基础设置

这部分主要完成两项工作就可以了。

  • 联网
    没网装个JB!Arch的安装过程是必须保持网络连接的。官方版镜像是不能直接连接WiFi的,这地方可以用手机通过USB共享网络或者直接用有线,不要忘了用dhcpd获取IP。pre-pached版镜像已经修复了WiFi问题,可以直接用wifi-menu连接。
  • 选择软件仓库服务器
    主要是为了下载更快一点,通常选择国内镜像。
vim /etc/pacman.d/mirrorlist

找到国内的镜像后移到文件开头就可以了。

3. 硬盘分区

Arch会将系统的一切都交给你自己来决定。Gpd Pocket只支持UEFI引导,下面是我自己的分区方案,可以做个参考:

设备                            对应挂载点        起点              末尾               扇区      大小           类型
/dev/mmcblk0p1      /boot                  2048       4196351       4194304         2G           EFI 系统
/dev/mmcblk0p2      /                    4196352     88082431    83886080       40G           Linux 文件系统
/dev/mmcblk0p3      /home        88082432   240101375  152018944     72.5G          Linux 文件系统
/dev/mmcblk0p4      swap分区 240101376   244277214     4175839          2G           Linux swap

使用fdisk -l查看硬盘情况,用partedcfdisk进行分区。
命令为cfdisk /dev/mmcblk0,需要注意的是,Gpd Pocket使用的是emmc硬盘,所以对应设备名为/dev/mmcblk0

4. 格式化并挂载

  • 格式化分区
    需要注意的是不同类型的分区格式化命令有所区别。
mkfs.fat -F32 /dev/mmcblk0p1
mkfs.ext4 /dev/mmcblk0p2
mkfs.ext4 /dev/mmcblk0p3
mkswap /dev/mmcblk0p4
swapon /dev/mmcblk0p4
  • 挂载分区
    首先挂载根目录,也就是/dev/mmcblk0p2
mount /dev/mmcblk0p2 /mnt
mkdir /mnt/{boot,home}
mount /dev/mmcblk0p1 /mnt/boot
mount /dev/mmcblk0p3 /mnt/home

5. 部署基本系统

安装基本包basebase-devel就可以了,如果需要netstat之类的命令,需要安装net-tools

pacstrap -i /mnt base base-devel net-tools

6. 生成fstab

fstab中记录了挂载的相关信息

genfstab -U -p /mnt >> /mnt/etc/fstab

0x03 基本配置

至此我们已经Arch基本系统已经安装完成,下面我们将切换到安装好的系统里进行一些基本的配置。

1. 切换系统

arch-root /mnt

这样我们就以root用户的身份进入到安装好的系统中。在/etc/pacman.conf中添加如下配置:

[gpd-pocket-arch]
SigLevel = Never
Server = https://github.com/joshskidmore/gpd-pocket-arch/raw/master

然后执行以下命令

pacman -Syu gpd-pocket-support
pacman -S gpd-pocket-alsa-lib

当然,也可以参照wiki手动配置。

2. 设置时区

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc

3. 安装必要的软件

Arch是很干净的,基本包真的很基本,所以,提前安装需要用到的软件是很必要的。主要有下面几个:

  • vim,Arch只包含了vi
  • dialog、wpa_supplicant、networkmanager,网络相关工具,为wifi-menu提供必要支持
  • intel-ucode,intel CPU必须

4. 设置locale

编辑/etc/locale.gen文件

vim /etc/locale.gen

删除

zh_CN.UTF-8 UTF-8
zh_HK.UTF-8 UTF-8
zh_TW.UTF-8 UTF-8
en_US.UTF-8 UTF-8

这四行前面的注释,然后执行

locale-gen
echo LANG=en_US.UTF-8 >> /etc/locale.conf

5. 设置主机名

创建/etc/hostname文件,添加自己的主机名;
编辑/etc/hosts文件,添加下列几行:

127.0.0.1         localhost.localdomain    localhost
::1                    localhost.localdomain    localhost
127.0.1.1         myhostname.localdomain    myhostname

6. 设置密码

passwd

为以后使用方便,可以创建一个管理员用户,并设置密码

useradd -m -G wheel username
passwd username
  • -m创建家目录
  • -G添加到wheel群组
    安装sudo,开放wheel群组的管理员权限
pacman -S sudo
visudo

visudo会以vim方式打开配置文件,在其中找到%wheel ALL=(ALL) ALL并删除前面的注释。

7. 安装bootloader

Bootloader使用grub2,分三步走:

  1. 安装grubefibootmgr两个包:
pacman -S grub efibootmgr
  1. 部署grub:
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub

  1. 生成配置文件
grub-mkconfig -o /boot/grub/grub.cfg

8. 退出安装,重启进入新世界

exit
reboot

至此,我们已经解决了“可以用”的问题。

0x04 桌面环境配置

玩过Linux的都知道,对于Linux而言,桌面环境不是必需的,你可以在终端中完成大部分的任务。但是!想用着爽,没有桌面环境是万万不行的。下面主要是解决“用着爽”的问题。

1. 基础配置

在基础配置中干两件事:安装显卡驱动和xorg
可以用下面的命令查看显卡型号,根据显卡型号确定驱动。

 lspci | grep VGA    # 确定显卡型号

对于Pocket而言,可以直接安装官方仓库中的xf86-video-intel

pacman -S xf86-video-intel

随后安装xorg

pacman -S xorg xorg-xinit

安装完成后可以用startx测试是否安装成功,成功的话会出现几个简陋的窗口,可以用<C-D>退出。

2. 安装xfce4和lightdm

pacman -S xfce4 xfce4-goodies
pacman -S lightdm lightdm-gtk-greeter

Arch使用systemd管理系统服务,可以这么测试

systemctl start lightdm.service

运行后会看到熟悉的登录窗口。
然后将lightdm设置为开机启动,这样开机就直接进入登录界面而不是出现终端登录了:

systemctl enable lightdm.service

3. 配置中文

虽然英文界面大部分人使用应该没有太大障碍,但是终归是不爽。可以采取以下方式在图形环境中启用中文,在tty终端中保持英文,防止乱码。
首先修改/etc/locale.conf文件

echo LANG=zh_CN.UTF-8 > /etc/locale.conf

然后根据个人需求可以修改以下文件:
~/.bashrc: 每次终端时读取并运用里面的设置
~/.profile:每次启动系统的读取并运用里面的配置
~/.xinitrc: 每次startx启动X界面时读取并运用里面的设置
~/.xprofile: 每次使用lightdm等图形登录管理器时读取并运用里面的设置
将下面两行添加到文件末尾

export LANG=zh_CN.UTF-8 
export LANGUAGE=zh_CN:en_US

4. 安装AUR

Arch用户软件仓库(Arch User Repository,AUR)是为用户而建、由用户主导的Arch软件仓库。AUR中的软件包以软件包生成脚本(PKGBUILD)的形式提供,用户自己通过makepkg生成包,再由pacman安装。创建AUR的初衷是方便用户维护和分享新软件包,并由官方定期从中挑选软件包进入community仓库。
其配置方法为修改/etc/pacman.conf,加入下面三行

[archlinuxcn]
SigLevel = Never   #安全签名设置,可以不加,但是部分软件可能出现签名不受信任的情况
Server   =  http://repo.archlinuxcn.org/$arch

然后同步并安装yaourt

sudo pacman -Sy yaourt 

yaourt使用方法与pacman类似,但不用加sudo

5. 安装中文输入法

sudo pacman -S fcitx fcitx-im fcitx-googlepinyin

修改/etc/profile文件,加入以下三行,已解决输入法不能激活的问题

export XMODIFIERS="@im=fcitx"
export GTK_IM_MODULE="fcitx"
export QT_IM_MODULE="fcitx"

以后用CTRL+SPACE就可以激活输入法了。

6. MTP连接Android手机

Arch有的手机通过USB连接时可以被检测到,但是不能在文件管理器中管理文件,这简直是无法忍受的,好在官方wiki 上给出了解决方案。
我测试过jmtpfsandroid-file-transfer,推荐使用android-file-transferjmtpfs挂载后虽然可以在文件管理器中直接操作,但是读取文件列表的速度实在太慢,还容易卡死 。

0x05 其他配置

目前的配置已经可以满足我日常的需求了,列一下我的常用软件和简单的体验

  • vimvim+spf13,一个懒人党的vim终极配置
  • zshzsh+oh-my-zsh,shell的终极配置
  • tilda,下拉式仿真终端,个人觉得比xfce终端好用
  • chromium,配置AdBlock Plus+Tampermonkey+vimium,尤其是vimium是浏览网页时拯救小蓝点的神器
  • Remarkable,MarkDown编辑器,体验还可以,但是预览不能同步滚动比较蛋疼,当文件比价大时,会有一定的卡顿(目前文档行数250+,删除长文本时光标移动卡顿明显),体验不如Win10上使用typora
    换用Arch后的体验比Win10好多了,特别是电池使用简直是飞一般的提升,曾做过简单的实验,开机后待机两小时,耗电10%,今天开网页编辑文档,一个小时40分钟,耗电23%。但是,生命不息,折腾不止,如果你还有更多的需求,Arch还有更多的坑等着你来填_
  • 播放器,这个确实是个大坑,Pocket音量调节需要好好折腾
  • 蓝牙,这个比较简单,在wiki有教程,但是对于特定的硬件可能比较坑。我的蓝牙键鼠工作完美,Xbox手柄无法作为HID连接,不过用连接线配合PPSSPP玩战神还是比较爽的。
  • 网络,有的教程说需要禁用netctl,启用networkmanager,不过我好像没专门配过,一直在仿真终端里wifi-menu……
    如果想自己折腾Arch,给大家三点忠告:
  1. 先了解分区之类的基本知识,备份好资料(我特么硬盘资料忘了导出了我会说吗?!)
  2. 大部分问题可以直接在官方wiki找到答案,解决Android连接就直接搜mtp,遇到蓝牙问题就直接搜bluetooth,这方面Arch做的简直太棒了!
  3. 千万千万注意下中文网页的翻译时间!!!尽量直接看英文版网页,哪怕直接看机翻也行,中文网页由于翻译时间差,很多内容不全,有的Bug没有修复。
    最后祝大家搞机愉快,溜了溜了
    附一张桌面图:


    截图_2018-04-30_21-08-02.png

参考文章:
以官方Wiki的方式安装ArchLinux
Archlinux 安装教程
Archwiki
Arch Linux 安装指南[2018.03.01]
Archlinux安装xfce4桌面及美化流程
GPD Pocket 上手 & ArchLinux

欢迎关注公众号懒人的进化之路

qrcode.jpg

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 151,511评论 1 330
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 64,495评论 1 273
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 101,595评论 0 225
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 42,558评论 0 190
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 50,715评论 3 270
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 39,672评论 1 192
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,112评论 2 291
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 29,837评论 0 181
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 33,417评论 0 228
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 29,928评论 2 232
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,316评论 1 242
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 27,773评论 2 234
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,253评论 3 220
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 25,827评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,440评论 0 180
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 34,523评论 2 249
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 34,583评论 2 249