IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Dell XPS 13 9350 安装 Arch Linux

    toy发表于 2016-05-06 10:56:48
    love 0

    拿到一台 Dell XPS 13 9350,在安装 Arch Linux 时总体顺利,但有一些小问题,在此记一下备忘。

    1. 制作引导优盘

      将下载的 Arch Linux ISO 镜像文件 archlinux-2016.05.01-dual.iso 校验无误后,使用 dd 写到优盘。因我的优盘在系统识别为 /dev/sdb,故其命令为:

      dd if=archlinux-2016.05.01-dual.iso of=/dev/sdb bs=4M status=progress && sync
      
    2. 引导 Arch Linux

      在引导之前按 F12 进入 BIOS 设置,关掉 Secure Boot,否则会报找不到 loader.efi 的错误。同时,将 SATA Operation 设置为 AHCI,若不然则无法识别 SSD 磁盘。

    3. 连接 WiFi

      当引导完毕进入 shell 后,执行以下命令来连接 WiFi:

      wifi-menu
      
    4. 对磁盘分区

      鉴于 GPT 分区表比 MBR 更有优势,在此选择 UEFI/GPT 的引导及分区方案。使用 parted 可以对磁盘进行分区操作:

      parted /dev/nvme0n1
      

      先删掉原分区,然后根据需要创建新的分区。我的分区方案如下,第一个分区用于 UEFI 引导,第二个作为 / 分区,最后一个用于 /home。

      Device            Start       End   Sectors  Size Type
      /dev/nvme0n1p1     2048   1050623   1048576  512M EFI System
      /dev/nvme0n1p2  1050624  84934655  83884032   40G Linux filesystem
      /dev/nvme0n1p3 84934656 500117503 415182848  198G Linux filesystem
      

      创建完后别忘了将第一分区设置 boot 标志。

      mkpart ESP fat32 1MiB 513MiB
      set 1 boot on
      mkpart primary ext4 513MiB 40.5GiB
      mkpart primary ext4 40.5GiB 100%
      
    5. 格式化分区

      分别将三个分区格式化需要的文件系统类型:

      mkfs.fat -F32 /dev/nvme0n1p1
      mkfs.ext4 /dev/nvme0n1p2
      mkfs.btrfs /dev/nvme0n1p3
      

      完成后再挂载:

      mount /dev/nvme0n1p2 /mnt
      mkdir -p /mnt/{boot,home}
      mount /dev/nvme0n1p1 /mnt/boot
      mount /dev/nvme0n1p3 /mnt/home
      
    6. 安装基础包

      使用 pacstrap 脚本来安装基础系统:

      pacstrap -i /mnt base base-devel
      
    7. 生成 fstab

      使用 genfstab 来生成 fstab 文件:

      genfstab -U /mnt >> /mnt/etc/fstab
      
    8. chroot

      为了进行后续配置,需要 chroot:

      arch-chroot /mnt /bin/bash
      
    9. 设置区域和时区

      从 /etc/locale.gen 选取需要的区域,去掉开头的注释即可,然后使用 locale-gen 来生成。同时,创建 /etc/locale.conf 文件,并将 LANG 设为跟所选区域一致。

      使用 tzselect 来设置时区。

    10. 设置 hostname

      将 /etc/hostname 的内容设置为喜欢的主机名。

    11. 安装引导程序

      这里选择使用 systemd-boot 来完成 UEFI 引导:

      bootctl install
      

      同时,创建 /boot/loader/entries/arch.conf 引导条目:

      title   Arch Linux
      linux   /vmlinuz-linux
      initrd  /initramfs-linux.img
      options root=PARTUUID=06d1a377-976d-47db-a907-9bf03bb8519b rootfstype=ext4 rw pcie_aspm=force i915.enable_rc6=7
      

      其中 PARTUUID 可通过 blkid 获得。

      另外,/boot/loader/loader.conf 包含内容为:

      timeout 3
      default arch
      
    12. 设置 root 密码

      使用 passwd 来设置 root 密码。

    13. 重启

      执行 exit 退出 chroot 环境,同时卸载分区并重启系统:

      umount -R /mnt
      reboot
      
    14. 安装其它包及配置环境

      为了避免手动操作,我利用 Ansible 将安装各种常用软件及配置环境的过程自动化,只需执行:

      ansible-playbook site.yml
      

      可通过 GitHub 获取 archstrap。



沪ICP备19023445号-2号
友情链接