加载论坛时出错,请强制刷新页面重试。

Archlinux loong64 2022.09

Yuno

@yetist 使用makepkg编译软件时,会报如下错,会不会与glibc有关?


yetist

Yuno

一开始我也认为跟glibc有关,今天研究之后,应该是跟makepkg在生成debug包时的处理方式有关,等pacman升级到 6.0.2 版本之后就没有这个输出了。

它们是这么来的:

gcc -g -o a a.c
readelf a --debug-dump 2>/dev/null | awk '/DW_AT_name +:/{name=$NF}/DW_AT_comp_dir +:/{{if (name == "<artificial>") next}{if (name !~ /^[<\/]/) {printf "%s/", $NF}}{print name}}'
debugedit --no-recompute-build-id --list-file /dev/stdout a |strings

目前使用的是 readelf 来查源文件,后面会用 debugedit 来查源文件,并处理好源文件不存在的情况。
现在这个输出不影响,它不应该去 cp 这3个文件的。


weilinfox

首次尝试了安装。在 qemu 虚拟机安装完成后重启,引导直接进到 UEFI Shell 了。但是手动运行 grubloongarch64.efi 又可以正常引导。不知道是不是安装过程中哪里姿势不对。

这是我的 grub-install 命令行: grub-install --target=loongarch64-efi --efi-directory=/boot --bootloader-id=archlinux

感谢 😃


REDEAST

weilinfox
直接试试
grub-install /dev/sda


Maria Bombardier

weilinfox 用旧版本ISO,你试的情况我也有,用旧版的就能正常进系统了


yetist

weilinfox

在 qemu 虚拟机安装完成后重启,引导直接进到 UEFI Shell 了。

这个问题的原因是使用虚拟机的话,efibootmgr 无法将启动项信息写到固件中去导致的,在物理机上没有问题。
另外,systemd-boot 时,会在已安装自己启动项的基础上,同时把 efi 文件复制到默认位置:/EFI/BOOT/BOOTLOONGARCH64.EFI,而 grub 不会多做这一步,所以之前使用 systemd boot的iso安装完可以正常启动,而 grub 安装完不能正常启动,自动进到 UEFI Shell了。

解决办法:

  1. 如果使用grub的话,安装完之后,把 .efi 文件复制一份到默认位置: <esp>/EFI/BOOT/BOOTLOONGARCH64.EFI
  2. 像x86那样,给la的虚拟机也加上可保存引导信息的flash参数,如:-drive if=pflash,format=raw,unit=1,file=OVMF_VARS.fd,x86的这个文件一般来自于 /usr/share/edk2-ovmf/x64/OVMF_VARS.fd,la上我不知道它在哪里。

weilinfox

另外又试图用 pacstrap 在 x86_64 做一个 chroot 环境,能正常进去但是遇到如图的报错。

OS: Arch Linux x86_64
Kernel: 5.15.78-1-lts
qemu-loongarch64 version 7.1.0


凌莞

weilinfox 另外又试图用 pacstrap 在 x86_64 做一个 chroot 环境,能正常进去但是遇到如图的报错。

看起来和这位是一个问题


shangyatsen

error: failed retrieving file 'fio-3.32-1-loong64.pkg.tar.zst' from mirrors.wsyu.edu.cn : SSL certificate problem: certificate has expired

镜像站证书过期了 😀


weilinfox

REDEAST

直接 grub-install /dev/xxx 似乎不行,因为我直接拿 efi 分区做了 /boot ?

试了试用 systemd-boot 套了个娃,让 systemd-boot 去引导 grub 的 efi ,又是可以的(systemd-boot 这个比较符合预期的样子)

$ cat /boot/loader/entries/grub.conf

title Archlinux
efi   /EFI/archlinux/grubloongarch64.efi

淡炒番茄

他这个应该是efibootmgr没有把grub加到bios启动项里面。


杜比

sudo pacman -Syy
:: Synchronizing package databases...
 testing.db failed to download
error: failed retrieving file 'testing.db' from mirrors.wsyu.edu.cn : SSL certificate problem: certificate has expired
error: failed retrieving file 'testing.db' from mirrors.wsyu.edu.cn : SSL certificate problem: certificate has expired
error: failed to synchronize all databases (download library error)

寻找繁星

weilinfox 我的grub-install也报这个错。不过你这个套娃方案我这里失败了,bios的boot manager里的linux boot manager(应该是systemd-boot对应的启动项)进去直接黑屏。


liangyongxiang

我使用有一定概率没法进入real rootf,硬件是7A2000


yetist

liangyongxiang

你这是什么机器?用的是最新固件吗?


yetist

liangyongxiang

对了,最新固件有个legacy 模式开关,打开可以跑旧世界,跑新世界6.0以上内核的话需要关闭,不知道你是不是这种情况。


梁息

yetist 如果使用grub的话,安装完之后,把 .efi 文件复制一份到默认位置: <esp>/EFI/BOOT/BOOTLOONGARCH64.EFI

--removable参数也可以吧


yetist

梁息

理论上可以的,我还没试过


gdzsyk

7A2000新固件有两个模式开关Mode Control Select 和IOMMU ,打开可以跑旧世界,不是都能启动


杜比

qtcreator

gnuradio


yetist

考虑到有些同学没有物理机,在虚拟机上也没有安装成功,所以将发布安装好的虚拟机镜像。

虚拟机中的帐户

root 密码: loongarch
user 名称: loongarch
user 密码: loongarch

运行方法

qemu-system-loongarch64 \
	    -m 4G \
	    -cpu la464-loongarch-cpu \
	    -machine virt \
	    -bios ./QEMU_EFI.fd \
	    -serial stdio \
	    -vga std \
	    -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 archlinux-xxx-yyyy-loong64.new.qcow2

下载地址: https://mirrors.wsyu.edu.cn/loongarch/2022.09/images
镜像说明: https://mirrors.wsyu.edu.cn/loongarch/2022.09/images/README.txt


« 上一页 下一页 »

知识共享许可协议
本站文章除其作者特殊声明外,一律采用CC BY-NC-SA 4.0许可协议进行授权。
进行转载或二次创作时务必以相同协议进行共享,严禁用于商业用途