嘿!你也来看码农又在写啥BUG了吗
谈谈自己的 2025,看看 2026
人最难的是,就是面对自己。一到年底,谈到一年的回顾,总觉得自己做得不够好。后来我想,可能浸淫在功绩主义的氛围里太久了,谈到回顾,总是想着自己哪些做得好,哪些做得不好。
生命的体验,不独功过是非,还是以感受为主。
以下是我 2025 年的感受,有关于自己的,有关于这个世界的,我没有单独地分开,因为我的问题也是世界的问题,而世界的问题也是我的问题:
2025
Vibe Coding
今年是 Vibe Coding 奋进一年。得益于大模型能力地持续提高,尤其是大家都更加注重编程这个场景,所有大模型在编程方面的进步是相当显著的。
我印象最深刻的是 Claude 4 Sonnet 出来的时候,它的表现真的相当惊艳,之前 3.5 时,对话过长掉入循环怪圈的问题,在 4.0 得到了解决。然后就是 Claude 4.5 Opus 的出现,进一步提高了大模型在编程方面的能力上限——无论是对话轮次,解决问题的能力,然而,Anthropic 提供的上下文长度还是太有限,这限制了 Claude 4.5 Opus 的表现。这给 OpenAI 的 GPT 5.0 Codex 机会——后者提供强的任务表现,更稳定的输出。
我觉得,如果是一般的日常使用,Claude 4.5 Sonnet 基本上一把过的概率是很高的。不过,这里存在一个悖论,当我求人帮忙的时候,肯定是因为自己某方面能力不行,这和我使用 AI 的场景类似,我更多使用 AI 来补齐自己的短板,而在自己自信的地方(比如写这篇博客),我则很少打算让 AI 帮忙。
这样的场景,要求所有的大模型公司,都拼命地提高 AI 的能力上限,反应在公司的财报上则是训练大模型的成本,非常夸张——OpenAI 曾经分享过自己的财务数据,尽管用户的订阅收入很快已经达到了 10 亿美元的规模,但是所有赚到、融到的钱,转眼又投进大模型的训练当中。这不是健康的商务模式,一个工厂生产的产品,不可能无止境地投入到工厂生产线的升级上。如果制造业是这样的商业模式,早早破产。
但另外一个问题来了,大模型会是另外一个蒸汽机吗?如果大模型是蒸汽机,那么当前的海量投入是否合理?我的观点是,大模型绝对是蒸汽机时刻,只不过工业革命的发生需要上百年,而当今的世界运转速度是 300 年前的百倍不止,大模型对社会的深刻影响,将集中在几年的时间内呈现。无疑,这对所有人都是剧烈的。
可能真的进入了这样一个分水岭,人类自我进化的速度,开始落后于技术的进化速度。
----------------------
我当前的 Vibe Coding 常用工具是:
Claude Code 虽好,但老封号,太烦人了。我有限的生命,不想陷入与 Anthropic 的封号政策斗争中去;我的时间和精力,应该投入到实现优秀的作品上。Gemini 在升级到 2.5 Pro 之后,其模型能力已经得到了进化,各方面都进步很大但仍然有问题(幻觉很严重,会制造幻觉函数),直到 Gemini 3 Pro 的出现——一个综合能力更强,上下文更加出色的大模型。
via Home - Space Looming
人最难的是,就是面对自己。一到年底,谈到一年的回顾,总觉得自己做得不够好。后来我想,可能浸淫在功绩主义的氛围里太久了,谈到回顾,总是想着自己哪些做得好,哪些做得不好。
生命的体验,不独功过是非,还是以感受为主。
以下是我 2025 年的感受,有关于自己的,有关于这个世界的,我没有单独地分开,因为我的问题也是世界的问题,而世界的问题也是我的问题:
2025
Vibe Coding
今年是 Vibe Coding 奋进一年。得益于大模型能力地持续提高,尤其是大家都更加注重编程这个场景,所有大模型在编程方面的进步是相当显著的。
我印象最深刻的是 Claude 4 Sonnet 出来的时候,它的表现真的相当惊艳,之前 3.5 时,对话过长掉入循环怪圈的问题,在 4.0 得到了解决。然后就是 Claude 4.5 Opus 的出现,进一步提高了大模型在编程方面的能力上限——无论是对话轮次,解决问题的能力,然而,Anthropic 提供的上下文长度还是太有限,这限制了 Claude 4.5 Opus 的表现。这给 OpenAI 的 GPT 5.0 Codex 机会——后者提供强的任务表现,更稳定的输出。
我觉得,如果是一般的日常使用,Claude 4.5 Sonnet 基本上一把过的概率是很高的。不过,这里存在一个悖论,当我求人帮忙的时候,肯定是因为自己某方面能力不行,这和我使用 AI 的场景类似,我更多使用 AI 来补齐自己的短板,而在自己自信的地方(比如写这篇博客),我则很少打算让 AI 帮忙。
这样的场景,要求所有的大模型公司,都拼命地提高 AI 的能力上限,反应在公司的财报上则是训练大模型的成本,非常夸张——OpenAI 曾经分享过自己的财务数据,尽管用户的订阅收入很快已经达到了 10 亿美元的规模,但是所有赚到、融到的钱,转眼又投进大模型的训练当中。这不是健康的商务模式,一个工厂生产的产品,不可能无止境地投入到工厂生产线的升级上。如果制造业是这样的商业模式,早早破产。
但另外一个问题来了,大模型会是另外一个蒸汽机吗?如果大模型是蒸汽机,那么当前的海量投入是否合理?我的观点是,大模型绝对是蒸汽机时刻,只不过工业革命的发生需要上百年,而当今的世界运转速度是 300 年前的百倍不止,大模型对社会的深刻影响,将集中在几年的时间内呈现。无疑,这对所有人都是剧烈的。
可能真的进入了这样一个分水岭,人类自我进化的速度,开始落后于技术的进化速度。
----------------------
我当前的 Vibe Coding 常用工具是:
Codex + Gemini CLI + Antigravity。有没发现很有意思的情况,我其实使用最多的是 Google 的产品?Claude Code 虽好,但老封号,太烦人了。我有限的生命,不想陷入与 Anthropic 的封号政策斗争中去;我的时间和精力,应该投入到实现优秀的作品上。Gemini 在升级到 2.5 Pro 之后,其模型能力已经得到了进化,各方面都进步很大但仍然有问题(幻觉很严重,会制造幻觉函数),直到 Gemini 3 Pro 的出现——一个综合能力更强,上下文更加出色的大模型。
via Home - Space Looming
今日发现了一个hexo-renderer-mdx渲染插件,可以直接对mdx文件进行渲染,而且与md的渲染器可以共存。查阅了mdx的文档,它的一大特性就是支持JavaScript,比如大括号中的表达式(
{1 + 1})和ESM(import和export)(引入插件、变量、函数等)。发觉这其中有许多可玩的东西,几乎是敞开了一个面向前端的大门。鄙人虽玩这个hexo博客五六年了,对于前端的了解也仅限于html+css+一点点js,完全没有接触过react/vue等前端框架。mdx的出现让我有机会可以在博客中直接使用jsx语法,从而可以使用react/vue等前端框架的组件。今日便开始尝试一番。之前用LaTeX比较久,很是享受那些自定义指令的功能——临时定义一个样式,然后便
\lalala()重复利用起来,巨方便。通过mdx来执行jsx代码,便可以实现这种梦寐以求的效果。借由jsx还可以直接进行计算,比如输入{Math.PI} 得到3.141592653589793用作自定义块也很方便,比如我有时候需要输入一些不好打的或者经常使用的文字,比如站点名,我的笔名、座右铭等,那么我便可以提前定义到一个字符上,然后在需要的地方直接调用。在做了如下的定义之后便可以这样写——本站名为
{blog} ,站长{me},近来的座右铭“{motto}”出自《荀子·解蔽篇》,意思是要沉心静气,专一学问。export const blog = '子虚栈'export const me = '秉蕳'export const motto = ' 虚一而静,浊明外景。'本站名为子虚栈 ,站长秉蕳,近来的座右铭“ 虚一而静,浊明外景。 ”出自《荀子·解蔽篇》,意思是要沉心静气,专一学问。很好玩吧。经过测试,mdx插件目前基本支持md语法,但代码不高亮、数学公式不能渲染,或许需要引用一些组件什么的,等下再摸索。
接下来,开始学习点React了,希望过两天能做出来类似duckquill主题作者主页那样的效果。
via 子虚栈
谁在开车: 西游战车与心智模型
最近看了不少 Ego、观察者相关的内容,想着能不能结合丹尼尔·卡尼曼在《思考,快与慢》一书中提到的「系统一」和「系统二」来构建一个心智模型。于是就想出了这么一个场景:西游战车。
1. 司机与噪音
坐在驾驶位的是孙悟空(系统一)。他反应极快,直觉敏锐,肌肉记忆发达。为了生存,这辆车(身体)必须由他来驾驶。只有他能在极短时间内对突发的危险做出反应。
孙悟空是个好司机,但他有一个致命弱点:他听觉敏锐,且极易受惊。
这就引出了这个系统里最大的设计缺陷——那个摆在仪表台上的装饰物:猪八戒(Ego)。在这个模型里,他是一个连着油箱的、大功率的有源音箱。这个音箱的功能只有一个:制造叙事(Narrative)。
2. 低像素的广播
猪八戒音箱的工作机制,是典型的 「低像素采样」。当一辆车加塞到你前面,这本是一个拥有海量细节的物理事件(光影、速度、距离)。但猪八戒的大脑处理不了这么大的数据量。他会迅速抓取一个模糊的截图,压缩细节,然后贴上一个巨大的标签——「侮辱」。
紧接着,音箱开始通电,循环广播:“他在羞辱我们!我们得想办法还击!”
孙悟空分辨不出事实(Raw Data)与广播(Narrative)的区别。他听到了威胁,于是肾上腺素飙升,猛踩油门。 司机(悟空)就这样被噪音(八戒)劫持了。你不再看路,你在听故事。
3. 沙僧的无效辩论
当你意识到自己失控时,试图讲道理往往行不通。此时如果唤醒副驾驶上的沙僧(系统二,代表逻辑和理性),让沙僧去解决问题,他要解开安全带,扑向仪表台,用手捂住那个正在震耳欲聋的音箱,或者试图跟音箱辩论:“别吵了,撞车是不划算的!”
但这通常是无效的。原因有两个:
1. 太慢: 在沙僧列出三个逻辑论点之前,孙悟空已经把车开进沟里了。
2. 太累: 用逻辑去压抑情绪(跟音箱拔河),极其消耗能量。「意志力」就是这样被耗尽的。
所以,试图用「压抑」来解决「内耗」,在架构上是行不通的。
4. 唐僧的审视
那个一直坐在后座、很容易被忽略的人是唐僧(观察者)。在这个模型中,唐僧不需要会念经,也不需要有法力,他只需要做一件事:审视。
神奇的事情发生了:当猪八戒被唐僧平静地「看着」时,他的喇叭会自动哑火。
因为叙事无法在审视下存活。这时候,孙悟空依然握着方向盘,他看到了那个摆件在剧烈抖动,甚至看到了它张大的嘴巴。但是,因为没有了煽动性的广播,孙悟空不会感到恐惧或愤怒。他或许会想:“噢,那个猪头又在抽风了。” 然后,他继续看着前方的路,平稳地驾驶。
5. 夺回驾驶权
这种状态,心理学上叫做 「认知解离」。正如冥想,并不是要把猪八戒扔出车外,也不是要让反应迟钝的沙僧去开车(那会出车祸),而是练习「审视」的能力。
大多数人的痛苦在于,他们的唐僧或是睡着了,或是太把猪八戒的广播当真,沉浸在那些虚构的剧情里。一旦唐僧睁开眼开始审视,就会发现并不需要去「关掉」声音,因为审视本身,就是一种静音。
6. 引擎盖之下:能量守恒与 TPN
为什么这一招有效?可以从神经科学层面来解释。首先,能量是有限的,这就像战车的发电机功率是固定的。
● 猪八戒模式 = DMN/Ego:当你发呆、反刍过去、担忧未来时激活。它极其耗能,因为它在不停地编造故事。
● 孙悟空专注模式 = TPN:当你全神贯注处理外部任务时激活。
神经科学发现了一个反相关现象:这两个网络就像跷跷板。当一个活跃时,另一个就会被抑制。所以你不需要去跟猪八戒打架(那是在消耗能量),你只需要把电流切断,输送给另一条线路: DEN(直接体验网络,Direct Experience Network),这是 TPN 的一种特殊形态。当你切换到这个模式时,会强迫大脑放弃概念化(猪八戒的叙事),转而进入纯粹感知。
● 猪八戒模式(DMN/Ego): 看到前车 -> 联想「混蛋」 (概念) -> 感到「侮辱」 (叙事)。
● 审视模式(DEN): 看到前车 -> 审视「我在生气吗?」 -> 感知「光线、距离」 (事实)。
当你全力感知「脚底板的触感」或「呼吸的温度」时,猪八戒之所以闭嘴,是因为他的电被拔了——大脑把所有的带宽都拿去处理「高清感官直播」了,根本没有余力去运行猪八戒的「低像素广播」。
这就是为什么「活在当下」能治愈焦虑。它不是心灵鸡汤,它是物理层面的抢占带宽。
为什么 DEN 和 DMN 会反相关?
DEN(直接体验网络) 是 4K 高清实时直播。 当你全神贯注地看一朵花时,你看到的是无数种色阶的渐变、花瓣边缘的微颤、光影的流动。这是海量的、未经压缩的原始数据 (Raw Data)。你的大脑需要极大的带宽来处理这种真实。
而 猪八戒(DMN/Ego) 无法处理这么大的数据量,也不感兴趣。他的工作机制是 「低像素截图」+「贴标签」。
1. 有损压缩: 猪八戒瞥了一眼那朵花,瞬间把它压缩成一个只有几KB的低像素图标。所有的细节丢失了,只剩下一个模糊的轮廓。
2. 暴力贴标: 他在这个模糊的图标上贴了一个巨大的标签:“玫瑰花”。
3. 循环广播: 然后,他切断了对外界的观察,开始对着这个标签编故事:“玫瑰花 = 前任送的 = 我被抛弃了 = 我很悲惨。”
这就是「低像素广播」的本质:你不再看路,你在看地图;你不再看人,你在看偏见。
当猪八戒大喊“老板在瞪我”时,那只是一个低像素的、过时的、失真的心理投影。真实的情况可能是:老板只是在眯着眼睛看远处的屏幕(DEN 里的 4K 画面),但在猪八戒的 144p 广播里,那被渲染成了「针对你的敌意」。
审视八戒,就是为了关掉这个失真的低清频道,重新用 4K 的肉眼去看清世界的真相。
最后,再来说说冥想(Meditation)。冥想不是发呆,更不是为了成佛。冥想是对唐僧进行的「肌肉记忆训练」。每一次你在冥想中发现自己走神了(觉察到猪八戒开始广播),然后温和地把注意力拉回到呼吸上(审视,激活 DEN),你就是在做一次「举铁」。你每把注意力拉回一次,唐僧的「二头肌」就强壮一分。
我们无法消灭猪八戒,离不开孙悟空和沙僧,还需要后座的唐僧在场,并在必要时进行审视,这样才能在混乱的现实公路上,穿越噪音,驶向真正的彼岸。
via Limboy's Essays
Invalid media: image
最近看了不少 Ego、观察者相关的内容,想着能不能结合丹尼尔·卡尼曼在《思考,快与慢》一书中提到的「系统一」和「系统二」来构建一个心智模型。于是就想出了这么一个场景:西游战车。
1. 司机与噪音
坐在驾驶位的是孙悟空(系统一)。他反应极快,直觉敏锐,肌肉记忆发达。为了生存,这辆车(身体)必须由他来驾驶。只有他能在极短时间内对突发的危险做出反应。
孙悟空是个好司机,但他有一个致命弱点:他听觉敏锐,且极易受惊。
这就引出了这个系统里最大的设计缺陷——那个摆在仪表台上的装饰物:猪八戒(Ego)。在这个模型里,他是一个连着油箱的、大功率的有源音箱。这个音箱的功能只有一个:制造叙事(Narrative)。
2. 低像素的广播
猪八戒音箱的工作机制,是典型的 「低像素采样」。当一辆车加塞到你前面,这本是一个拥有海量细节的物理事件(光影、速度、距离)。但猪八戒的大脑处理不了这么大的数据量。他会迅速抓取一个模糊的截图,压缩细节,然后贴上一个巨大的标签——「侮辱」。
紧接着,音箱开始通电,循环广播:“他在羞辱我们!我们得想办法还击!”
孙悟空分辨不出事实(Raw Data)与广播(Narrative)的区别。他听到了威胁,于是肾上腺素飙升,猛踩油门。 司机(悟空)就这样被噪音(八戒)劫持了。你不再看路,你在听故事。
3. 沙僧的无效辩论
当你意识到自己失控时,试图讲道理往往行不通。此时如果唤醒副驾驶上的沙僧(系统二,代表逻辑和理性),让沙僧去解决问题,他要解开安全带,扑向仪表台,用手捂住那个正在震耳欲聋的音箱,或者试图跟音箱辩论:“别吵了,撞车是不划算的!”
但这通常是无效的。原因有两个:
1. 太慢: 在沙僧列出三个逻辑论点之前,孙悟空已经把车开进沟里了。
2. 太累: 用逻辑去压抑情绪(跟音箱拔河),极其消耗能量。「意志力」就是这样被耗尽的。
所以,试图用「压抑」来解决「内耗」,在架构上是行不通的。
4. 唐僧的审视
那个一直坐在后座、很容易被忽略的人是唐僧(观察者)。在这个模型中,唐僧不需要会念经,也不需要有法力,他只需要做一件事:审视。
神奇的事情发生了:当猪八戒被唐僧平静地「看着」时,他的喇叭会自动哑火。
因为叙事无法在审视下存活。这时候,孙悟空依然握着方向盘,他看到了那个摆件在剧烈抖动,甚至看到了它张大的嘴巴。但是,因为没有了煽动性的广播,孙悟空不会感到恐惧或愤怒。他或许会想:“噢,那个猪头又在抽风了。” 然后,他继续看着前方的路,平稳地驾驶。
5. 夺回驾驶权
这种状态,心理学上叫做 「认知解离」。正如冥想,并不是要把猪八戒扔出车外,也不是要让反应迟钝的沙僧去开车(那会出车祸),而是练习「审视」的能力。
大多数人的痛苦在于,他们的唐僧或是睡着了,或是太把猪八戒的广播当真,沉浸在那些虚构的剧情里。一旦唐僧睁开眼开始审视,就会发现并不需要去「关掉」声音,因为审视本身,就是一种静音。
6. 引擎盖之下:能量守恒与 TPN
为什么这一招有效?可以从神经科学层面来解释。首先,能量是有限的,这就像战车的发电机功率是固定的。
● 猪八戒模式 = DMN/Ego:当你发呆、反刍过去、担忧未来时激活。它极其耗能,因为它在不停地编造故事。
● 孙悟空专注模式 = TPN:当你全神贯注处理外部任务时激活。
神经科学发现了一个反相关现象:这两个网络就像跷跷板。当一个活跃时,另一个就会被抑制。所以你不需要去跟猪八戒打架(那是在消耗能量),你只需要把电流切断,输送给另一条线路: DEN(直接体验网络,Direct Experience Network),这是 TPN 的一种特殊形态。当你切换到这个模式时,会强迫大脑放弃概念化(猪八戒的叙事),转而进入纯粹感知。
● 猪八戒模式(DMN/Ego): 看到前车 -> 联想「混蛋」 (概念) -> 感到「侮辱」 (叙事)。
● 审视模式(DEN): 看到前车 -> 审视「我在生气吗?」 -> 感知「光线、距离」 (事实)。
当你全力感知「脚底板的触感」或「呼吸的温度」时,猪八戒之所以闭嘴,是因为他的电被拔了——大脑把所有的带宽都拿去处理「高清感官直播」了,根本没有余力去运行猪八戒的「低像素广播」。
这就是为什么「活在当下」能治愈焦虑。它不是心灵鸡汤,它是物理层面的抢占带宽。
为什么 DEN 和 DMN 会反相关?
DEN(直接体验网络) 是 4K 高清实时直播。 当你全神贯注地看一朵花时,你看到的是无数种色阶的渐变、花瓣边缘的微颤、光影的流动。这是海量的、未经压缩的原始数据 (Raw Data)。你的大脑需要极大的带宽来处理这种真实。
而 猪八戒(DMN/Ego) 无法处理这么大的数据量,也不感兴趣。他的工作机制是 「低像素截图」+「贴标签」。
1. 有损压缩: 猪八戒瞥了一眼那朵花,瞬间把它压缩成一个只有几KB的低像素图标。所有的细节丢失了,只剩下一个模糊的轮廓。
2. 暴力贴标: 他在这个模糊的图标上贴了一个巨大的标签:“玫瑰花”。
3. 循环广播: 然后,他切断了对外界的观察,开始对着这个标签编故事:“玫瑰花 = 前任送的 = 我被抛弃了 = 我很悲惨。”
这就是「低像素广播」的本质:你不再看路,你在看地图;你不再看人,你在看偏见。
当猪八戒大喊“老板在瞪我”时,那只是一个低像素的、过时的、失真的心理投影。真实的情况可能是:老板只是在眯着眼睛看远处的屏幕(DEN 里的 4K 画面),但在猪八戒的 144p 广播里,那被渲染成了「针对你的敌意」。
审视八戒,就是为了关掉这个失真的低清频道,重新用 4K 的肉眼去看清世界的真相。
最后,再来说说冥想(Meditation)。冥想不是发呆,更不是为了成佛。冥想是对唐僧进行的「肌肉记忆训练」。每一次你在冥想中发现自己走神了(觉察到猪八戒开始广播),然后温和地把注意力拉回到呼吸上(审视,激活 DEN),你就是在做一次「举铁」。你每把注意力拉回一次,唐僧的「二头肌」就强壮一分。
我们无法消灭猪八戒,离不开孙悟空和沙僧,还需要后座的唐僧在场,并在必要时进行审视,这样才能在混乱的现实公路上,穿越噪音,驶向真正的彼岸。
via Limboy's Essays
Invalid media: image
基于QEMU测试Loongarch龙架构
最近有个公司客户说要在3A6000上运行我们的产品。大一的时候279元买了台龙芯2F的逸珑8089d笔记本,那时还是mips架构的,现在龙芯已经使用新的Loongarch龙架构了。
我看了下网上没有很便宜的整机可以买到,于是就考虑用QEMU来模拟测试环境。
QEMU有两种模式,一种是system,可以模拟整个硬件环境,一种是user,可以直接在自己的环境中执行另一个架构的程序。
System模式
我们可以直接下载龙芯官方的Loongnix系统的qemu磁盘镜像来启动一个Loongarch的系统。
镜像链接:https://pkg.loongnix.cn/loongnix/20/isos/Loongnix-20.7.rc1/Loongnix-20.7.rc1.cartoon.gui.loongarch64.en.qcow2
EFI固件:https://github.com/loongson/Firmware/blob/main/LoongArchVirtMachine/QEMU_EFI.fd
然后用以下命令启动:
密码是Loongson20。
User模式
我们需要有一个基本的rootfs,可以用debootstrap构建或者解压现成打包好的版本(CLFS-for-LoongArch)。
下面是使用debootstrap的方法,测试环境是Debian 14 Testing:
新旧世界
LoongArch有两套不兼容的软件体系,叫做旧世界和新世界,官方叫ABI 1.0和ABI 2.0。
主要是早期官方维护了一套自己的工具链,接近MIPS的风格,后面接受社区的反馈,融入了开源社区。
一个比较明显的区别是新世界的程序解释器路径是 /lib64/ld-linux-loongarch-lp64d.so.1,而旧世界的程序解释器路径是 /lib64/ld.so.1。
一般比较老的Linux 4.x内核的,麒麟、UOS、Loongnix 20这些是旧世界的系统,社区的Debian、Arch和Loongnix 25是新世界系统。
新世界系统可以通过liblol兼容旧世界系统的软件。不过旧世界兼容新世界就没有那么容易了。
要编译支持某个世界系统的程序,最好是在目标系统编译,或者使用对应的交叉编译工具链。
相关链接
● 请教在x86平台使用qemu运行商业版(旧世界)loongarch64的方法
● 旧世界与新世界
● 基于KVM的新世界运行旧世界闭源软件
via xulihang's blog
最近有个公司客户说要在3A6000上运行我们的产品。大一的时候279元买了台龙芯2F的逸珑8089d笔记本,那时还是mips架构的,现在龙芯已经使用新的Loongarch龙架构了。
我看了下网上没有很便宜的整机可以买到,于是就考虑用QEMU来模拟测试环境。
QEMU有两种模式,一种是system,可以模拟整个硬件环境,一种是user,可以直接在自己的环境中执行另一个架构的程序。
System模式
我们可以直接下载龙芯官方的Loongnix系统的qemu磁盘镜像来启动一个Loongarch的系统。
镜像链接:https://pkg.loongnix.cn/loongnix/20/isos/Loongnix-20.7.rc1/Loongnix-20.7.rc1.cartoon.gui.loongarch64.en.qcow2
EFI固件:https://github.com/loongson/Firmware/blob/main/LoongArchVirtMachine/QEMU_EFI.fd
然后用以下命令启动:
qemu-system-loongarch64 -m 4G -cpu la464-loongarch-cpu -machine virt -smp 4 -bios QEMU_EFI.fd -serial stdio -device virtio-gpu-pci -net nic -net user -device nec-usb-xhci,id=xhci,addr=0x1b -device usb-tablet,id=tablet,bus=xhci.0,port=1 -device usb-kbd,id=keyboard,bus=xhci.0,port=2 -hda Loongnix-20.7.rc1.cartoon.gui.loongarch64.en.qcow2
密码是Loongson20。
User模式
我们需要有一个基本的rootfs,可以用debootstrap构建或者解压现成打包好的版本(CLFS-for-LoongArch)。
下面是使用debootstrap的方法,测试环境是Debian 14 Testing:
sudo apt install debootstrap qemu-user-binfmt binfmt-support debian-ports-archive-keyring
mkdir loongson
sudo debootstrap --arch=loong64 --foreign sid loongson http://mirrors.ustc.edu.cn/debian
sudo cp /usr/bin/qemu-loongarch64 loongson/usr/bin/
sudo mount -t proc proc loongson/proc
sudo mount -t sysfs sys loongson/sys
sudo mount -t devpts devpts loongson/dev/pts
sudo chroot loongson /debootstrap/debootstrap --second-stage
新旧世界
LoongArch有两套不兼容的软件体系,叫做旧世界和新世界,官方叫ABI 1.0和ABI 2.0。
主要是早期官方维护了一套自己的工具链,接近MIPS的风格,后面接受社区的反馈,融入了开源社区。
一个比较明显的区别是新世界的程序解释器路径是 /lib64/ld-linux-loongarch-lp64d.so.1,而旧世界的程序解释器路径是 /lib64/ld.so.1。
一般比较老的Linux 4.x内核的,麒麟、UOS、Loongnix 20这些是旧世界的系统,社区的Debian、Arch和Loongnix 25是新世界系统。
新世界系统可以通过liblol兼容旧世界系统的软件。不过旧世界兼容新世界就没有那么容易了。
要编译支持某个世界系统的程序,最好是在目标系统编译,或者使用对应的交叉编译工具链。
相关链接
● 请教在x86平台使用qemu运行商业版(旧世界)loongarch64的方法
● 旧世界与新世界
● 基于KVM的新世界运行旧世界闭源软件
via xulihang's blog
博客功能更新 × 3
博客功能升级:新增系列文章功能支持文章连载,相关文章推荐提升内容关联性,Twikoo 评论组件自定义主题色实现 UI 统一。详细介绍 Astro 博客的三大功能更新及使用方法。
via Usubeni Fantasy
博客功能升级:新增系列文章功能支持文章连载,相关文章推荐提升内容关联性,Twikoo 评论组件自定义主题色实现 UI 统一。详细介绍 Astro 博客的三大功能更新及使用方法。
via Usubeni Fantasy
我关注的项目这周更新了什么-20260109
简介
每周五更新,所有的更新也会发送到我的频道
https://t.me/bboyapp
规则
● pre release的不记录
● 只记录重要的更新
● 上一版本版本的bugfix不记录,比如某一个项目最新版本是7.0.0 上一个版本6.0.0发布了一个bugfix 6.0.1 那么不会记录
● 比如lens发布了一个新版本,那么openlens也会发布一个新版本,此时只会记录lens发布的信息,不会记录openlens发布的信息
via Bboysoul's Blog
Invalid media: image
简介
每周五更新,所有的更新也会发送到我的频道
https://t.me/bboyapp
规则
● pre release的不记录
● 只记录重要的更新
● 上一版本版本的bugfix不记录,比如某一个项目最新版本是7.0.0 上一个版本6.0.0发布了一个bugfix 6.0.1 那么不会记录
● 比如lens发布了一个新版本,那么openlens也会发布一个新版本,此时只会记录lens发布的信息,不会记录openlens发布的信息
via Bboysoul's Blog
Invalid media: image
简介
欢迎关注我的频道,不时发送垃圾消息
https://t.me/bboyapp
或者关注我的 twitter
https://twitter.com/bboysoulcn
via Bboysoul's Blog
Introduction
Welcome to follow my channel, where I occasionally share random messages
https://t.me/bboyapp
Or follow me on Twitter
https://twitter.com/bboysoulcn
via Bboysoul's Blog