机器介绍:https://wiki.chuang.ac.cn/loongson:device:lemote_lynloong
一、系统安装
1. 安装共创 Linux 1.8.4
为了体验龙芯 2F 的原生功能,首先我们需要安装龙芯的共创 Linux 系统。这里我们通过 U 盘来安装官方的系统恢复镜像。
1.1 准备工作
首先准备一只 2GB 容量的 U 盘,容量太大会导致无法正常引导。没有合适的 U 盘的话,可以使用 DiskGenius 工具将 U 盘划分出一个 2GB 的 FAT32 分区。
共创 Linux 1.8.4 系统恢复镜像的下载地址,提取码:e9da ;将 cocreate_os_1.8.4.zip
加压到 U 盘内,即可完成系统恢复镜像的制作。其中主要包含七个文件:
其中有两个文件需要注意以下,一个是 boot.cfg
文件,此文件用于 U 盘的启动引导。由于我这里的 U 盘是 FAT32 格式的分区,因此执行 “For Fat” 内核。如果 U 盘使用的是 EXT 分区,则需要切换到 “For ext2 and ext3” 内核。
default 0 showmenu 1 title Lemote Recover Tool #For Fat kernel /dev/fat/disk@usb0/vmlinuz #For ext2 and ext3 #kernel /dev/fs/ext2@usb0/vmlinuz #kernel /dev/fs/ext2@usb0/vmlinux #args console=tty machtype=yeeloong video=smifb:1024x600-16@60 recover=usbdisk #args console=tty machtype=lynloong video=sisfb:1360x768-16@60 recover=usbdisk args console=tty machtype=lemote-lynloong-2f-9003 video=sm501fb:1368x768@60 recover=usbdisk #args console=tty machtype=fuloong video=sisfb:1024x768-16@60 recover=usbdisk #args console=tty machtype=fuloong video=sisfb:1280x720-16@60 recover=usbdisk
另一个是 config.txt
文件,此文件恢复系统的分区,默认的文件内容是这样的:
---------------------------------------------------------------- -- Partition table -- Note: Size unit is 'M' ---------------------------------------------------------------- Cfg.partitions = { ['Partition'] = {'Size','Type', 'Format',"MountPoint","Files"}; ------------------------------------------------------------------------------------------------- [1]= { 128, 'ext3', 'Y', }; [2]= { 4096,'ext3','Y', }; [3]= { 2048,'swap','Y', }; [4]= { 'NULL','extend','NULL', }; [5]= { 20480,'ext3','Y', '/','basesys-20100706.tar.gz'}; [6]= { 'rest','ext3','Y', '/home','basesys-20100706.tar.gz'}; ['Boot'] = 1; ['Backup'] = 2; } Cfg.partitions1 = { ['Partition'] = {'Size','Type', 'Format',"MountPoint","Files"}; ------------------------------------------------------------------------------------------------- [1]= { 20480, 'ext3', 'Y', '/','root.tar.gz'}; [2]= { 4096,'ext3','Y', }; [3]= { 2048,'swap','Y', }; [4]= { 'NULL','extend','NULL', }; [5]= { 20480,'ext3','Y', '/etc','etc.tar.gz'}; [6]= { 'rest','ext3','Y', '/home','home.tar.gz'}; ['Boot'] = 1; ['Backup'] = 2; } Cfg.default_partitions = Cfg.partitions ---------------------------------------------------------------- -- Other configuration -- ---------------------------------------------------------------- Cfg.OSFAB_NAME = {"OSFab-2012-0522.squashfs", "OSFab-thirdpart-2012-0522.squashfs"} Cfg.SYSTEM_NAME = "Cocreate Linux Desktop for Loongson" Cfg.SYSTEM_NUM = "" Cfg.SYSTEM_VERSION = "edu-150K" Cfg.LANGUAGE = "" Cfg.CONFIG_VERSION = "1.0"
这里我们只需要关注 Cfg.partitions
这个部分,代表恢复系统的分区方式。其中分区 1 代表启动分区,2 存放系统恢复镜像,3 是交换分区,5 用于挂载 /
,6 用于挂载 /home
。本机的默认硬盘大小为 160GB,如果更换了硬盘大小或者需要安装多系统,则需要对分区表做适当修改。这里我把分区表改成以下的格式:
Cfg.partitions = { ['Partition'] = {'Size','Type', 'Format',"MountPoint","Files"}; ------------------------------------------------------------------------------------------------- [1]= { 256, 'ext3', 'Y', }; [2]= { 4096,'ext3','Y', }; [3]= { 2048,'swap','Y', }; [4]= { 'NULL','extend','NULL', }; [5]= { 20480,'ext3','Y', '/','basesys-20100706.tar.gz'}; [6]= { 55040,'ext3','Y', '/home','basesys-20100706.tar.gz'}; [7]= { 30720,'ext3','Y', }; [8]= { 'rest','ext3','Y', }; ['Boot'] = 1; ['Backup'] = 2; }
此处我增加了启动分区的容量,并新增了两个分区,预留出了 80GB 的空间给第二个系统。如何分区可以根据实际情况自行修改。
另外,如果修改了文件,记得同时修改 md5sum.txt
文件中的 MD5 值,避免后续步骤的校验失败。当然确认文件无误的话,也可以直接删除这个文件,对安装没有什么影响。
1.2 系统恢复
将 U 盘插入龙芯 2F 一体机,重启之后可以看到 U 盘的引导选项 “Lemote Recover Tool”,选择之后就可以进入系统恢复界面。
接下来的部分是图形化操作界面,非常简单,点击 “开始还原” 即可开始安装系统,整个过程是全自动的,需要消耗一定的时间。系统还原完毕后,拔掉 U 盘,点击 “退出”,系统即安装完成了。
这里的安装教程参考了这篇文章:Loongson2f 龙芯灵珑 9S2A 一体机安装 debian5 和 debian6 双系统,特别是关于分区表和引导项的内容认识和修改,受到了很大的启发。不过其使用的是共创 Linux 1.7.4 版本的系统,我在整理搜索本机自带的系统时,发现 sda5/yee/.updateclient
目录下,存放了名为 cocreate_os_1.8.4.tar
的系统升级安装包和 1.8.5-1.8.8
一系列应用更新补丁,修改日期是 2014/10/30,目前还没有在网络上看到有分享。也不知道有没有更新版本的系统存在,如果有更新版本的系统,也可以到这个目录下去拷贝出来。
1.3 更新软件源
龙芯的共创(Cocreate) Linux 系统基于 Debian 5 lenny 开发,距今已经年代久远,其官方的软件源也早已失效。目前除了 Debian 档案的官方源,国内还可以使用 163 源和腾讯源,进行基础的软件管理。这里我们把 apt 源修改如下:
我这里使用腾讯源的速度要更快一点,另外初次更新,也可以把官方源添上,不过国内更新速度较慢,建议关闭。切换源之后就可以更新一下软件列表了。
$ sudo apt-get update 获取:1 http://mirrors.cloud.tencent.com lenny Release.gpg [1034B] 命中 http://mirrors.cloud.tencent.com lenny/main Translation-zh_CN 忽略 http://mirrors.cloud.tencent.com lenny/contrib Translation-zh_CN 忽略 http://mirrors.cloud.tencent.com lenny/non-free Translation-zh_CN 命中 http://mirrors.cloud.tencent.com lenny Release 错误 http://mirrors.cloud.tencent.com lenny Release 获取:2 http://mirrors.cloud.tencent.com lenny Release [99.6kB] 忽略 http://mirrors.cloud.tencent.com lenny Release 忽略 http://mirrors.cloud.tencent.com lenny/main Packages/DiffIndex 忽略 http://mirrors.cloud.tencent.com lenny/contrib Packages/DiffIndex 忽略 http://mirrors.cloud.tencent.com lenny/non-free Packages/DiffIndex 忽略 http://mirrors.cloud.tencent.com lenny/contrib Sources/DiffIndex 忽略 http://mirrors.cloud.tencent.com lenny/main Sources/DiffIndex 忽略 http://mirrors.cloud.tencent.com lenny/non-free Sources/DiffIndex 命中 http://mirrors.cloud.tencent.com lenny/main Packages 命中 http://mirrors.cloud.tencent.com lenny/contrib Packages 命中 http://mirrors.cloud.tencent.com lenny/non-free Packages 命中 http://mirrors.cloud.tencent.com lenny/contrib Sources 命中 http://mirrors.cloud.tencent.com lenny/main Sources 命中 http://mirrors.cloud.tencent.com lenny/non-free Sources 下载 101kB,耗时 7s (12.9kB/s) 正在读取软件包列表... 完成 W: GPG error: http://mirrors.cloud.tencent.com lenny Release: 下列签名无效: KEYEXPIRED 1337087218 由于没有公钥,下列签名无法进行验证: NO_PUBKEY AED4B06F473041FA W: GPG error: http://mirrors.cloud.tencent.com lenny/updates Release: 下列签名无效: KEYEXPIRED 1356982504 W: 您可能需要运行 apt-get update 来解决这些问题
其中公钥签名早已过期,可以直接忽略。
1.4 远程登陆
龙芯共创 Linux 已经配置好了 SSH 登陆,默认的 root
的密码是 loongson
。
2. 安装 Debian 6
我这里的灵珑 9S2A 是 9003/9013 型号,板载 GPU 是慧荣 SM502,型号比较特殊。没有受到主线内核的支持,可用的 Linux 内核版本停留在 2.6.27 上。因此目前能在 9003 上运行的,只有刘工版 Debian 6 和基于 Debian 5 的共创操作系统。 其中:
Linux 内核:https://github.com/loongson-community/linux-legacy ,branch 为 lemote-9003-2.6.27.1
Debian 6: http://www.anheng.com.cn/loongson/install/lynloong_2f_9003/lynloong_debian6_install.tar.gz
注:如果按照类似第一节的方法,事先预留好了安装 Debian 6 的分区空间,则可以直接跳过 2.1 和 2.2 的部分步骤。
2.1 修改分区
挂载硬盘的 sda2
分区,这个分区是用来存放系统恢复镜像的,内容和之前拷贝到 U 盘的内容基本一致。
$ mkdir /mnt/sda2 $ mount /dev/sda2 /mnt/sda2/
查看其中的 config.txt
文件的 Cfg.partitions
部分,此文件用来定义恢复系统的分区,详情已经在 1.1 小节介绍过了。如果先前没有为双系统预留好合适的分区空间,则可以在这里进行修改,然后重新恢复共创 Linux 系统。(重新分区会全盘格式化,注意备份重要数据!)
Cfg.partitions = { ['Partition'] = {'Size','Type', 'Format',"MountPoint","Files"}; ------------------------------------------------------------------------------------------------- [1]= { 256, 'ext3', 'Y', }; [2]= { 4096,'ext3','Y', }; [3]= { 2048,'swap','Y', }; [4]= { 'NULL','extend','NULL', }; [5]= { 20480,'ext3','Y', '/','basesys-20100706.tar.gz'}; [6]= { 55040,'ext3','Y', '/home','basesys-20100706.tar.gz'}; [7]= { 30720,'ext3','Y', }; [8]= { 'rest','ext3','Y', }; ['Boot'] = 1; ['Backup'] = 2; }
由于上一步我们已经预留好了分区空间,这里就不需要修改文件了。这里我打算将 Debian 6 安装在 sda7 分区中。(预留了 30GB 空间)
2.2 修改启动项
挂载硬盘的 sda1
分区,这个分区是启动分区,存放系统启动文件 boot.cfg
。
$ mkdir /mnt/sda1 $ mount /dev/sda1 /mnt/sda1/
这里我们修改系统启动文件 boot.cfg
,将 recovery
改为 1。重启后则可以开始恢复共创 Linux 系统。
另外添加一个 Debian 6 for Lynloong
的启动项,用于切换启动 Debian 6 双系统。其中 kernel
项的位置 /dev/fs/ext2@sata0g
代表 sda7
分区。(从 sata0a
开始依次计算)可以根据实际分区情况修改。
default 0 showmenu 1 title Lemote Recovery Tool kernel /dev/fs/ext2@sata0b/vmlinuz args console=tty machtype=lemote-lynloong-2f-9003 video=sm501fb:1368x768@60 resume=/dev/sda3 recover=localdisk recovery 0 title Cocreate Linux Desktop for Loongson kernel /dev/fs/ext2@sata0e/boot/vmlinux args console=tty no_auto_cmd quiet root=/dev/sda5 machtype=lemote-lynloong-2f-9003 video=sm501fb:1368x768@60 resume=/dev/sda3 title Debian 6 for Lynloong kernel /dev/fs/ext2@sata0g/boot/vmlinux args console=tty no_auto_cmd quiet root=/dev/sda7 machtype=lemote-lynloong-2f-9003 video=sm501fb:1368x768@60 resume=/dev/sda3
2.3 安装系统
挂载硬盘的 sda7
分区,这个分区是我用来存放 Debian 6 系统的。
$ mkdir /mnt/sda7 $ mount /dev/sda7 /mnt/sda7/
网上流传的 Debian 6 安装镜像是以 LZMA 格式压缩的,好处是可以压缩到 2GB 以内,方便通过 U 盘启动引导,具体的安装方法与第一节类似。但是默认的共创 Linux 的内置软件包没有 xz-utils
等工具,对应的 apt 软件源也无法直接下载,因此我这里通过局域网 SSH 和 SFTP 来传输文件。另外考虑到系统文件较大,同时为了避免混淆,传输位置我这里放到了 sda7/install
目录下。
上图中示例的是网上流传的 Debian 6 安装镜像内容,解压后还需要调整内核文件,添加驱动模块,否则会无法使用键鼠,且没有声音输出(具体步骤参考这篇博文)。我把这些工作都做好之后重新打包为 debian6_lynloong_2f_9003_20240518.tar.gz
(下载地址),这样直接解压文件包到 sda7
分区后,即可完成 Debian 6 双系统的安装。
# 直接解压 Debian 6 系统文件到 /dev/sda7 目录下(挂载到 /mnt/sda7) $ tar zxvf debian6_lynloong_2f_9003_20240518.tar.gz -C /mnt/sda7
查看 /dev/sda7/boot
目录,这里的 vmlinux
内核文件对应了内核启动项的位置 kernel /dev/fs/ext2@sata0g/boot/vmlinux
,如果自定义的分区格式有区别,只要注意启动项与内核文件的对应正确即可。
查看 /lib/modules/
目录,这里的 2.6.27.1
版本的模块文件,可以完全兼容本机的键鼠、音频等外设对应了内核启动项的位置 kernel /dev/fs/ext2@sata0g/boot/vmlinux
整合包的主要改动就在以上两处,完成系统文件的解压后,确认启动项修改正确。重启后选择新添加的 Debian 6 for Lynloong
,即可进入新的 Debian 6 系统。
2.4 更新软件源
同理,我们把 Debian 6 的 apt 源修改如下,区别就是修改一下版本代号名称 queeze
:
$ sudo vim /etc/apt/sources.list # 163 源 # deb http://mirrors.163.com/debian-archive/debian queeze main contrib non-free # deb-src http://mirrors.163.com/debian-archive/debian squeeze contrib main non-free # 腾讯源 deb http://mirrors.cloud.tencent.com/debian-archive/debian squeeze main contrib non-free deb-src http://mirrors.cloud.tencent.com/debian-archive/debian squeeze contrib main non-free # Debian 6 官方源 # deb http://archive.debian.org/debian squeeze contrib main non-free # deb-src http://archive.debian.org/debian squeeze contrib main non-free
同理,Debian 6 的软件源目前还可以正常更新使用,切换源之后就可以更新一下软件列表了。
$ sudo apt-get update $ sudo apt-get upgrade
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于