再装ArchLinux

其实已经好久没有安装这个了。因为安装好了之后就一直在用。
在上家公司时安装的是Linux Mint. 试用了下感觉不太好。
这次给新电脑安装的是ArchLinux,不过这么久了,Arch也改变了很多。安装过程中有一些东西要注意的。
安装步骤其实就是按照官方wiki中的Installation Guide来的。
其实官方下载的ISO中root用户家目录下的install.txt 文件就是纯文本版的Installation Guide.
因此,安装的时候,完全没有必要另外打开一个网页查看指导了。
安装过程中除了一些常用命令外,还需要用到 arch-install-scripts (这个在iso中已经内置了,无需另外下载)

下载iso文件
axel http://mirrors.ustc.edu.cn/archlinux/iso/2013.09.01/archlinux-2013.09.01-dual.iso

由于之前有windows 7 ,硬盘分区是mbr的。

通过U盘引导启动此iso , 还是老样子,由于device label 错误,会被打回原形。

1
2
3
4
5
6
mkdir /tmpmnt
mount -r -t vfat /dev/sdb1 /tmpmnt
modprobe loop
losetup /dev/loop6 /tmpmnt/archlinux-2013.09.01-dual.iso
ln -sf /dev/loop6 /dev/disk/by-label/ARCH_201309
exit

这样以后Arch会成功启动。

分区/格式化/挂载

sda1 sda6 sda7 分别是windows下的primary 分区和两个逻辑分区.
然后 用cfdisk 增加4个分区:

1
2
3
4
sda8 ext4 /boot 200MB
sda9 ext4 /  60GB
sda10 ext4 /home 80GB
sda11 swap 4GB

用mkfs 格式化 sda8-10

mkswap 初始化 sda11

1
2
mkswap /dev/sda11
swapon /dev/sda11

如果还需要创建LVM,it's time to do it now.

然后是挂载分区。

1
2
3
4
5
mkdir /mnt/boot
mkdir /mnt/home
mount /dev/sda8 /mnt/boot
mount /dev/sda9 /mnt
mount /dev/sda10 /mnt/home

连接网络

由于直接连接了局域网,dhcp分配IP的,因此,这里无需其它设置。
如果是无线网卡,需要运行wifi-menu进行另外的设置。

安装基本系统

然后开始安装基本系统了。
修改下mirror文件:

1
2
3
cd /etc/pacman.d
mv  mirrorlist{,.orig}
wget http://docs.ihacklog.com/mirrorlist

然后,开始用pacstrap脚本来安装

1
pacstrap /mnt base

保存fstab(如果你喜欢UUIDs 或 labels, 加上 -U 或 -L 参数)

1
genfstab -p /mnt >> /mnt/etc/fstab

然后chroot进我们新安装的系统:

1
arch-chroot /mnt

设置好主机名和时区

1
2
/etc/hostname
ln -s /usr/share/zoneinfo/Asia/Chongqing /etc/localtime

另外,别忘记修改系统时间.
修改locale
取消/etc/locale.gen 中相应的行注释,用 locale-gen 生成locale.
在/etc/locale.conf 中设置好locale偏好。
我这里设置为en_US.UTF-8

1
LANG=en_US.UTF-8

Add console keymap and font preferences in /etc/vconsole.conf

根据需要配置下/etc/mkinitcpio.conf
然后用以下命令创建initial RAM disk

1
mkinitcpio -p linux‘

执行passwd 修改root密码

给新安装的系统配置网络

see https://wiki.archlinux.org/index.php/Network_Configuration
https://wiki.archlinux.org/index.php/Wireless_Setup
你会发现ifconfig ( 在net-tools包中)这种以前熟悉的命令已经消失了。
取而代之的是ip命令.

其实Deprecation of net-tools是很久以前的事了,不过在我的笔记本上面我一直在用原来安装的net-tools没有感受到这一改变而已。

查看网卡信息

1
2
3
ip link show
ip link set eth0 up
systemctl start dhcpcd@eth0 或 dhcpcd eth0

或者也可以通过netctl 来配置网络.

1
2
netctl enable xxx
netctl start xxx

安装bootloader

我这里选用grub2

1
pacman -S grub

备份mbr(引导代码+分区表)

1
dd if=/dev/sdX of=/path/to/backup/mbr_backup bs=512 count=1

或仅mbr引导代码:

1
dd if=/dev/sdX of=/path/to/backup/bootcode_backup bs=446 count=1

开始安装:

1
grub-install --target=i386-pc --recheck --debug /dev/sda

若提示操作成功,进行下一步:

1
grub-mkconfig -o /boot/grub/grub.cfg

取消挂载并重启

1
2
umount /mnt/{boot,home,}
reboot

安装之后的事

添加新用户

1
2
useradd -m -U -s /bin/bash hacklog
passwd hacklog

安装 alsa-utils

安装显卡驱动
查看下显卡信息:

1
2
lspci | grep VGA
pacman -Ss xf86-video | less

我这里是intel CPU集成显示芯片,因此,安装intel的驱动:

1
pacman -S xf86-video-intel

最后,安全起见,安装下vesa(如果其它驱动都加载失败,Xorg会退回到加载vesa)

1
pacman -S xf86-video-vesa

安装Display server

1
pacman -S xorg-server

安装必要字体

1
2
pacman -S ttf-dejavu
pacman -S wqy-microhei-lite

安装xfce

1
pacman -S xfce4

安装slim

1
pacman -S slim

安装fcitx

1
2
pacman -S fcitx
pacman -S fcitx-table-extra

设置fcitx为默认输入法

1
2
3
4
5
6
7
8
9
┌─[sh4d0walker@HuangYe] - [/etc/profile.d] - [Mon Sep 30, 12:59]
└─[$] <> cat fcitx.sh
#setup XIM environment, needn't if use SCIM as    gtk-immodules
#export LANG=zh_CN.UTF-8
export XIM=fcitx
export XMODIFIERS=@im=fcitx
export GTK_IM_MODULE=xim
export QT_IM_MODULE=xim
#end

安装gvim, xlock , axel 等

更多
7 Responses Post a comment
  1. WayJam

    我也装成功了~http://wayjam.me/post/install-archlinux&win-with-uefi.md

  2. zwwooooo

    听说这A很折腾,我也很久没用Linux了,发行版本太多,每个版本还不一样,累。

  3. 荒野无灯

    @依云
    是的。多谢提醒。看了下我的 /boot/grub/custom.cfg ,发现早前我用的也是这种方法。不过这次我是直接通过某个集成了grub4dos的U盘维护系统来引导的,不是自己手动写grub的 menu.lst (图省事就没去弄)。
    还有fcitx, 确实可以修改成这样了:
    sudo pacman -S fcitx-qt4 fcitx-qt5 fcitx-gtk2 fcitx-gtk3

    1
    2
    export GTK_IM_MODULE=fcitx
    export QT_IM_MODULE=fcitx
  4. 依云

    那个引导,很早就有更好的解决办法啦,内核参数写成这样即可: archisolabel=ARCH_201108 img_dev=/dev/sda7 img_loop=$isofile earlymodules=loop

    另外,GTK_IM_MODULE 和 QT_IM_MODULE 不用 fcitx 么?

Leave a Reply

Note: You may use basic HTML in your comments. Your email address will not be published.

Subscribe to this comment feed via RSS