• 树莓派3B安装 Arch Linux ARM


    Arch 并不是一个对新手友好的发行版。于是打算用闲置的树莓派先试个水。吃灰太浪费了。

    安装

    分两个区,比较好的方式是第一个分区分为 100M 的 fat32,第二个利用余下的空间分为 ext4。

    # as root
    fdisk /dev/sdX
    mkfs.vfat /dev/sdX1
    mkfs.ext4 /dev/sdX2
    

    需要注意的是上面的命令实际上把 sdX1 格式化为 fat16,但是并没有什么影响。也可以 mkfs.vfat -F 32 /dev/sdX1 强制分为 fat32。

    把它们挂载到喜欢的地方,然后下载安装包并解压,这里用到了 bsdtar

    wget http://mirrors.ustc.edu.cn/archlinuxarm/os/ArchLinuxARM-rpi-3-latest.tar.gz
    # 或 wget http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-3-latest.tar.gz
    su
    bsdtar -xpf ArchLinuxARM-rpi-3-latest.tar.gz -C <root>
    sync
    mv <root>/boot/* <boot>
    sync
    sync
    

    <root> 是 sdX2 挂载的地方,<boot> 是 sdX1 挂载的地方。 为了安全多 sync 几次。

    将 micro SD 卡插到派上应该就可以了,启动到终端登陆页面时,绿色指示灯会以两下为周期规律闪烁,如果显示屏不显示可能是显示的问题。

    软件源

    vi /etc/pacman.d/mirrorlist
    

    注释掉默认的,添加中科大源

    Server = https://mirrors.ustc.edu.cn/archlinuxarm/$arch/$repo
    

    参考 中科大 Arch Linux ARM 镜像使用帮助

    创建自己的账户

    useradd -m -G wheel <username>
    

    sudo

    pacman -S sudo
    

    visudo 或用自己喜欢的编辑器打开 /etc/sudoers ,将 %wheel ALL=(ALL) ALL 一行取消注释。

    安装软件的签名问题

    报错是这样的:

    failed to commit transaction invalid or corrupted package (PGP signature)

    运行

    pacman-key --init
    pacman-key --populate
    

    即可

    其他

    后面就可以按照 Arch Wiki 安装了,只有一点点不同。一些零碎的整理在下面。
    两个传送门: Installation guide (简体中文) Raspberry Pi (简体中文)

    • 一些驱动
    sudo pacman -S firmware-raspberrypi
    

    没多探究这是啥,看到有就装上了。

    • 音频
    sudo pacman -S alsa-utils alsa-firmware alsa-lib alsa-plugins
    

    设置自动选择音频输出

    amixer cset numid=3 0
    
    sudo pacman -S xf86-video-fbdev xorg
    

    性能不错。

    sudo pacman -S lxde
    sudo systemctl enable lxdm
    

    ~/.xinitrc 中添加

    exec startlxde
    
    • 显示设置

    树莓派没有正确地自动设置我的 1080p 屏,其他分辨率可以参考 这里

    #1080p  60Hz
    hdmi_group=2
    hdmi_mode=82
    #1440x900  60Hz
    hdmi_group=2
    hdmi_mode=47
    
    sudo pacman -S networkmanager network-manager-applet
    sudo systemctl enable NetworkManager
    sudo systemctl start NetworkManager
    
    sudo pacman -S wireless_tools wpa_supplicant
    

    似乎没能正确和我的耳机配对,我也不太用

    sudo pacman -S bluez bluez-utils blueman
    sudo systemctl enable bluetooth
    sudo systemctl start bluetooth
    
    • 域名解析不了

    可以 ping 8.8.8.8 等但是不能 ping baidu.com

    发现是 /etc/nsswitch.conf 禁用了 dns,文件内容如下

    # Name Service Switch configuration file.
    # See nsswitch.conf(5) for details.
    
    passwd: files mymachines systemd
    group: files mymachines systemd
    shadow: files
    
    publickey: files
    
    hosts: files mymachines myhostname resolve [!UNAVAIL=return] dns
    networks: files
    
    protocols: files
    services: files
    ethers: files
    rpc: files
    
    netgroup: files
    

    删除 [!UNAVAIL=return] 即可。

    sudo pacman -S fcitx fcitx-sunpinyin fcitx-qt5
    

    ~/.pam_environment 中加入

    GTK_IM_MODULE=fcitx
    QT_IM_MODULE=fcitx
    XMODIFIERS=@im=fcitx
    

    如果 Qt 程序下不能切换输入法,可以用 fcitx-diagnose 检查是否有错误配置。

    • 自动挂载和回收站

    PCManFM 是 LXDE 的默认文件管理器,默认不能自动挂载也没有回收站。回收站由 gvfs 实现。

    sudo pacman -S udisks2 gvfs
    
    sudo vim /usr/share/polkit-1/actions/org.freedesktop.UDisks2.policy
    

    修改 allow_any 一行为 <allow_any>yes</allow_any>

    • 安装 yay
    sudo pacman -S git base-devel go
    git clone https://aur.archlinux.org/yay.git
    cd yay
    makepkg -si
    

    AUR 源修改 AUR 镜像使用帮助

    yay --aururl "https://aur.tuna.tsinghua.edu.cn" --save
    

    今天中科大源宕机了,愿他们早日恢复~

    树莓派3只有 1G 的内存,不足以支持编译开发工作。我们可以建立 swap 文件来解决,通常是内存的 1-2 倍大小。

    # as root
    fallocate -l 2G /swapfile
    # /swapfile 名称可以按需自定义,比如我是 /var/swap
    chmod 600 /swapfile
    mkswap /swapfile
    swapon /swapfile
    

    然后修改 /etc/fstab 加入

    /swapfile none swap defaults 0 0
    

    swapon -s 可以看到已经生效了, free -m 可以查看使用情况。

    • 删掉系统自带的普通账户
    sudo userdel -r alarm
    
    • 视频

    综合看 Vlc 比较好。我们没有现成的 Raspbian 上的 omxplayer 用,视频体验大打折扣。

    sudo pacman -S vlc
    

    By SDUST weilinfox

    版权声明:本页面文字除了外部链接外允许在 CC-BY-SA 4.0 的协议下使用。

    原文地址:https://www.cnblogs.com/weilinfox/p/12683275.html

  • 相关阅读:
    Hibernate实现CRUD的例子小结
    AspnetPager表格标题排序功能
    Microsoft企业库配置问题
    orm比较
    外语培训网求鉴定
    DIV随滚动条滚动而滚动
    图片切换效果展示
    转载C#委托之多播委托( 二)
    LINQ 图解
    不用ajax调用搞后台小技巧
  • 原文地址:https://www.cnblogs.com/weilinfox/p/12683275.html
Copyright © 2020-2023  润新知