一台三星Galaxy Book Go,装Debian sid,两天里重启了26次。不是系统崩了,是每一次改动都要靠重启来验证。这台机器最终跑起了完整的桌面环境,而记录这一切的文章,就是在这台机器上写完的。
它用的是骁龙7c Gen 2,属于Windows on ARM阵营的笔记本。装Linux的难点不在性能,在于这台机器在主线上根本没有支持。
![]()
没有设备树,就没有一切
主线的Linux内核里,找不到Galaxy Book Go的设备树。Debian的内核只带了同款SoC(SC7180)的Acer Aspire 1设备树。社区那份草稿设备树里,内存地址抄的是Aspire 1的,键盘中断连它自己的注释都写着是错的。
走ACPI这条路也走不通。通用ACPI内核一加载SMMU驱动就会重启,而没有SMMU就没有USB,没有键盘。所以这台笔记本只能靠设备树启动,树里少一个节点,就少一个设备。
三星也没有为它发布驱动包。唯一一份签名固件,就在出厂预装的Windows里。
每个设备都要赌一次重启
在PC上,内核自己去找硬件。在这台笔记本上,内核只知道设备树告诉它的东西。每个设备要驱动绑定成功,需要三样东西:树里的一个节点、三星的固件、以及从Windows那边读出来的板级事实,比如某个中断引脚或电源引脚。
在Acer Aspire 1上跑通的驱动配置,放到这块板子上只能算一个起点猜测。草稿树里的键盘中断、显示桥中断、音频内存区域,还有扬声器数据线的第一次猜测,全部来自Aspire 1,四个在这块板子上都是错的。
每一个猜测都要用一次重启来验证。安装好的系统在两天里记录了26次启动,10月11日16次,10月12日9次,还不算那些不留日志的UEFI shell启动。有风险的改动都用grub-reboot做一次性启动,黑屏的代价就是按一次电源键。
能写文章,才算真的能用
一个能启动到登录界面的移植,只证明了启动路径通了。一个作者能用来写文章的移植,才同时证明了键盘、桌面、网络和工具链都能连续工作几个小时。
这篇文章就是在Galaxy Book Go的GNOME终端里起草的,跑在本地Wayland会话中的原生arm64 Claude Code上,仓库放在内置UFS磁盘里。系统状态是running,会话类型是wayland,远程连接为no。
同一份记录也暴露了这台机器的吃力之处:可用内存3.4 GiB,写这篇文章时已经有1.3 GiB进了交换分区,浏览器、GNOME和助手同时开着。
动手前需要准备什么
如果打算复现这套流程,起点是这几样东西:
- 一台Galaxy Book Go(NP340XLA或NP345XLA),关闭Secure Boot
- 一个带社区设备树的Debian 13安装盘
- 一个USB-C扩展坞,接USB键盘和USB网卡——直插端口的USB启动不可靠,走扩展坞才稳
- 从Windows里提前拷出来的DriverStore\FileRepository
- 另一台能SSH的机器,作为救援路径
安装器写出来的GRUB菜单是默认的,没有devicetree行,也没有clk_ignore_unused和pd_ignore_unused,装好的内核会走ACPI然后重启。装好的系统其实一次都没启动过,日志是空的。
解决办法是一个GRUB生成脚本,装到/etc/grub.d/下,排在10_linux之前运行。它为每个内核写三个条目,每个都带上设备树和时钟参数。GRUB_DEFAULT指向的是条目id而不是位置,菜单等待10秒。之后每次有风险的改动都用grub-reboot指定id试一次,卡住了下次上电就退回默认项。
从内置磁盘的第一次启动,就到了running和GDM登录界面。
键盘认不出来,问题出在一个标签
文本控制台能收到按键,GNOME一个都收不到。内置键盘上报了一个多余的ABS轴,udev因此把它标记成ID_INPUT_TABLET_PAD,libinput就把它当成数位板交给了GNOME。
一条udev规则清掉这些标签,同时把ID_INPUT_KEYBOARD和ID_INPUT_KEY设为1。这条规则必须同时匹配input0节点和event0节点——libinput会读父节点的标签,只写event*的话设备还是会被当成数位板。两个都写上之后,libinput list-devices才会报告键盘和指针能力。
还有一个坑:正在运行的GNOME会一直保留旧的设备分类,直到它重启。但重启gdm3会关掉所有打开的会话,正确做法是注销而不是重启服务。
固件只能从Windows里拿
设备树需要四个三星签名的文件,Wi-Fi还需要第五个,五个都在Windows的驱动仓库里。同一个驱动有多个版本并存时,取最新的那个。
一个坏的固件文件可能让高通SoC每次启动都重启,所以任何文件在跑通一次之前,都不会被放进/usr/lib/firmware。做法是先暂存在一个目录里,把固件加载路径指向暂存目录,验证过再正式安装。
这台机器的移植过程,本质上是一连串的猜测和验证。设备树里的每一个节点、每一个中断号、每一个内存区域,都要靠一次重启来确认对错。26次启动换来的,是一台能写文章、能上网、能跑完整桌面的ARM笔记本。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.