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 一樣,可以使用 apt
和 apt-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