skylines
i have same iuess
U can try get the kernal from http://pkg.iloongarch.cn/archlinux. The kernal in http://pkg.iloongarch.cn/archlinux is 5.17
I fixed it by copy the kernal n kernal modules from a live cd that use kernal 5.18.
yetist
It is broken as hell
Look at my VM :
https://bbs.loongarch.org/d/107-arch-loongarch-port-in-qemu-loongacrch-qemu
The xfce4 is from https://mirrors.wsyu.edu.cn/loongarch/
EDIT : IT is better now after relogin
EDIT2 : it sometime crashed .
try: http://c.linuxren.top:8000/wxt/2022.03/
统一回复: 目前社区内核5.19+在最新的qemu-system-loongarch64上不能运行是已知问题,需要等内核/qemu来修复,大概率得qemu来修复。
archlinux 仓库目前没有5.18内核,如果需要,请从早期的安装盘里,反向打包一个出来自用,打包工具如repacman之类的。
repacman
Btw if u r a Advanced linux user like me , u can install linux 5.18 alongside the broken 5.19 kernal.
Also i think the bug is related to this https://bbs.loongarch.org/d/45-loongarch-next-linux
yetist 大佬,您安装盘里的arch/boot/loongarch64/initramfs-linux.img是怎么生成的?我现在卡在生成initramfs了 /捂脸
arch/boot/loongarch64/initramfs-linux.img
寻找繁星
不是 mkinitcpio 出来的吗?
yetist 这个不是要chroot进去才能用吗?我现在在旧世界内核上做新世界的ArchLinux,没法chroot进去。
旧世界内核上做不了新世界系统。为啥不直接使用新世界系统来做呢?Archlinux、Gentoo、CLFS都有新世界。
yetist 不可能。因为第一个新世界系统肯定不是用新世界系统做的。我主要是想摸索出一个适合普通用户(旧固件旧世界内核)升级到新世界用户态的方法。gentoo我不会用。您提供的ArchLinux好像只支持新固件?而根据白老师的说法,升级新固件的前提条件是要有一个新世界操作系统。孙老师的CLFS过于硬核了,好像是没有包管理器的?孙老师的ArchLinux(我现在尝试安装的)现在又启动不了。其实我现在怀疑启动不了的原因可能不是没有initrd,因为我看孙老师的旧版本CLFS(用旧固件的版本)里也是直接用的acpi-initrd。因此之后如果有空的话我想直接把旧版本CLFS给装上,看看能不能启动。
我主要是想摸索出一个适合普通用户(旧固件旧世界内核)升级到新世界用户态的方法。
旧固件旧世界 -> 新固件新世界,参考这里:https://bbs.loongarch.org/d/88-archlinux
寻找繁星 因为第一个新世界系统肯定不是用新世界系统做的。
这也没错,因为第一个新世界系统是在别的架构上交叉编译出来的。。。CLFS、Gentoo 都是。
目前确实没有在旧世界内核上制作新世界系统的办法,因为系统调用 ABI 真的不兼容。Blame Loongson for that
yetist 这个不是需要新固件吗?我其实不清楚怎么不用编程器之类的设备升级固件。我在BIOS里也没看到升级固件的选项。这里说昆仑固件在“安全”选项下能找到:https://github.com/loongson/Firmware/blob/main/README_CN.md 可是我真没找到。。。
而且之前白老师有说升级到新固件需要先升级到旧固件新世界内核。
xen0n 为啥不能在旧世界用新世界的工具链编译新世界?
旧世界不也是“其他架构”吗?
淡炒番茄 为啥不能在旧世界用新世界的工具链编译新世界?
这个应该可以,在旧世界做一个 target 新世界的工具链,然后以此工具链做系统。只要不执行产生的可执行文件就没问题,也不能 chroot
可以这么认为,但我怕有些软件看 build == host 就认为是同一个架构,可以执行它的程序
如果把新旧世界当成两个不同架构,完全采用交叉编译来做的话,倒是有可能做出来。 只是之前做新世界时,host是x86_64,现在的host是旧世界loongarch,target是新世界loongarch,不过确实可能存在程序被执行的风险,从而导致失败。
yetist 之前就是这么想的。不过倒是没有考虑到被编译的文件也可能被自动执行 /笑哭
寻找繁星 而且之前白老师有说升级到新固件需要先升级到旧固件新世界内核。
没有这回事,之前可能只是为了提醒用户在两个世界之间迁移会涉及全系统重装。
寻找繁星 不过倒是没有考虑到被编译的文件也可能被自动执行
别的不清楚,至少 gcc 如果看到前后 target tuple 一样(新旧世界 target tuple 一样的)会自动开启 bootstrap,这就会执行编译产物了,所以 gcc 一定要 --disable-bootstrap。
--disable-bootstrap
如果有兴趣沿着这条路研究,我个人倒是不反对,但因为其他的软件包也可能出现类似情况,可能还不一定好修,所以也不特别支持
xen0n 那建议在这里把一台运行旧世界固件、新世界用户态的 LoongArch 电脑移出前置条件:https://bbs.loongarch.org/d/89
一台运行旧世界固件、新世界用户态的 LoongArch 电脑
前置条件
本站文章除其作者特殊声明外,一律采用CC BY-NC-SA 4.0许可协议进行授权。进行转载或二次创作时务必以相同协议进行共享,严禁用于商业用途。