AOSC OS/Retro 初识笔记——在虚拟机和龙芯2F小本上安装

AOSC OS,没有 LiveCD ,看起来不是很友好,但是事实上它却很友好;看起来很复杂,事实上又开箱即用;这和 ArchLinux 很不一样,但是又有相似之处,回味无穷。

这是我第一次安装使用 AOSC OS 即 安同 OS ,决定体验它,一者它支持一些老硬件,其中就包括龙芯2f小本;二者我崇拜的人,他在这里。 AOSC OS 是用 tarball 的方式安装的,这是我第一次体验的,为了相对顺利地安装之,我使用了 ArchLinux 的 LiveCD 而不是推荐的 GParted Live ,并且放弃了在实机安装的想法。由于是在 VirtualBox 中安装,我打算先分区,再将 tarball 下载在虚拟磁盘中安装。

同时,我引用了一些的 Arch Wiki 页面,因为我确实参考了一些 Arch Wiki 的内容。

应该基本 LiveCD 都能用来安装它吧(我猜的),毕竟不是哪儿都有 GParted Live ,想到这里,我更不用 GParted Live 了 233 。

之后我还尝试了在龙芯2F小本上安装, AOSC 提供了 N64 port,所以这个过程也适合 AOSC Retro。

安装篇

LiveCD 的 shell 要使用 bash ,也不建议用版本比较老的 LiveCD,防止发生一些奇奇怪怪的问题。如果没有 LiveCD,也可以考虑使用宿主机。

创建虚拟机的过程、引导到 ArchLinux 镜像和分区的过程直接略过。顺带一提我选的 type 为 Linux , version 为 Other Linux (64-bit) 。 ArchLinux 的 Live 环境是以 root 用户身份登录的,另外并没有 wget ,需要自行安装。

而为龙芯2F小本安装,需要在龙芯 LiveCD 上进行,或者拆盘用另一台龙芯主机作为宿主机。当然也可以用 tarball 自行建立 LiveCD。不能用 x86 的机器的原因,是 qemu-static 不能正常工作。

获取和解压 Tarball

官方源慢,这里给出清华源的:

wget https://mirrors.tuna.tsinghua.edu.cn/anthon/aosc-os/os-amd64/kde/aosc-os_kde_20200526_amd64.tar.xz

# 如果是龙芯2F小本
wget https://mirrors.bfsu.edu.cn/anthon/misc/aosc-os_x11-experimental_20200814.1_loongson2f.tar.gz

当然 tarball 的文件名得用当前最新的。

首先得将分区 mount/mnt (这也同时是 ArchLinux wiki 的习惯),然后解压 Tarball:

cd /mnt
tar --numeric-owner -pxvf /path/to/tarball/aosc-os_kde_20200526_amd64.tar.xz

Tarball 解压的过程中大致可以看到预装的软件。软件版本看起来没有 ArchLinux 那么激进,预装了一些常见软件,默认输入法是 fcitx ,也是我喜欢的。

Chroot 前的小配置

genfstab

熟悉的操作:

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

绑定设备和系统路径

mkdir /mnt/run/udev
for i in dev proc sys run/udev; do mount --rbind /$i /mnt/$i; done

之后可以用 umount -R 递归卸载。

然后就可以 Chroot 了:

chroot /mnt /bin/bash

更新和最后的准备

更新

主源的速度有点草啊,更改源和 Debian 一致,镜像列表请看官方页面。页面里 Generate APT Configuration 这个选项挺有趣的~

# 自带只有nano
nano /etc/apt/sources.list

# 注释掉原来的并加入清华源
deb https://mirrors.tuna.tsinghua.edu.cn/anthon/debs stable main
# 清华源压力很大 也可以选择北外源
deb https://mirrors.bfsu.edu.cn/anthon/debs stable main
# retro 需要把 debs 改为 debs-retro

# update && full-upgrade
apt update
apt full-upgrade

这个过程比较久,可以弄几杯茶或者小惬一下。另外会有好多要求选 Configuration file 是否保留的选项,不知道有没有办法自动。

初始化 RAM Dick

retro 不需要这个步骤

sh /var/ab/triggered/dracut

配置GRUB

龙芯2F不需要这个步骤

我是BIOS引导:

grub-install --target=i386-pc /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg

如果是EFI,下面是manual中的示例:

mount /dev/sda1 /efi
grub-install --target=x86_64-efi --bootloader-id="AOSC OS" --efi-directory=/efi
grub-mkconfig -o /boot/grub/grub.cfg

# 对于 Bay Trail 设备,可能需要使用 i386-efi 作为 target
grub-install --target=i386-efi --bootloader-id="AOSC OS" --efi-directory=/efi
grub-mkconfig -o /boot/grub/grub.cfg

注意GRUB似乎并不会自动把更高版本的内核作为默认的引导选项,如果确实老版本的内核被错误设置成了首选,那么需要手动卸载老版本的内核。

配置 boot.cfg

龙芯pmon特殊操作

/boot 目录下创建 boot.cfg 文件,这里给出示例文本,具体显示的菜单名、内核文件名、根目录等请自行修改。

default 0
timeout 5
showmenu 1

title AOSC OS
	kernel (wd0,0)/vmlinuz-aosc-retro-lemote-5.4.58
	args root=/dev/sda2 loglevel=4

注意 下载 tarball 一节示例中的2f tarball,自带的是 5.7 内核,而 full-upgrade 以后安装的是 5.4 内核,且 5.7 内核无法启动。我询问了一下是 5.7 内核不能使用。如果遇到类似的问题可以注意下。

建立用户

建立并加入 wheel:

useradd -m -G audio,cdrom,video,wheel aosc

用户全名:

chfn -f "AOSC User" aosc

设置密码:

passwd aosc
passwd root

设置时区

ln -svf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

如果 /usr/share/zoneinfo/ 下为空,则要手动安装 tzdata

sudo apt install tzdata

设置 Locale

默认启用了所有 UTF-8 的 Locale ,我另外打开了 zh_CN.GB2312 和 zh_CN.GB18032 。如果希望只打开几个,可以先用 sed 全部注释,再打开需要的。另外2f的镜像只写了两个 Locale ,直接添加需要的即可。

# edit
nano /etc/locale.gen

locale-gen

设置默认语言:

# edit
nano /etc/locale.conf

# 加入字段
LANG=zh_CN.UTF-8

# 如果需要英文
LANG=en_SG.UTF-8

Arch Wiki阐述了为啥使用 en_SG 。另外以后还可用 localectl 来做此事 localectl set-locale "LANG=zh_CN.UTF-8"

设置主机名

nano /etc/hostname

# 以后还可用 hostnamectl 来做此事
hostnamectl set-hostname myhostname

从 AOSC 启动

对于在 LiveCD 安装,首先从 Chroot 环境中退出,然后卸载挂载的分区,最后重启:

# 卸载命令示例
umount ...
umount -R ...

# 重启
reboot

对于拆盘安装的 2f 小本,将硬盘塞进小本启动即可, pmon 应该能自动识别 boot.cfg 并显示启动菜单。

VirtualBox Guest Additions

虚拟机特殊操作

Devices->Insert Guest Additions CD Image ,挂载后在终端打开,运行下面的命令安装即可。

# 安装所需软件包
sudo apt install gcc make perl

# 安装
sudo ./VBoxLinuxAdditions.run

# reboot
sudo reboot

# 对所有内核编译
sudo /sbin/rcvboxadd quicksetup all

如果新老版本内核共存而引导了老版本内核时,安装的 Guest Additions 可能失效(原因未知)。

使用篇

AMD64 的 KDE Plasma 默认使用了暗黑主题,很 nice 。

包管理

和 Debian 一样,可以使用 aptapt-get , 看起来没啥特别的。

顺带一提,如果错误将自动安装的软件包设置为手动,可以重新将其设置成自动:

sudo apt-mark auto package

欧侃源

龙芯2f 不适用

欧侃源收集了很多国内公司发布的专有软件,使用它可以免去很多查找下载和安装的时间。

我试图使用欧侃源,但是会出现非常多的依赖关系错误。研究了一下发现是AOSC下包名和Debian有区别,需要重新打包。

# 下载key和配置
wget http://okapps.oukan.online/lroapps/lroapps-apt.list
wget http://okapps.oukan.online/lroapps/lroapps-linux.pub

# 安装
sudo mv -f lroapps-apt.list /etc/apt/sources.list.d/lroapps.list
sudo apt-key add lroapps-linux.pub

# 编辑
# 只保留 app-amd64
nano /etc/apt/sources.list.d/lroapps.list

# 更新缓存
sudo apt update
# 或
sudo apt-get update

输入法

输入法的环境变量需要自己设置,我选择的KDE Plasma的 tarball 默认安装了fcitx输入法,运行 fcitx-diagnose 可以发现没有满足的依赖。一个有趣的地方是, kcm-fcitx 默认安装了,但是 fcitx-diagnose 并没有识别到。

关于环境变量,可以参考 Arch Wiki

我们可以在 ~/.xinitrc 添加下面的环境变量:

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

日文输入法没有 mozc 的样子,默认安装了 fcitx-kkc ,它在配置界面中叫 “假名汉字”,如果找不到可以直接搜索。

终端特别操作

电量查看

自带了 acpi 命令查看剩余电量,用下面的命令查看详细信息:

acpi -V

Wifi 连接

键盘快捷键是可以正常运作的,打开 wifi 以后,可以使用极其友好的 nmtui 连接 wifi 网络。

nmtui

修改 Debian 包依赖

这里给出参考命令。

#解压出包中的文件到 Build 目录下
dpkg -X package.deb Build/

#解压出包的控制信息到 Build/DEBIAN/ 下
dpkg -e package.deb Build/DEBIAN/

# 修改 control
nano Build/DEBIAN/control

# 打包
dpkg -b Build package.deb

扔几个2f的包

posted @ 2021-02-12 22:33  八衛門狸  阅读(102)  评论(0编辑  收藏