在刚接触 Nspire 上运行 Linux 的时候就在想,是否可以在计算器上移植一个网卡驱动来实现计算器上网?外国论坛和油管上也有计算器上网的视频。然而无论是 cncalc 还是其他国内的计算器社区都对此很少有研究。在自己尝试过 Hackspire 上的 Linux 教程以后,发现它的内核已经很久没有更新过,且 rootfs 完全无法正常启动。正好这两天暑假抽出了时间,准备从零开始自己搭建一个计算器 Linux 内核并且做出一个比较完整的运行环境。经过三个晚上的努力,终于跑起来了 Linux 4.4.185 + Debian 10 + MT7601U 无线网卡驱动,成功实现计算器上网!(在此感谢在编译内核中给我很大帮助的dalao @FlyGoat)
在上半篇文章中,我打算主要展示运行效果以及怎样在 Nspire 计算器上运行已经制作好的内核和 rootfs,于是具体内核的编译细节,网卡驱动移植以及 rootfs 制作将放到下半篇文章中。
( ps : 本人刚刚接触嵌入式 Linux,如有词语使用不当还请轻喷 Orz )
0x00 准备工作
需要的设备:
一个 Nspire 系列的计算器(废话)
一个有外接供电的 USB Hub
一个 4G 以上容量的 U 盘
计算器需要装有 ndless,引导 linux 需要 linuxloader2 (下载地址:https://tiplanet.org/nspire-linux-builds/linuxloader2.tns)
建议先阅读 cncalc 上 @panyaolin123 的 《Nspire使用U盘引导linux进入图形界面教程》 (https://next.cncalc.org/d/5c53b82b8ca08e02e1ad56c1) 以及 Hackspire 上关于 Linux 的教程 (https://hackspire.org/index.php?title=Linux)
内核 zImage, 不同型号计算器的 DTB, 带有 MT7601U USB 无线网卡驱动的 rootfs,内核源码以及编译的配置文件下载地址:
链接: https://pan.baidu.com/s/1fHDh0pHMQpWXsjipTfd7Rg 提取码: m8fb
0x01 制作启动 U 盘
要启动完整的 Linux 系统,你需要制作一个用于存放 rootfs 的引导 U 盘。
将 U 盘格式化为 EXT4 文件系统,并将下载到的压缩包解压,将 rootfs_debian10 中的全部内容放入 U 盘中。用于启动的 U 盘就制作完成了。(最好在 *NIX 环境中制作)
0x02 上传需要的文件至计算器
1.将从 tiplanet 上下载到的 linuxloader2 二进制文件用传输软件放到计算器的 /ndless/ 文件夹中,并修改 ndless 配置文件使其默认用 linuxloader2 打开 .ll2 文件
2.在计算器上创建 /linux/ 文件夹;将压缩包内的 zImage 重命名为 zImage.tns,将你使用的计算器型号对应的 dtb 文件重命名为 nspire.dtb.tns 并将它们上传到计算器的 /linux/ 文件夹上
3.制作用于启动的 ll2 脚本。在电脑上新建一个文件,键入以下内容:
root
保存并重命名为 load.ll2.tns 并上传至计算器 /linux/ 文件夹
0x03 在计算器上启动 Linux
在计算器上点击 load.ll2,计算器会自动使用 linuxloader2 启动 Linux 系统。
完整的 Debian 10 大约需要两分钟启动。
0x04 效果展示
1.欢迎来到 Debian 10 ~
![b8b9163cfc6c1e0bf0b74587c146462e.png](https://i-blog.csdnimg.cn/blog_migrate/486d6efda4e8410339e0342676fe883a.jpeg)
2.例行 screenfetch (运行的是自己编译的 linux 4.4.15 内核)
![5e3febe090138c227098cf03bb0d79b7.png](https://i-blog.csdnimg.cn/blog_migrate/6637febea902f61f1a6aba2bc823ee5a.jpeg)
3.lsusb 和 lsmod,此时已经加载 MT7601U无线网卡的驱动了
![cf0991fad5ef0886fedc7bbc42ea31d5.png](https://i-blog.csdnimg.cn/blog_migrate/9bca9009102a445db68db390ab4ee4dd.jpeg)
4.iwconfig 信息
![943e88794715c29b114542f4fac884bb.png](https://i-blog.csdnimg.cn/blog_migrate/33566c7376dee1e9bc4fd20fc59b27cb.jpeg)
5. ping 测试网络是否连通
![a8278e5145e4586fb7f598581fb729ef.png](https://i-blog.csdnimg.cn/blog_migrate/1d06470c9099aee161c063c530f74f6e.jpeg)
6.喜闻乐见的 htop
![1a83cfa8a2a567c362ef9197eb0abc46.png](https://i-blog.csdnimg.cn/blog_migrate/d331751dc2ca5dd3c9c61f308752da0a.jpeg)
(上半篇结束)