前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >ARM 和 龙芯上 Arch Linux 安装手记

ARM 和 龙芯上 Arch Linux 安装手记

作者头像
杜金房
发布于 2024-03-26 08:32:06
发布于 2024-03-26 08:32:06
59800
代码可运行
举报
运行总次数:0
代码可运行

今天尝试安装龙芯版 Linux,本来希望能安装 Debian 版,但只找到一些文档(https://wiki.debian.org/LoongArch),没找到可安装版的 ISO。

后来顺着这篇文章(https://zhuanlan.zhihu.com/p/626169693)找到了Arch Linux(https://archlinux.org/),就尝试安装了一下。

安装后发现竟然不会配置网络 😂。而且龙芯版由于是在 QEMU 拟机里,运行速度也较慢。所以,我想我需要先学习一下 Arch Linux。

我用的是苹果电脑,ARM 芯片,所以,希望能安装 ARM 版的 Linux,这样运行速才最快。

- 在 OrbStack 上安装 Arch Linux -

在Arch Linux 下载页面(https://archlinux.org/download/)上,可以下载到 x86_64 版本的 ISO,但没找到 ARM 版。后来想起来我用的是OrbStack(https://orbstack.dev/),打开图形界面,直接按向导安装了一个 Arch Linux,分分钟就装好了。然后,测试了网络、编译安装 FreeSWITCH 都没有任何问题。

这是一个好的开端,但上述方法安装的 Arch Linux 没有任何网络问题,网络都是自动配置好的,因此,我还需要进一步学习。

- 在 UTM 中安装 Arch Linux -

后来在 https://github.com/JackMyers001/archiso-aarch64/releases页面上找到一个 2021 年的 ARM 版 ISO。虽然有些旧,但学习应该够用了。

打开我的UTM虚拟机,我创建了一个新的 ARM 机器,使用上面下载的 ISO 就开始安装了。

Arch Linux 与我熟悉的 Debian 和 CentOS 安装步骤有很大不同!

Arch Linux ISO 启动后,进入一个 Shell 环境,竟然没有任何安装向导。还好我的 Linux 基础比较扎实,顺着教程也一步一步安装完成了。过程主要参考了这个页面。

从光盘启动虚拟机。fdisk -l找到我的硬盘,看起来是/dev/vda。然后,使用fdisk /dev/vda命令分区。首先输入g,告诉硬盘使用 GPT 分区格式。然后,创建 3 个分区,分别是:

  • vda1:UEFI 分区,1G
  • vda2:Swap 分区,2G
  • vda3:根分区,剩余空间

格式化分区:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mkfs.fat -F 32 /dev/vda1
mkswap /dev/vda2
mkfs.ext4 /dev/vda3

挂载分区:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mount /dev/vda3 /mnt
mkdir /mnt/boot
mount /dev/vda1 /mnt/boot

安装系统:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pacstrap -K /mnt base linux linux-firmware

文档上说要使用-K,但我的镜像好像比较旧,去掉-K才安装成功。

生成fstab文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
genfstab -U /mnt >> /mnt/etc/fstab

chroot到新安装的系统:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
arch-chroot /mnt

设置 root 密码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
passwd

安装引导程序,先安装grub

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pacman -S grub efibootmgr

我使用 UEFI 启动,将grub安装到 UEFI 分区:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
grub-install --target=arm64-efi --efi-directory=/root/EFI --removable

有人说这个--removable很有用,我没有确认。

生成grub配置文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
grub-mkconfig -o /boot/grub/grub.cfg

装完后,很重要的一步,安装dhclient,以便能使用 DHCP 获取 IP 地址:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pacman -S dhclient

其他一些设置好像无关紧要了。exit退出chroot环境,弹出光盘,reboot重启就可以进入 Arch Linux 了。

进入后,如果没有网络,手工执行dhclient,就可以获取 IP 地址了。

Linux 能上网以后,就谁都不怕了,我可以继续安装其他软件了。

- 龙芯版 Arch Linux -

通过上述折腾,也查了一些文档,总算基本上了解了 Arch Linux。谁让咱还有些 Linux 功底呢。

我推测,龙芯版 Linux 默认没有安装dhclient,才导致我上不了网。重装一遍。

我的 UTM 不支持龙芯,因此,我只能使用 QEMU 了。

下载:

  • 固件:https://mirrors.pku.edu.cn/loongarch/archlinux/images/QEMU_EFI_7.2.fd
  • ISO: https://mirrors.pku.edu.cn/loongarch/archlinux/iso/latest/archlinux-loong64.iso

创建一个硬盘:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
qemu-img create -f qcow2 hd.qcow2 100G

启动虚拟机:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
qemu-system-loongarch64 \
    -m 5G \
    -cpu la464-loongarch-cpu \
    -machine virt \
    -smp 4 \
    -bios QEMU_EFI_7.2.fd \
    -serial stdio \
    -device virtio-gpu-pci \
    -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 \
    -cdrom archlinux-loong64.iso \
    -boot once=d \
    -hda hd.qcow2

令人惊喜的是,龙芯版的 ISO 竟然有一个安装向导。虽然不像 Debian 那么直观。

顺着安装向导,我做了如下设置:

  • 镜像:选 China
  • 磁盘配置:使用最佳,选了/dev/vdb,它是我的硬盘。
  • 设置 root 密码。
  • 附加软件包:当然选了dhclient
  • 网络配置:将 ISO 中的配置复制到安装中。这个很有用。

其他的选择可以使用默认值,也可以自己定制。接下来按向导进行安装就可以了。

安装完成后,重启,进入 Shell,显示如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# uname -a
Linux archlinux 6.7.0-6 #1 SMP PREEMPT Tue, 09 Jan 2024 11:51:31 +0000 loongarch64 GNU/Linux

我是使用如下命令启动 QEMU 的,通过将22端口映射为2022,可以在外面连接虚拟机中的 Linux。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
qemu-system-loongarch64 \
    -m 5G \
    -cpu la464-loongarch-cpu \
    -machine virt \
    -smp cpus=8,sockets=1,cores=8,threads=1 \
    -bios media/QEMU_EFI_7.2.fd \
    -serial stdio \
    -device virtio-gpu-pci \
    -net nic -net user,hostfwd=tcp::2022-:22 \
    -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 hd.qcow2

连网,就可以继续安装其他软件了。我安装了 Git、Vim 等,现在正在编译 FreeSWITCH。目测没啥问题,就是在 ARM 上模拟loongarch64 CPU,超级慢。

不知道是否有人能贡献个真正的 CPU。后续,我会写写在龙芯和 Arch Linux 上 安装 FreeSWITCH 的过程。

最近有人批评我写的文章比较水。流水账嘛,水一点就水一点好了 😂。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-03-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeSWITCH中文社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
在 UOS 下利用 QEMU 搭建飞腾 ARM64 的开发环境
近年来,在政府的推动下,国产操作系统(主要是统信 UOS 和麒麟 OS)以及相关软件的市场份额不断扩大。越来越多的企业和事业单位开始采用国产操作系统和软件,国产化替代进程正如火如荼地进行。目前,信创产业链上下游百花齐放,国产芯片领域更是群雄并起,如麒麟、兆芯、海光、龙芯、飞腾、申威等。作为产业链中的一环,软件开发者也面临一个普遍问题:需要适配多种硬件平台。
云水木石
2025/01/23
5060
在 UOS 下利用 QEMU 搭建飞腾 ARM64 的开发环境
实战最精简的 linux -- arch linux 安装
安装操作系统已经越来越成为一件非常简单的事情了,几乎可以做到仅依靠鼠标一路点击,傻瓜式安装了,也许这让你不禁会去想,到底操作系统安装过程中做了哪些事情,亦或是你想要安装一个真正干净的系统,一切组件要什么不要什么都自己说了算,那么,arch linux 可能会是你一个不错的选择。 正是因为 arch 的高度定制与简洁,加上他的滚动升级机制以及庞大的社区 AUR,让他成为了越来越火热的 linux 发行版,本文,我们就来通过安装 arch 讲解一下 linux 的一些基本的命令行配置方法。
用户3147702
2022/06/27
7.8K0
实战最精简的 linux -- arch linux 安装
arch linux 安装
好长时间都没有更新自己的博客了,我简单翻阅了一下自己的更新记录,上一次更新好像还是在5月份左右,距今也有快半年,这半年也是遇到了很多事情,有不好的,也有好的。这半年我对在日常生活工作中使用Linux系统产生了一些兴趣,从零开始折腾这一系列的内容,主要从安装、配置、以及尝试各种软件来取代Windows的主导地位,也产生了一些心得,这里我想分几篇博客来聊聊我是如何慢慢使用arch Linux 来替代以前的Windows机器
Masimaro
2021/10/20
2.7K0
X86模拟龙芯与编译 .NET CoreCLR
前段时间得知龙芯团队成功移植并开源了 CoreCLR ,忙完事情后,快乐地捣鼓一下这个东西。近年来国产操作系统、芯片等的到很大的关注和快速发展,我们开发的软件适配国产的机器环境就尤为重要,未来 IT 行业的变化会影响到我们的饭碗。
痴者工良
2021/04/26
1.3K0
Arch Linux 安装指南
如果想要学习Linux,Arch Linux是个很好的选择。Arch Linux提供了非常详细并且更新及时的Wiki(帮助文档),使用系统的过程中遇到的问题基本上都空余从上面找到。
小陈运维
2021/10/13
2.7K0
Arch Linux安装与初体验
Arch Linux 是一个 x86-64 通用发行版,它流行于那些喜欢 DIY Linux 系统的用户和 Linux铁杆粉丝当中。其默认的安装文件只含有一个最基本的系统,它希望使用者自己配置并使用 Arch 系统。其基于 KISS 原则(使它保持简单、傻瓜Keep It Simple, Stupid!),Arch Linux 是一个专注于优雅、代码正确,精简而简洁的系统。
yuanfan2012
2021/02/25
2.8K0
Arch Linux安装与初体验
VMware安装Arch Linux+Gnome桌面
官方下载地址:https://www.archlinux.org/download/。
Mculover666
2022/04/08
15.6K0
VMware安装Arch Linux+Gnome桌面
Archlinux基本安装
访问下载页面,根据您想要的启动方式,获取 ISO 文件或网络启动映像,以及相应的GnuPG签名。
vivi
2021/12/09
2.1K0
申威欧拉虚拟机启动
首先需要确保hmcode是1.20版本,然后修改/boot/grub/grub.cfg文件,内核参数改为:
风起--追风
2024/01/31
4060
【技术教程】怎样安装Arch Linux以及Deepin桌面环境
Arch Linux 是一个轻量级的Linux发行版本,实际上,Arch Linux提供给用户很多选择,用户可以自定义自己的安装过程,不x像其他很多的Linux发行版本,安装过程甚至是一个只有“下一步”的傻瓜式操作,因此我觉得Arch Linux是我见过安装过程最有技术含量的Linux发行版本。不过我们可以从中学到很多东西,因为很多东西是我们亲手构造出来的。Arch Linux的软件包管理工具是pacman,接下来我们基于Arch Linux镜像自带的Linux工具包以及pacman,从零构建属于自己的Arch Linux。
极客开发者
2022/01/18
5.5K0
【技术教程】怎样安装Arch Linux以及Deepin桌面环境
在计算机中安装Arch Linux
Arch Linux是一个优秀的linux操作系统。其优点是滚动发行、软件包比较新,并且可以深度可定制。缺点是由于深度可定制,所以开始安装的时候只有命令行可用,对于linux新手来说会有一些难度。我也是练习安装了好多次,才逐渐从安装过程中学习到linux的组成部分并体会到Arch的优美之处的。
乐百川
2022/05/05
4.2K0
在计算机中安装Arch Linux
Reinstalling Alpine Linux on a Lighthouse Instance
Create an instance with Debian or whatever flavour of your choice. Log in.
用户9453034
2022/02/16
1K0
Reinstalling Alpine Linux on a Lighthouse Instance
Archlinux 入门初步
  从 archlinux 官方或者是镜像源下载到 iso 文件,并使用以下命令制作启动U盘。
zhonger
2022/10/28
2K0
KVM管理虚拟机
在上一篇中,我们介绍了如何在 CentOS7上安装并配置KVM,以及通过KVM安装CentOS系统。本篇则是介绍在KVM里安装完虚拟机后,如何使用KVM来管理虚拟机。
端碗吹水
2020/09/23
2K0
X86_64平台上利用qemu安装aarch64架构的虚拟机「建议收藏」
2020.1.4更新:下面有些评论说现在安装不会遇到类似问题了,本博客参考意义不大,请绕行。 20200704更新:请参考https://wiki.ubuntu.com/UEFI/virt-install,现在安装过程没有什么问题了
全栈程序员站长
2022/11/02
10.7K0
从现有Linux系统上安装Archlinux
以Oracle Cloud环境为例,从现有Linux系统上安装Archlinux [理论上可以无VNC实现]
hiplon
2020/07/15
3.3K0
【系统篇】ArchLinux系统安装
本教程为最新安装Linux的教程,想看更详细可以到我B站主页看视频教程 本教程参考自 https://wiki.archlinux.org/index.php/Installation_guide 本教程于2019.11.9日编写,请根据查阅时间参考本教程(官网安装方式未更新,则本教程保持最新状态) 教程中的镜像更新时间:2019.11.01
huanhao
2020/04/09
2.6K0
archlinux安装教程2020(archlinux更换国内源)
(本次使用archlinux-2020.01.01-x86_64.iso) 截图未更新!最新的arch打包发生了变化,在pacstrap那一步以前只要pacstrap -i /mnt base base-devel就可以了,现在arch将基础包的众多组件分离了,还按照之前的命令安装,会发现最后内核都没装,更不用说系统引导了。 下载地址:https://www.archlinux.org/download/
全栈程序员站长
2022/08/01
11.6K0
archlinux安装教程2020(archlinux更换国内源)
虚拟机安装archlinux的简单步骤
这篇文章是我在虚拟机安装archlinux之后的一点心得,参考了archwiki关于安装arch的一些内容https://wiki.archlinux.org/index.php/Beginners%27_guide 。
乐百川
2022/05/05
2.2K0
Qemu搭建arm版麒麟系统
麒麟系统(Kylin)是由中国科学院计算技术研究所(ICT)开发的一款操作系统。它最初是为满足中国国家信息化建设需求而创建的,旨在提供一个安全可靠、高性能的操作系统平台,广泛应用于中国政府、军队、企事业单位等领域。 麒麟系统基于Linux内核进行开发,并在其上构建了自己的软件堆栈和应用程序生态系统。作为一个综合性操作系统,麒麟系统支持多种硬件架构,包括ARM架构。 模拟ARM平台安装麒麟系统是指在非ARM架构的计算机上使用虚拟化技术模拟ARM架构,然后在模拟的ARM平台上安装和运行麒麟系统。这种方法可以让开发人员、研究人员或爱好者在不拥有实际ARM设备的情况下,通过模拟器来体验和测试麒麟系统。 常用的模拟器之一是QEMU(Quick Emulator),它是一个开源的虚拟化和仿真工具,支持多种硬件架构的模拟。通过在QEMU上配置合适的硬件参数和设备模拟,可以在模拟的ARM平台上运行麒麟系统。 模拟ARM平台安装麒麟系统可以帮助开发人员和用户熟悉和测试麒麟系统的功能和性能,进行应用程序的开发和调试,以及进行系统优化和性能调优等工作。此外,这种方法还能够提供一个便捷的环境,使用户能够在常用的计算机上尝试和学习ARM架构相关的开发和应用。 需要注意的是,模拟器虽然提供了一种方便的方式来模拟ARM平台,但由于模拟器的性能和硬件差异,与实际ARM设备上的运行可能会存在一些差异。因此,在进行实际产品开发或性能评估时,还应该在真实的ARM硬件上进行测试和验证。
默 语
2024/11/20
5110
Qemu搭建arm版麒麟系统
相关推荐
在 UOS 下利用 QEMU 搭建飞腾 ARM64 的开发环境
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验