树莓派Manjaro体验

警告:下面的教程仅仅是记录自己的尝试过程,并非教程,请勿按照下面的教程烧录系统。

如果按照个人喜好来说,我更加喜欢Arch系的Manjaro,因为很多Ubuntu下,一些虽然很小但是让人很不舒服的问题,在Manjaro下很简单就能解决或是压根不存在。仓库方面pacman就比apt要丰富的多,或者是再加上yay,基本上能满足我的所有需求。安装一个tim或者是微信只需一个命令,根本就不需要Ubuntu下面wine折腾框架,字体,启动环境。每次在Ubuntu下想安装一个自己日常而非工作使用的Ubuntu桌面版都是让我非常头疼的一件事。但是考虑到工作使用,很多硬件平台官方支持的是Ubuntu(比如Jetson)。为了避免不必要的麻烦,我还是持着“用Manjaro也就图一乐,真要干活还得Ubuntu”的原则。

但是到了树莓派上,还是尝尝鲜吧,之前使用官方的Raspbian,使用体验属实不好,这次就试试Manjaro ARM,看它能不能满足我的需求吧。

烧录系统

img

  • 要安装Arch系的ARM系统,Arch官方文档要求的是需要有一台Linux系统的主机,将下载好的文件直接右键-Disk Image Writer,直接选下载好的镜像烧录即可(我的系统是Ubuntu 18.04,居然有这么傻瓜化的GUI烧录,好评!)。然后静静等待烧录结束。

    img

  • 然后,淦,没点亮成功,我佛了。我树莓派坏了吧。
  • 行,我们来尝试一下Arch官方的教程,首先查看插入的SD卡对应分区

    sudo fdisk -l

    查看输出,得知SD卡挂载在/dev/sdb

    Disk /dev/sdb: 29 GiB, 31104958464 bytes, 60751872 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: dos
    Disk identifier: 0x5b712f04
    
    Device     Boot Start      End  Sectors Size Id Type
    /dev/sdb1        2048 60749823 60747776  29G  c W95 FAT32 (LBA)
  • 在SD卡挂载的分区启动fdisk

    sudo fdisk /dev/sdb
  • 删除旧分区,建立新分区,下面是对应的步骤

    • 输入o,清除分区
    • 输入p,列出分区,现在应该没有分区剩下
    • 输入n,再输入p设置成primary type,输入1进入第一个分区,回车设置默认的分区大小,再输入+100M设置最后一个分区
    • 输入t,再输入c把第一个分区的类型设置成W95 FAT32(LBA)
    • 输入n,输入p,输入2,连续输入回车两次
    • 输入w写入分区
  • 创建并且挂载FAT filesystem:

    mkfs.vfat /dev/sdb1
    mkdir boot
    mount /dev/sdb1 boot
  • 创建并挂载ext4 filesystem:

    mkfs.ext4 /dev/sdX2
    mkdir root
    mount /dev/sdX2 root
  • 下载并解压根文件系统(注意这里是直接sudo su 在root下输入命令)

    wget http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-2-latest.tar.gz
    bsdtar -xpf ArchLinuxARM-rpi-2-latest.tar.gz -C root
    sync

    然而会报如下的错误

    bsdtar: Ignoring malformed pax extended attribute
    bsdtar: Error exit delayed from previous errors.

    查了一下发现是需要bsdtar版本需要3.3以上,直接在git上安装最新版本(建议先去github看下最新版本的版本号,然后对下面的命令进行更改)

    wget http步骤s://github.com/libarchive/libarchive/archive/v3.4.0.tar.gz
    tar xf v3.4.0.tar.gz
    cd libarchive-3.4.0
    cmake .
    make -j8
    make install -j8

    编译成功后输入bsdtar --help查看下版本号是不是3.4.0,如果是的话就继续进行刚才的步骤。

  • 把boot文件移动到第一个分区

    mv root/boot/* boot
  • 解除挂载

    umount boot root
  • 插上SD卡和电源,开机但是发现黑屏,比较脑瘫的事情就是烧写好的系统默认是没有HDMI输出的。这里将SD卡取出,修改config.txt文件(先备份),在下面加入

    hdmi_force_hotplug=1 #强制使用HDMI输出
    config_hdmi_boost=4 #HDMI信号增强
    hdmi_group=2 #HDMI输出适配与计算机显示器
    hdmi_mode=9  #HDMI输出的分辨率及刷新频率
    hdmi_ignore_edid=0xa5000080 #禁止树莓派检测显示器分辨率,直接使用配置文件中指定的分辨率输出
    disable_overscan=1 #禁止黑边

    修改之后重新插入SD卡链接显示器就有视频输出了

    常用的分辨率

    hdmi_mode=4    640x480   60Hz
    hdmi_mode=9    800x600   60Hz
    hdmi_mode=16   1024x768  60Hz
    hdmi_mode=23   1280x768  60Hz
    hdmi_mode=32   1280x960  60Hz
    hdmi_mode=35   1280x1024 60Hz
    hdmi_mode=39   1360x768  60Hz
    hdmi_mode=47   1440x900  60Hz
    hdmi_mode=81   1366x768  60Hz
    hdmi_mode=82   1920x1080 60Hz
  • 登录的初始用户名和密码都是alarm,然后进入root模式

    su root

    初始密码为root

  • 初始化

    pacman-key --init
    pacman-key --populate archlinuxarm
Last modification:September 10, 2019
恰饭环节