Archlinux loong64 2022.09
Yuno
@yetist 使用makepkg编译软件时,会报如下错,会不会与glibc有关?
yetist
一开始我也认为跟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
在 qemu 虚拟机安装完成后重启,引导直接进到 UEFI Shell 了。
这个问题的原因是使用虚拟机的话,efibootmgr 无法将启动项信息写到固件中去导致的,在物理机上没有问题。
另外,systemd-boot 时,会在已安装自己启动项的基础上,同时把 efi 文件复制到默认位置:/EFI/BOOT/BOOTLOONGARCH64.EFI
,而 grub 不会多做这一步,所以之前使用 systemd boot的iso安装完可以正常启动,而 grub 安装完不能正常启动,自动进到 UEFI Shell了。
解决办法:
- 如果使用grub的话,安装完之后,把 .efi 文件复制一份到默认位置:
<esp>/EFI/BOOT/BOOTLOONGARCH64.EFI
- 像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
直接 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
你这是什么机器?用的是最新固件吗?
yetist
对了,最新固件有个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