zoukankan      html  css  js  c++  java
  • Chromebook(XE303C12)安装 ArchLinux

    之前低价收到一个三星的 Chromebook,型号是 XE303C12。这几天想把它的系统改成 Linux,毕竟 ChromeOS 上的应用太少了。因为这个本子的 CPU 是 ARM 芯片,所以网上的资料少点,而且内核都是用谷歌提供的 3.8 版本的内核,只看到 ArchLinux 上有 4.16 版本的内核,所以决定安装 ArchLinux。

    简介

    这个 Chromebook 的配置,至少比同价位的买的树莓派的配置高的多了。

    安装到 U 盘

    首先本子目前是 ChromeOS,如果你想安装成 Linux 的话,先要把 Linux 安装到 U 盘,所有先准备一个 U 盘插入到 Chromebook 上。

    开发者模式

    关机,在开机的时候按住 ESC + Refresh + Power 三个键。在 Recovery 界面按 Ctrl + D,然后就会提示按 Enter 开启开发者模式。

    外部启动

    为了后面的从 U 盘启动,这里先要开启从外部启动。当你开启了开发者模式后,进入到系统,然后按 Ctrl + Alt + T 就会打开一个终端,敲 shell 就能进入 Bash,然后 sudo su 获取 root 权限。开启外部启动:

    crossystem dev_boot_usb=1 dev_boot_signed_only=0
    

    重启后就能生效,你重启后可以敲 crossystem 验证之前的设置是不是成功了。

    制作启动盘

    这里我用 U 盘做启动盘,安装方法参考官方给的教程

    安装到系统

    上面的步骤还保留了 ChromeOS,Linux 只是安装到 U 盘而已,我要把 ChromeOS 彻底替换成 ArchLinux,还要把 ArchLinux 安装到系统盘上。也就是 mmcblk0。因为 ArchLinux 没有 cgpt 命令,还要自行安装。

    pacman -S cgpt
    

    把安装到 U 盘的教程中的 /dev/sda 替换成 mmcblk0,把 /dev/sda1 替换成 mmcblk0p1,把 /dev/sda2 替换成 mmcblk0p2。关机,拔下 U 盘,启动就可以进入 ArchLinux 了。

    更新

    Arch 的特点就是滚动更新,拿到之后最好隔一小段时间就更新一下。更新前最好换成国内的镜像源,我是用的是中科大的镜像源

    pacman -Syyu
    

    我这里更新忽略关于系统的升级,因为我升级后就不能开机了。

    编辑 /etc/pacman.conf 文件,修改如下:

    IgnorePkg   = linux-armv7 linux-armv7-chromebook linux-firmware
    

    安装软件包组 base-devel,解决编译依赖问题。

    pacman -S base-devel
    

    语言

    默认的话你会发现 TTY 不能显示中文,需要设置 locale。修改 /etc/locale.gen 文件,取消注释下面两行。

    en_US.UTF-8 UTF-8
    zh_CN.UTF-8 UTF-8
    

    然后重新生成一下区域信息。

    locale-gen
    

    接下来全局配置一下 /etc/locale.conf 文件。

    LANG=en_US.UTF-8
    

    或者不用全局配置,在 .zshrc 中配置也可以。

    export LC_ALL=zh_CN.UTF-8
    export LANG=zh_CN.UTF-8
    

    时间

    改成上海的时区。

    timedatectl set-timezone Asia/Shanghai
    

    开启网络对时功能。

    timedatectl set-ntp true
    

    添加用户

    默认用户和密码都是 root,肯定不方便后续使用。

    useradd -m -g 初始用户组 -G 额外用户组 -s 登陆shell 用户名
    useradd -m -g users -G wheel -s zsh ouyangsong
    

    别忘了给它设置密码。

    安装 sudo 后,把 wheel 组都改成免密码使用 sudo 权限。编辑 /etc/sudoer,取消注释下面两行。

    %wheel ALL=(ALL) ALL
    %wheel ALL=(ALL) NOPASSWD: ALL
    

    硬盘休眠

    我把一个旧硬盘挂载到 Chromebook 上,当硬盘不使用的时候,需要让硬盘休眠,延长硬盘使用寿命。安装 hdparm 即可。设置 10 分钟空闲就休眠。

    新建一个服务 /etc/systemd/system/hdparm.service

    [Unit]
    Description=hdparm sleep
    
    [Service]
    Type=oneshot
    ExecStart=/usr/bin/hdparm -q -S 120 -y /dev/sdb
    
    [Install]
    WantedBy=multi-user.target
    

    然后设置开机自启动即可。

    网络

    使用 wifi-menu 命令就可以连无线网。因为我主要是远程登陆,所以还需要安装 openssh,这样就可以通过学校局域网 IP 登陆了。

    Chromebook-ArchLinux

    开机自动登陆 wifi。首先使用 wifi-menu 手动成功登陆,会自动生成一套配置文件。然后安装相关的包。

    pacman -S netctl wpa_actiond
    

    查看 /etc/netctl 确认是否已经生成了 wifi 配置文件。

    [root@alarm ~]# ls /etc/netctl/
    examples  hooks  interfaces  mlan0-czxxxxxxxxxx
    [root@alarm ~]# cat /etc/netctl/mlan0-czxxxxxxxxxx
    Description='Automatically generated profile by wifi-menu'
    Interface=mlan0
    Connection=wireless
    Security=wpa
    ESSID=czxxxxxxxxxx
    IP=dhcp
    Key=password
    

    连接 wifi 的命令。

    systemctl start netctl-auto@mlan0.service
    

    开机自动连接 wifi 的命令。

    systemctl enable netctl-auto@mlan0.service
    

    安装网络相关的包。

    pacman -S net-tools dnsutils inetutils iproute2
    

    ifconfig、route 在 net-tools 中,nslookup、dig 在 dsnutils 中,ftp、telnel 在 inetutils 中,ip 命令在 iproute2 中。

    还有一个问题就是合上盖子后,网络就断了,这里需要编辑 Login Manager 的配置。

    编辑 /etc/systemd/logind.conf 文件,修改如下:

    #HandleLidSwitch=suspend
    

    改成如下:

    HandleLidSwitch=ignore
    

    这样就可以合上盖子,安心的做一个「高配树莓派」了。

    https://www.ouyangsong.com/posts/50132/

    欧阳松 (@ouyangsong) 的博客,关于算法,编程语言以及黑客精神的笔记,记录了程序员的修炼之道。
  • 相关阅读:
    POJ 1328 Radar Installation
    POJ 1700 Crossing River
    POJ 1700 Crossing River
    poj 3253 Fence Repair (贪心,优先队列)
    poj 3253 Fence Repair (贪心,优先队列)
    poj 3069 Saruman's Army(贪心)
    poj 3069 Saruman's Army(贪心)
    Redis 笔记与总结2 String 类型和 Hash 类型
    数据分析方法有哪些_数据分析方法
    数据分析方法有哪些_数据分析方法
  • 原文地址:https://www.cnblogs.com/ouyangsong/p/9348163.html
Copyright © 2011-2022 走看看