0x00 前言
笔者的 homelab 此前一直使用 proxmox ve 作为虚拟化平台母鸡。然而近期添置了一些非 x86 平台的机器,以及 pve 本身对 Epyc 这类多 numa 的平台微调核心绑定很不方便,遂准备迁移到更清真(大雾)的 libvirt 平台上。
笔者的 homelab 此前一直使用 proxmox ve 作为虚拟化平台母鸡。然而近期添置了一些非 x86 平台的机器,以及 pve 本身对 Epyc 这类多 numa 的平台微调核心绑定很不方便,遂准备迁移到更清真(大雾)的 libvirt 平台上。
如题,笔者的笔记本内屏工作在核显连接模式下,并在独显输出接口上外接了一个显示器。安装 Manjaro 后默认情况下,驱动工作在 Optimus 混合显示模式,且默认渲染图形的显卡为核心显卡。此时外接显示器刷新率识别正常,但是拖动窗口甚至移动鼠标都非常卡顿。
解决这个问题,需要将渲染桌面的显卡切换为独立显卡。
笔者是一个无可救药的复古 Unix&RISC 厨,因此对上世纪很多 Unix 系统都在使用的桌面环境 Common Desktop Environment
甚是喜欢。这几天清点家里的电子垃圾的时候想起手中还有一台搭载 Loongson 2F 处理器的 福珑2F6003
盒子,于是便萌生了在这台可爱的 MIPS 小机器上跑起 CDE 的想法。
笔者很久以前就偏爱各类全键盘移动设备(如 UMPC 和 PDA),尤其是搭载 RISC 处理器与 Unix-like 系统的 PDA。今年年初有幸捡漏收到的这台由 CEC 代理的国行 Sharp Zaurus SL-5600 算是笔者心中比较理想的设备。
Sharp Zaurus SL-5600 在 2003 年发售。由于其搭载 Linux 系统与其强大的可扩展性,一经发售她便成为了很多 Geek 与 Hacker 的掌中玩物,她在当时有很多定制的开源系统与软件。相比于前一代的 SL-5500,她的 CPU 有了巨大的提升(由 StrongARM SA-1100@206MHz
升级至 Intel XScale PXA250@400Mhz
)。时过境迁,当 PDA 随着智能手机的兴起而没落时,Zaurus 也早已被大众所遗忘。十七年后,笔者拿到这台和自己年龄差不多大的 PDA 时,她已没有除收藏与折腾外的价值,但笔者仍感叹于她的工业设计与她背后开源社区的默默付出。
(距离上篇教程发布已经整整一个学期过去了,终于有时间填这个坑了)
注意:本篇教程是面向小白向的,但是仍建议有一定 Linux 基础的计算器玩家尝试 本篇教程将教你如何从零开始定制 Nspire 能使用的 Linux 系统,包括制作 rootfs,配置并编译内核与各类驱动模块
需要准备的东西:
一份 Linux Kernel 源码,可以在 https://kernel.org/
下载
(需要注意的是,Linux 内核在 4.14 以后的版本中对 Nspire 的支持有些许问题,故建议下载 4.14 以及之前的 longterm 版本)
一台 Linux 系统的点好,并需要配置好交叉编译工具链
一个 4G 以上容量的 U 盘
关于 rootfs 是什么,你可以自行查阅 Wikipedia (逃)
首先你需要安装 debootstrap
等工具,以 Manjaro 系统为例:
sudo pacman -S binfmt-support qemu-user-static debootstrap
其中,debootstrap
是用来制作 rootfs 的工具,而 qemu-user-static
则允许你 chroot 到不同体系结构的 rootfs 中
安装完成后,挂载准备好的 U 盘到任意位置,执行
sudo debootstrap --arch=armel --foreign buster /*挂载 U 盘的位置*/ https://mirrors.ustc.edu.cn/debian
其中,
buster
代表你制作的 rootfs 系统的版本(Debian 10)
armel
全称是 arm eabi little endian,代表你制作的 rootfs 软件包的体系结构,因为 Nspire 使用的是一颗 arm926ejs
内核的处理器,故选择此版本