LoongArch Archlinux bootstrap 项目启动
大道无形若水
之前移植完成了两次LoongArch架构的 Archlinux loongarch64 ,其中移植了一次老世界、移植了一次“当时的”新世界,由于基础工具的三件套在变化,从头移植LA arch太累人了,所以准备启动一个loongarch64-bootstrap的archlinux项目,可以避免爱好者从头构建archlinx-loongarch64,就可以享受LoongArch平台Archlinux系统。
项目地址:https://github.com/shipujin/archlinux-loongarch64-bootstrap
构建LoongArch Archlinux系统使用到的LoongArch项目源码地址、版本和LoongArch补丁patch存放地址:https://github.com/shipujin/archloongarch-packages
loongarch64-bootstrap-archlinux项目是做什么的,解决什么问题:
项目是跟进github/loongson下三件套,使用最新社区工具链构建出只包含核心包组的archlinux(类似于archlinux提供的archlinux-bootstrap-xxxx.tar.gz压缩包)
loongarch64-bootstrap-archlinux项目建立原因:
arch爱好者从头构建loongarch64 archlinux 过于耗费人力,并且移植好的带架构的包无法重复利用(LA三件套未完全合入上游、abi在变化)。
持续更新中。。。
下面是我之前移植的老世界的Arch linux、新世界Arch linux 的截图,请大家欣赏
使用上游github/loongson开源的基础软件构建的新世界
下面是老世界的:
持续更新中。。。
大道无形若水
从头移植发行版太痛苦了,为了arch爱好者能够专注自己感兴趣的地方,提供一个基础arch环境,这就是项目建立的初衷。
杜比
不错,持续关注!
凌莞
你好,我们也在研究 archlinux 的移植,现在发现了和我们做着同样事情的人。希望能联系到楼主,和我们一起作战
大道无形若水
凌莞 冲冲冲
大道无形若水
昨天我用上游社区最新状态的github/loongson下的gcc/binutils/glibc/linux,构建了LoongArch archlinux base-devel,估计再等半个小时就滚好了,晚上前应该能上传到github.,等上传好会把地址发出来,这样大家就可以随意扩展,然后统一管理到某工具链更新日期的仓库里(避免第三世界的产生)😂
时空质能
你是在archlinux里交叉编译的吗?
xen0n
是这样的,由于目前基础 ABI 仍然没有完全稳定下来,所有最终用户都应该预期经常需要重装系统(这个事情在我 Gentoo/LoongArch port 已经发生一回了,过一阵还要搞第二回),所以大可不必担心什么“第三世界”;按照工具链版本管理起来更多应该是服务开发者自己,以便不要晕掉。
大道无形若水
xen0n 是的 膜拜gentoo大佬白老师
大道无形若水
时空质能 对,之前是构建交叉编译的基础工具链基础系统,运行到实体机上,在目标系统本地bootstrap出完整图形系统,现在想玩个不一样的
根据实际需求只构建核心包组的基础系统,发现交叉编译效率更高,并且只bootstrap核心包组的话交叉编译也足够了,索性使用交叉编译出目的distro
xen0n
楼主,你犯了错误:https://github.com/shipujin/archlinux-loongarch64-bootstrap/releases/tag/v0.2 这里你只记录了版本,而没有 commit hash,但龙芯的人版本管理很不讲究,这些“版本”是分支不是 tag,有几个分支他们会动!比如 https://github.com/loongson/binutils-gdb/pull/131 这个 PR 就动了你用的binutils upstream_v3.1
分支。建议编辑下加上 commit hash 相关信息。
大道无形若水
xen0n 收到,谢谢白老师的提醒,我等下把commit hash也贴上去
大道无形若水
v0.2: archlinux-bootstrap-2022.03.18-loongarch64.tar.gz
下载地址:
详情介绍:
https://github.com/shipujin/archlinux-loongarch64-bootstrap/releases/tag/v0.2
# 预装了核心基础组包114个,下面是 gcc binutils glibc linux-api-headers 版
pacman -Q gcc binutils glibc linux-api-headers
gcc 12.0.1-3
binutils 2.37-3
glibc 2.35-2
linux-api-headers 5.17.0_rc1-1
大道无形若水
附上昨天晚上在qq群的讨论
archlinux-bootstrap-loongarch64项目创建的初衷,是因为现在LA abi未定,这会导致构建当时工具链的arch distro不一定兼容现在的abi,就得重新构建arch distro,这样对LA arch用户太累了。
这就有了archlinux-bootstrap-loongarch64项目,只关注构建基础核心包组,其他组件包组就需要其他爱好者滚动了,这样每一个arch用户都可以用玩的开心
可以让arch用户可以用到最新的社区状态arch环境,这个项目只适用于现在abi未定的非常时期。
后续archlinux-bootstrap-loongarch64项目会跟随LA 三件套的更新,会再次bootstrap archlinux,让LA archlinux可以拥有最新la archlinux环境状态。
后续想在archlinux-bootstrap-loongarch64使用,但未预装的软件包,也可以在此贴下说下需要的软件包,楼主可以考虑预装进去哈😁
杜比
建议封装个iso,爱好者可以用它制作一个usb live,这样在不影响3A5000主机原环境的基础上,试用archlinux for loongarch。目前的项目状态需要一个新世界的环境,比如clfs和gentoo,这无疑提高了门槛。
或者有人可以整理个方案,能把新世界的环境和项目进行一下整合,这样或许能让更多的爱好者快速上手。
这样用的人多了,反馈也会多起来!
大道无形若水
杜比 Hi 杜比,你的建议我收到了,封装iso的事情可以列在后续的计划中,等我最近把内核、grub2等启动相关的包搞好,接下来可以做个可以启动的mini.iso,方便爱好者玩耍
大道无形若水
构建LoongArch Archlinux系统使用到的LoongArch项目源码地址、版本和LoongArch补丁patch存放地址:https://github.com/shipujin/archloongarch-packages
why
边看边学.持续关注
小胖
赞