Arch Linux 安装手记
背景
今天尝试安装龙芯版 Linux,本来希望能安装 Debian 版,但只找到一些文档,没找到可安装版的 ISO。
后来顺着这篇文章找到了Arch Linux,就尝试安装了一下。
安装后发现竟然不会配置网络 。而且龙芯版由于是在 QEMU 虚拟机里,运行速度也较慢。所以,我想我需要先学习一下 Arch Linux。
我用的是苹果电脑,ARM 芯片,所以,希望能安装 ARM 版的 Linux,这样运行速才最快。
在 OrbStack 上安装 Arch Linux
在Arch Linux 下载页面上,可以下载到 x86_64 版本的 ISO,但没找到 ARM 版。后来想起来我用的是OrbStack,打开图形界面,直接按向导安装了一个 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 分区,1Gvda2:Swap 分区,2Gvda3:根分区,剩余空间
格式化分区:
mkfs.fat -F 32 /dev/vda1
mkswap /dev/vda2
mkfs.ext4 /dev/vda3
挂载分区:
mount /dev/vda3 /mnt
mkdir /mnt/boot
mount /dev/vda1 /mnt/boot
安装系统。
pacstrap -K /mnt base linux linux-firmware
文档上说要使用-K,但我的镜像好像比较旧,去掉-K才安装成功。
生成fstab文件:
genfstab -U /mnt >> /mnt/etc/fstab
chroot到新安装的系统:
arch-chroot /mnt
设置 root 密码:
passwd
安装引导程序,先安装grub:
pacman -S grub efibootmgr
我使用 UEFI 启动,将grub安装到 UEFI 分区:
grub-install --target=arm64-efi --efi-directory=/root/EFI --removable
有人说这个--removable很有用,我没有确认。
生成grub配置文件:
grub-mkconfig -o /boot/grub/grub.cfg
装完后,很重要的一步,安装dhclient,以便能使用 DHCP 获取 IP 地址:
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
创建一个硬盘:
qemu-img create -f qcow2 hd.qcow2 100G
启动虚拟机:
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,显示如下:
# 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。
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 的过程。
最近有人批评我写的文章比较水。流水账嘛,水一点就水一点好了 。
如果有人知道去哪里下载龙芯版的 UOS,也欢迎留言告诉我:https://www.cnblogs.com/dujinfang/p/18095472 。
本文永久链接:https://www.dujinfang.com/2024/03/25/arch-linux.html 。
Arch Linux 安装手记的更多相关文章
- Arch Linux 安装记录
Arch Linux 安装记录 基本上参考wiki上的新手指南,使用arch 2014.6.1 iso安装 设置网络 有线网络 Arch Linux 默认开启DHCP. 静态ip 首先关闭DHCP:s ...
- Arch LInux安装dde(Deepin Desktop Environment 深度桌面环境)
我一直比较推荐一些Linux新手使用Deepin Linux,因为我认为这种尽量的follow Windows的系统至少对于新手来说是比较的友好的,而且预装了QQ 火狐浏览器中文版,甚至还移植了像36 ...
- Arch Linux 安装rust
Arch Linux 安装rust 0. 参考 Rust Toolchain 反向代理使用帮助 1. 安装 安装rustup和toolchain yaourt -S rustup rustup ins ...
- Arch Linux 安装简明流程
Arch Linux 安装简明流程 这是一篇为 GPT/EFI 引导 的电脑安装 Arch Linux(双系统)的中文简明流程,尽可能省略了可以省略的流程与文字以使得篇幅尽量短小,基本上基于 Arch ...
- Arch Linux安装笔记
最近有些厌倦Windows,所以想尝试一下Linux,选择Arch的原因不再赘述,建议以ArchLinux官方安装指南为主,这篇笔记只是方便我自己安装而写的,仅供参考. 1. 安装前的准备 1.1 ...
- Arch Linux 安装博通 BCM4360 驱动(Arch Linux, Ubuntu, Debian, Fedora...)
BCM4360 在2010年9月,博通完全开源的硬件驱动[1].该驱动程序 brcm80211已被列入到自2.6.37之后的内核中.随着2.6.39发布,这些驱动程序已被重新命名为 brcmsmac和 ...
- Arch Linux 安装、配置、美化和优化
国庆假期玩了下Arch Linux,发现这货跟Ubuntu之流相差甚远,甚难调教,而且安裝过程全命令行,会有各种问题,各种知识... --- 安装引导器--- -------------------- ...
- Arch linux安装
安装archlinux可参考: http://blog.sina.com.cn/s/blog_69e5d8400101bqlj.html http://www.cnblogs.com/mad/p/32 ...
- Arch Linux 安装过程
在VM中装了Arch,由于过程较为曲折,现写博客一篇聊以慰藉. 1.新建虚拟机,将下载好的archlinux-2016.03.01-dual.iso挂到虚拟机设置的CD/DVD 2.进入Arch安装界 ...
- 把Arch Linux安装到U盘上的具体教程
Arch Linux简介 Arch Linux(或称Arch)是一种以轻量简洁为设计理念的Linux发行版.其开发团队秉承简洁.优雅.正确和代码最小化的设计宗旨.Arch Linux 项目受 CRUX ...
随机推荐
- NC16591 [NOIP2010]关押罪犯
题目链接 题目 题目描述 S 城现有两座监狱,一共关押着N 名罪犯,编号分别为1~N.他们之间的关系自然也极不和谐.很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突.我们用"怨气 ...
- ARM 中常用的汇编指令解释汇总
前言 嵌入式项目中经常涉及到需要通过分析编译后的汇编文件,来确定异常代码,对一些常用的指令进行了汇总. 一.处理器内部数据传输指令 在ARM架构中,包括Cortex-A7处理器内部,有一些专门用于数据 ...
- .NET周刊【2月第2期 2024-02-11】
国内文章 C#/.NET该如何自学入门? https://www.cnblogs.com/Can-daydayup/p/18006914 随着DotNetGuide技术社区交流群的扩大,很多新成员希望 ...
- Jenkins安装和Host key verification failed问题的处理
在Centos7上安装的Jenkins 2.303.1 命令行安装为服务 因为新版本的Jenkins的war是用java -jar启动, 并且无法后台运行, 所以要么通过screen创建一个sessi ...
- 【Unity3D】Bloom特效
1 Bloom 特效原理 Bloom 特效是指:将画面中较亮的区域向外扩散,造成一种朦脓的效果.实现 Bloom 特效,一般要经过 3 个阶段处理:亮区域检测.高斯模糊.Bloom 合成. 本 ...
- mysqlGTID主从同步出现1236错误问题
从主库xtrabackup备份,配置好gtid复制,从主库的从库复制.一直报错误 Last_IO_Error: Got fatal error 1236 from master when readin ...
- SpringCloud服务注册与发现Eureka实战
介绍 Spring Cloud 封装了 Netflix 公司开发的 Eureka 模块来实现服务治理在传统的rpc远程调用框架中,管理每个服务与服务之间依赖关系比较复杂,管理比较复杂,所以需要使用服务 ...
- React18 之 Suspense
我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品.我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值. 本文作者:佳岚 Suspense Suspense 组件我们并不陌生 ...
- Direct2D CreateHwndRenderTarget 和 CreateDCRenderTarget
前段时间稍微看了点Direct3D, 觉得挺有意思的,但是想着要有3D得先从2D开始.故开始了D2D旅行. 如标题所示,CreateHwndRenderTarget 是在用来创建一个渲染到窗口的渲染目 ...
- [BUUCTF][Web][HCTF 2018]WarmUp 1
这题已经标识为php 代码审计题,那么需要搞到源码才行 打开靶机对应的url,展示的是一张笑脸图片 右键查看网页源代码 <!DOCTYPE html> <html lang=&quo ...