zoukankan      html  css  js  c++  java
  • 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的包

  • 相关阅读:
    outlook express 发不出邮件问题
    当您更改为一个值该值不是有效的启动参数对于群集实例的 SQL Server 2000 或 SQL Server 2005 的 SQL Server 服务不能启动
    (转)为gridview“删除”列添加确认对话框
    关于开心网
    Windows 群集(一)
    你们公司有软件实验室吗?
    数据安全性小结
    请教:如何限制C++.net托管组件在设计时不能运行?
    test:请不要访问
    将WDL(华康)等电子文件转换为PDF后转换其它格式文件的方法
  • 原文地址:https://www.cnblogs.com/weilinfox/p/14399471.html
Copyright © 2011-2022 走看看