Archlinux loong64 2022.09
yetist
发几张安装测试图片:
loong64
新固件可以引导iso了
archinstall安装选择 驱动器报错
Exit code for blkid -p -o export was: 512
Not a loop device, trying uevent rules.
Exit code for blkid -p -o export was: 512
Not a loop device, trying uevent rules.
Exit code for blkid -p -o export was: 512
Not a loop device, trying uevent rules.
Traceback (most recent call last):
File "/usr/bin/archinstall", line 8, in <module>
sys.exit(run_as_a_module())
File "/usr/lib/python3.10/site-packages/archinstall/__init__.py", line 311, in run_as_a_module
script.execute()
File "/usr/lib/python3.10/site-packages/archinstall/lib/profiles.py", line 195, in execute
self.spec.loader.exec_module(sys.modules[self.namespace])
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/usr/lib/python3.10/site-packages/archinstall/examples/guided.py", line 282, in <module>
ask_user_questions()
File "/usr/lib/python3.10/site-packages/archinstall/examples/guided.py", line 107, in ask_user_questions
global_menu.run()
File "/usr/lib/python3.10/site-packages/archinstall/lib/menu/selection_menu.py", line 344, in run
if not self._process_selection(value):
File "/usr/lib/python3.10/site-packages/archinstall/lib/menu/selection_menu.py", line 361, in _process_selection
return self.exec_option(config_name, selector)
File "/usr/lib/python3.10/site-packages/archinstall/lib/menu/selection_menu.py", line 381, in exec_option
result = selector.func(presel_val)
File "/usr/lib/python3.10/site-packages/archinstall/lib/menu/global_menu.py", line 79, in <lambda>
lambda preset: self._select_harddrives(preset),
File "/usr/lib/python3.10/site-packages/archinstall/lib/menu/global_menu.py", line 345, in _select_harddrives
harddrives = select_harddrives(old_harddrives)
File "/usr/lib/python3.10/site-packages/archinstall/lib/user_interaction/system_conf.py", line 52, in select_harddrives
hard_drives = all_blockdevices(partitions=False).values()
File "/usr/lib/python3.10/site-packages/archinstall/lib/disk/helpers.py", line 260, in all_blockdevices
instances[path] = BlockDevice(path, path_info)
File "/usr/lib/python3.10/site-packages/archinstall/lib/disk/blockdevice.py", line 53, in __init__
self._load_partitions()
File "/usr/lib/python3.10/site-packages/archinstall/lib/disk/blockdevice.py", line 131, in _load_partitions
self._partitions[part_id] = Partition(root + part_id, block_device=self, part_id=part_id)
File "/usr/lib/python3.10/site-packages/archinstall/lib/disk/partition.py", line 70, in __init__
self._partition_info = self._fetch_information()
File "/usr/lib/python3.10/site-packages/archinstall/lib/disk/partition.py", line 179, in _fetch_information
sfdisk_info = self._call_sfdisk()
File "/usr/lib/python3.10/site-packages/archinstall/lib/disk/partition.py", line 166, in _call_sfdisk
sfdisk_info = json.loads(output)
File "/usr/lib/python3.10/json/__init__.py", line 346, in loads
return _default_decoder.decode(s)
File "/usr/lib/python3.10/json/decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python3.10/json/decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
www
牛逼
yetist
loong64
你试试今天新出的iso看行不行?
loong64
yetist 好的,我试试 😀
yetist
这里可能有一个bug,确认方法:
在 liveusb 环境中,运行一下命令 sfdisk --json /dev/sda
或 sfdisk --json /dev/sdb
,看看输出信息是不是有效的json格式,如果输出不是, 比如 sfdisk 输出了其他警告信息,比如说这个盘的大小和预期不一致啥的。
解决办法:
修改 /usr/lib/python3.10/site-packages/archinstall/lib/disk/partition.py
文件 163 行,将 sfdisk --json
修改为 sfdisk -q --json
试一下
loong64
22号iso
Traceback (most recent call last):
File "/usr/bin/archinstall", line 8, in <module>
sys.exit(run_as_a_module())
File "/usr/lib/python3.10/site-packages/archinstall/__init__.py", line 311, in run_as_a_module
script.execute()
File "/usr/lib/python3.10/site-packages/archinstall/lib/profiles.py", line 195, in execute
self.spec.loader.exec_module(sys.modules[self.namespace])
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/usr/lib/python3.10/site-packages/archinstall/examples/guided.py", line 282, in <module>
ask_user_questions()
File "/usr/lib/python3.10/site-packages/archinstall/examples/guided.py", line 107, in ask_user_questions
global_menu.run()
File "/usr/lib/python3.10/site-packages/archinstall/lib/menu/selection_menu.py", line 344, in run
if not self._process_selection(value):
File "/usr/lib/python3.10/site-packages/archinstall/lib/menu/selection_menu.py", line 361, in _process_selection
return self.exec_option(config_name, selector)
File "/usr/lib/python3.10/site-packages/archinstall/lib/menu/selection_menu.py", line 381, in exec_option
result = selector.func(presel_val)
File "/usr/lib/python3.10/site-packages/archinstall/lib/menu/global_menu.py", line 79, in <lambda>
lambda preset: self._select_harddrives(preset),
File "/usr/lib/python3.10/site-packages/archinstall/lib/menu/global_menu.py", line 345, in _select_harddrives
harddrives = select_harddrives(old_harddrives)
File "/usr/lib/python3.10/site-packages/archinstall/lib/user_interaction/system_conf.py", line 52, in select_harddrives
hard_drives = all_blockdevices(partitions=False).values()
File "/usr/lib/python3.10/site-packages/archinstall/lib/disk/helpers.py", line 260, in all_blockdevices
instances[path] = BlockDevice(path, path_info)
File "/usr/lib/python3.10/site-packages/archinstall/lib/disk/blockdevice.py", line 53, in __init__
self._load_partitions()
File "/usr/lib/python3.10/site-packages/archinstall/lib/disk/blockdevice.py", line 131, in _load_partitions
self._partitions[part_id] = Partition(root + part_id, block_device=self, part_id=part_id)
File "/usr/lib/python3.10/site-packages/archinstall/lib/disk/partition.py", line 70, in __init__
self._partition_info = self._fetch_information()
File "/usr/lib/python3.10/site-packages/archinstall/lib/disk/partition.py", line 179, in _fetch_information
sfdisk_info = self._call_sfdisk()
File "/usr/lib/python3.10/site-packages/archinstall/lib/disk/partition.py", line 166, in _call_sfdisk
sfdisk_info = json.loads(output)
File "/usr/lib/python3.10/json/__init__.py", line 346, in loads
return _default_decoder.decode(s)
File "/usr/lib/python3.10/json/decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python3.10/json/decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
loong64
格式对着
sfdisk --json /dev/nvme0n1
{
"partitiontable": {
"label": "gpt",
"id": "FBDD048C-322E-DD48-AE6C-41A8A7130A20",
"device": "/dev/nvme0n1",
"unit": "sectors",
"firstlba": 2048,
"lastlba": 1000215182,
"sectorsize": 512,
"partitions": [
{
"node": "/dev/nvme0n1p1",
"start": 2048,
"size": 2097152,
"type": "C12A7328-F81F-11D2-BA4B-00A0C93EC93B",
"uuid": "038DA892-3104-2B48-AE8B-B7033387D7DE"
},{
"node": "/dev/nvme0n1p2",
"start": 2099200,
"size": 209715200,
"type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4",
"uuid": "9EFBDE6C-576F-B246-96EA-A181964C0C72"
},{
"node": "/dev/nvme0n1p3",
"start": 211814400,
"size": 788400128,
"type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4",
"uuid": "F787C49C-61D2-3C4E-AC70-8D5408411454"
}
]
}
}
yetist
所有盘,关键是 sfdisk --json <你的U盘设备>
loong64
root@archiso ~ # sfdisk --json /dev/sda
GPT PMBR size mismatch (1097655 != 125927423) will be corrected by write.
{
"partitiontable": {
"label": "gpt",
"id": "32323032-3031-4232-B030-303635323332",
"device": "/dev/sda",
"unit": "sectors",
"firstlba": 64,
"lastlba": 125927360,
"table-length": "248",
"sectorsize": 512,
"partitions": [
{
"node": "/dev/sda1",
"start": 64,
"size": 1076448,
"type": "EBD0A0A2-B9E5-4433-87C0-68B6B72699C7",
"uuid": "32323032-3031-4232-B031-303635323332",
"name": "ISO9660",
"attrs": "RequiredPartition GUID:60"
},{
"node": "/dev/sda2",
"start": 1076512,
"size": 20480,
"type": "C12A7328-F81F-11D2-BA4B-00A0C93EC93B",
"uuid": "32323032-3031-4232-B032-303635323332",
"name": "Appended2"
},{
"node": "/dev/sda3",
"start": 1096992,
"size": 600,
"type": "EBD0A0A2-B9E5-4433-87C0-68B6B72699C7",
"uuid": "32323032-3031-4232-B033-303635323332",
"name": "Gap1",
"attrs": "RequiredPartition GUID:60"
}
]
}
}
yetist
对,就是这个原因了。用 sfdisk -q --json 看看第一行会不会消失?如果可以消失,请按前面说的办法修改一下代码
loong64
改完还是报错
Traceback (most recent call last):
File "/usr/bin/archinstall", line 8, in <module>
sys.exit(run_as_a_module())
File "/usr/lib/python3.10/site-packages/archinstall/__init__.py", line 311, in run_as_a_module
script.execute()
File "/usr/lib/python3.10/site-packages/archinstall/lib/profiles.py", line 195, in execute
self.spec.loader.exec_module(sys.modules[self.namespace])
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/usr/lib/python3.10/site-packages/archinstall/examples/guided.py", line 282, in <module>
ask_user_questions()
File "/usr/lib/python3.10/site-packages/archinstall/examples/guided.py", line 107, in ask_user_questions
global_menu.run()
File "/usr/lib/python3.10/site-packages/archinstall/lib/menu/selection_menu.py", line 344, in run
if not self._process_selection(value):
File "/usr/lib/python3.10/site-packages/archinstall/lib/menu/selection_menu.py", line 361, in _process_selection
return self.exec_option(config_name, selector)
File "/usr/lib/python3.10/site-packages/archinstall/lib/menu/selection_menu.py", line 381, in exec_option
result = selector.func(presel_val)
File "/usr/lib/python3.10/site-packages/archinstall/lib/menu/global_menu.py", line 79, in <lambda>
lambda preset: self._select_harddrives(preset),
File "/usr/lib/python3.10/site-packages/archinstall/lib/menu/global_menu.py", line 345, in _select_harddrives
harddrives = select_harddrives(old_harddrives)
File "/usr/lib/python3.10/site-packages/archinstall/lib/user_interaction/system_conf.py", line 52, in select_harddrives
hard_drives = all_blockdevices(partitions=False).values()
File "/usr/lib/python3.10/site-packages/archinstall/lib/disk/helpers.py", line 260, in all_blockdevices
instances[path] = BlockDevice(path, path_info)
File "/usr/lib/python3.10/site-packages/archinstall/lib/disk/blockdevice.py", line 53, in __init__
self._load_partitions()
File "/usr/lib/python3.10/site-packages/archinstall/lib/disk/blockdevice.py", line 131, in _load_partitions
self._partitions[part_id] = Partition(root + part_id, block_device=self, part_id=part_id)
File "/usr/lib/python3.10/site-packages/archinstall/lib/disk/partition.py", line 70, in __init__
self._partition_info = self._fetch_information()
File "/usr/lib/python3.10/site-packages/archinstall/lib/disk/partition.py", line 179, in _fetch_information
sfdisk_info = self._call_sfdisk()
File "/usr/lib/python3.10/site-packages/archinstall/lib/disk/partition.py", line 166, in _call_sfdisk
sfdisk_info = json.loads(output)
File "/usr/lib/python3.10/json/__init__.py", line 346, in loads
return _default_decoder.decode(s)
File "/usr/lib/python3.10/json/decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python3.10/json/decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
1 root@archiso ~ #
REDEAST
$ make
CALL scripts/checksyscalls.sh
CC arch/loongarch/mm/tlb.o
{standard input}: Assembler messages:
{standard input}:354: Error: Unable to parse register name $a1
{standard input}:355: Error: Unable to parse register name $t1
{standard input}:529: Error: Unable to parse register name $a0
{standard input}:596: Error: Unable to parse register name $a1
{standard input}:597: Error: Unable to parse register name $t0
{standard input}:626: Error: Unable to parse register name $a0
make[3]: *** [scripts/Makefile.build:250: arch/loongarch/mm/tlb.o] Error 1
make[2]: *** [scripts/Makefile.build:500: arch/loongarch/mm] Error 2
make[1]: *** [scripts/Makefile.build:500: arch/loongarch] Error 2
make: *** [Makefile:1992: .] Error 2
It passed in gentoo
yetist
给内核源码打上这个补丁就可以编译通过了:https://github.com/yetist/linux/commit/edc1afd7397cdd659ab5a9dcf964615c38da7056
Archlinux 上的内核源码包:
https://github.com/loongarchlinux/core/blob/2022.10/linux/PKGBUILD
yetist
这应该是 archinstall 的上游bug,等我回头研究一下吧。原因应该比较明确。
REDEAST
yetist Thanks!
loong64
yetist 好的 谢谢
loong64
loong64
按回车键继续。
! Formatting [BlockDevice(/dev/nvme0n1, size=476.9GB, free_space=1000MB+511GB, bus_type=nvme)] in 5....4....3....2....1....
Creating a new partition label on /dev/nvme0n1
Adding partition to BlockDevice(/dev/nvme0n1, size=476.9GB, free_space=1000MB+511GB, bus_type=nvme), 1MiB->512MiB
Could not find the new PARTUUID after adding the partition.
Previous partitions: []
New partitions: {None}
Traceback (most recent call last):
File "/usr/bin/archinstall", line 8, in <module>
sys.exit(run_as_a_module())
File "/usr/lib/python3.10/site-packages/archinstall/__init__.py", line 311, in run_as_a_module
script.execute()
File "/usr/lib/python3.10/site-packages/archinstall/lib/profiles.py", line 195, in execute
self.spec.loader.exec_module(sys.modules[self.namespace])
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/usr/lib/python3.10/site-packages/archinstall/examples/guided.py", line 296, in <module>
perform_filesystem_operations()
File "/usr/lib/python3.10/site-packages/archinstall/examples/guided.py", line 130, in perform_filesystem_operations
with archinstall.Filesystem(drive, mode) as fs:
File "/usr/lib/python3.10/site-packages/archinstall/lib/disk/filesystem.py", line 44, in __exit__
raise args[1]
File "/usr/lib/python3.10/site-packages/archinstall/examples/guided.py", line 131, in perform_filesystem_operations
fs.load_layout(archinstall.arguments['disk_layouts'][drive.path])
File "/usr/lib/python3.10/site-packages/archinstall/lib/disk/filesystem.py", line 89, in load_layout
partition['device_instance'] = self.add_partition(partition.get('type', 'primary'),
File "/usr/lib/python3.10/site-packages/archinstall/lib/disk/filesystem.py", line 285, in add_partition
raise DiskError(f"Could not add partition using: {parted_string}")
archinstall.lib.exceptions.DiskError: Could not add partition using: /dev/nvme0n1 mkpart primary fat32 1MiB 512MiB
yetist
临时升级了 archinstall 到2.5.2 版本,你要方便的话,可以测试一下这个新版本。
- 使用你手里的 iso 启动进入安装环境。
- 修改
/etc/pacman.conf
文件,开启staging
仓库,如:[staging] Include = /etc/pacman.d/mirrorlist [core] Include = /etc/pacman.d/mirrorlist
- 等待后台的
pacman-key
进程完成之后,升级 archinstall 到 2.5.2-1 版本:pacman -Sy archinstall
- 如果不是最新固件,请将
staging
仓库关闭,并运行pacman -Sy
刷新本地缓存,否则装完的系统可能无法启动。 - 运行
setup
安装。
loong64
报错信息
按回车键继续。
! Formatting [BlockDevice(/dev/nvme0n1, size=476.9GB, free_space=1031kB+1049kB+335kB, bus_type=nvme)] in 5....4....3....2....1....
Creating a new partition label on /dev/nvme0n1
Adding partition to BlockDevice(/dev/nvme0n1, size=476.9GB, free_space=1031kB+1049kB+335kB, bus_type=nvme), 1MiB->512MiB
Formatting /dev/nvme0n1p1 -> vfat
/usr/bin/mkfs.vfat -F32 /dev/nvme0n1p1
Marking partition Partition(path=/dev/nvme0n1p1, size=0.5, PARTUUID=2de72e17-3ef9-44e3-b73c-f5fafa46c5d6, fs=vfat) as bootable.
Setting boot on on (parted) partition index 1
Adding partition to BlockDevice(/dev/nvme0n1, size=476.9GB, free_space=1031kB+1049kB+335kB, bus_type=nvme), 513MiB->20GiB
Formatting /dev/nvme0n1p2 -> btrfs
Adding partition to BlockDevice(/dev/nvme0n1, size=476.9GB, free_space=1031kB+1049kB+335kB, bus_type=nvme), 20GiB->100%
Formatting /dev/nvme0n1p3 -> btrfs
Mounting / to /mnt/archinstall/ using BTRFSPartition(path=/dev/nvme0n1p2, size=19.5, PARTUUID=261698f3-294a-47fd-9a59-adaa868c2a05, fs=btrfs)
Mounting /boot to /mnt/archinstall/boot using Partition(path=/dev/nvme0n1p1, size=0.5, PARTUUID=2de72e17-3ef9-44e3-b73c-f5fafa46c5d6, fs=vfat)
Mounting /home to /mnt/archinstall/home using BTRFSPartition(path=/dev/nvme0n1p3, size=456.9, PARTUUID=2081b162-7352-4311-850c-64f1e379293c, fs=btrfs)
Using mount order: [('/', <function Installer.mount_ordered_layout.<locals>.<lambda> at 0x7ffff19701f0>), ('/boot', <function Installer.mount_ordered_layout.<locals>.<lambda> at 0x7ffff19705e0>), ('/home', <function Installer.mount_ordered_layout.<locals>.<lambda> at 0x7ffff19704c0>)]
Mounting BTRFSPartition(path=/dev/nvme0n1p2, size=19.5, PARTUUID=261698f3-294a-47fd-9a59-adaa868c2a05, fs=btrfs) to /mnt/archinstall/
Mounting Partition(path=/dev/nvme0n1p1, size=0.5, PARTUUID=2de72e17-3ef9-44e3-b73c-f5fafa46c5d6, fs=vfat) to /mnt/archinstall/boot
Mounting BTRFSPartition(path=/dev/nvme0n1p3, size=456.9, PARTUUID=2081b162-7352-4311-850c-64f1e379293c, fs=btrfs) to /mnt/archinstall/home
'/dev/sda'
[!] 已在此处创建日志文件:/var/log/archinstall/install.log
请将此问题(和文件)提交到 https://github.com/archlinux/archinstall/issues
Traceback (most recent call last):
File "/usr/bin/archinstall", line 8, in <module>
sys.exit(run_as_a_module())
File "/usr/lib/python3.10/site-packages/archinstall/__init__.py", line 311, in run_as_a_module
script.execute()
File "/usr/lib/python3.10/site-packages/archinstall/lib/profiles.py", line 195, in execute
self.spec.loader.exec_module(sys.modules[self.namespace])
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/usr/lib/python3.10/site-packages/archinstall/examples/guided.py", line 312, in <module>
perform_installation(archinstall.storage.get('MOUNT_POINT', '/mnt'))
File "/usr/lib/python3.10/site-packages/archinstall/examples/guided.py", line 141, in perform_installation
with archinstall.Installer(mountpoint, kernels=archinstall.arguments.get('kernels', ['linux'])) as installation:
File "/usr/lib/python3.10/site-packages/archinstall/lib/installer.py", line 160, in __exit__
raise args[1]
File "/usr/lib/python3.10/site-packages/archinstall/examples/guided.py", line 148, in perform_installation
for partition in installation.partitions:
File "/usr/lib/python3.10/site-packages/archinstall/lib/installer.py", line 180, in partitions
return get_partitions_in_use(self.target).values()
File "/usr/lib/python3.10/site-packages/archinstall/lib/disk/helpers.py", line 418, in get_partitions_in_use
block_devices_available = all_blockdevices(mappers=True, partitions=True, error=True)
File "/usr/lib/python3.10/site-packages/archinstall/lib/disk/helpers.py", line 273, in all_blockdevices
instances[path] = Partition(path, block_device=BlockDevice(get_parent_of_partition(pathlib.Path(path))))
File "/usr/lib/python3.10/site-packages/archinstall/lib/disk/blockdevice.py", line 44, in __init__
self.info = all_blockdevices(partitions=False)[path].info
KeyError: '/dev/sda'
archinstall 1.76s user 7.19s system 7% cpu 2:03.72 total
1 root@archiso ~ #