为了在E431上用UEFI安装Arch一个晚上重装了5,6次系统,整整做了一个通宵,还好是周六。今天刚好有时间正好
来总结一下。因为要用UEFI来安装,所以安装了两次之后发现UEFI环境变量不可用(用efivar-tester才发现的),才又开始追求完美之路
(折腾之路)。
一、制作UEFI的启动U盘
下载工具软件Rufus
选择U盘;分区选择GPT for UEFI Computer
文件格式选FAT32(之前用Grub时找的一些资料上说Ntfs不能用,所以不能用openSUSE,>4G了)
簇大小默认4K就好
卷标和Arch光盘卷标一样就好(不强制,之前用Grub引导iso镜像安装时的阴影,不一致导致无法用Grub引导)
ISO选择Arch的镜像
写入镜像会删除盘上全部数据!自己先保存好! 安装UEFI
USB的方法参见此连接
要用UEFI的U盘来制作镜像(就是发现这个才在安装了两次之后重新又试了几次),我用的是,直接把Arch的镜像通过这个软件做进U盘(同时U盘的分区会改成GPT格式),这样U盘也就是UEFI的了。
二、把E431的BIOS设成UEFI Only,这样就保证是用UEFI的了。
三、安装系统
1.基本系统的安装
硬盘分区
分区方案是/boot/efi,/,/usr,/home四个分区,由于想用动态swap,因此不建swap分区。
1 cfdisk
2
#/boot/efi为sda1,/为sda2,/usr为sda3,/home为sda4
安装文件系统
在sda1安装fat文件系统,sda{2,3,4}安装ext4文件系统
1 mkfs.vfat /dev/sda1
2 mkfs.ext4
/dev/sda2
3 mkfs.ext4 /dev/sda3
4
mkfs.ext4 /dev/sda4
挂载分区
1 #挂载/
2 mount
/dev/sda2 /mnt
3 #创建boot/efi,usr和home以挂载sda1,sda3和sda4
4
cd /mnt
5
mkdir
boot
6 mkdir boot/efi
7
mkdir usr
8
mkdir
home
9 mount /dev/sda1
/mnt/boot/efi
10 mount /dev/sda3
/mnt/usr
11 mount /dev/sda4
/mnt/home
更新mirrorlist
更新源有两个方法,从网上下一个mirrorlist,刚好找到的,就省去了自己改文件了
1 cd
/etc/pacman.d
2
mv
mirrorlist{,.orig}
3
wget
http://docs.ihacklog.com/mirrorlist
或者,自己修改mirrorlist
1 cd
/etc/pacman.d
2 sed-i "s/^\b/#/g" mirrorlist
3 nanomirrorlist
4 #将mirrors.ustc.edu.cn和mirrors6.ustc.edu.cn前面的#去掉,163的也比很快,但发现过这个源有问题,所以推荐用ustc的,虽然是学校的,但不是教育网的也很快。
5
pacman-Syy
安装base系统
我们只需要安装base和base-devel
1 pacstrap/mnt base base-devel #也可以只是安装base #如果你想使用ifconfig之类的工具,请在上面加上net-tools
生成fstab
在开机时我们需要正确挂载分区,这就需要fstab 这里我使用的是UUID的方式识别
1 genfstab-U
-p /mnt >>/mnt/etc/fstab
改变根目录
1 arch-chroot/mnt /bin/bash
配置locale
打开locale.gen
1 cd
/etc
2 nanolocale.gen
3 #将en_US.UTF-8,zh_CN.GB18030,zh_CN.UTF-8前的#去掉
4
locale-gen
5
echoLANG=en_US.UTF-8 >> locale.conf
6 nanovconsole.conf
7 #输入
#
KEYMAP=us
FONT=
设置时区
1 ln-s
/usr/share/zoneinfo/Asia/Shanghai /etc/localtime
设置主机名
1 echo主机名
>> /etc/hostname
生成ramdisk
因为/usr作为独立分区,所以还要配置mkinitcpio.conf, 文件内有注释说明
在HOOKS中加入 fsck usr shutdown
1 mkinitcpio-p linux
用户配置
1 passwd
2
#修改root密码
3 useradd-m -g users -G wheel -s /bin/bash 用户名
4 passwd用户名
安装GRUB(UEFI)
1 pacman-S
grub-bios efibootmgr dosfstools
2 grub-install--target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub
--recheck --debug
3 grub-mkconfig-o
/boot/grub/grub.cfg cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo
/boot/grub/locale/en.mo
安装GRUB(非UEFI)
1 pacman-S
grub-bios
2 grub-install/dev/sda
3 cp/usr/share/locale/en\@quot/LC_MESSAGES/grub.mo
/boot/grub/locale/en.mo #据说这一步是为了解决一个一直未被修复的bug
4
grub-mkconfig-o
/boot/grub/grub.cfg
重启
1 exit#退出chroot
2 umount/mnt/{boot/efi,usr,home}
3 umount/mnt
4 reboot
2.驱动安装
安装ALSA(声卡)
1 pacman-S
alsa-utils
2 alsamixer#调节音量
安装显卡驱动
1 lspci| grep
VGA #查看机器上的显卡信息
2 pacman-Ss
xf86-video | less #查看有什么显卡包
我的E431是双显3000和GT740,先安装核显
1 pacman-S
xf86-video-intel
2 pacman-S
mesa #软件实现在图形应用程序接口
另外,为了安全起见,安装下vesa(如果其它驱动加载失败,Xorg会退回并加载vesa)
1 pacman-S
xf86-video-vesa
安装synaptics触摸板驱动
1 pacman-S
xf86-input-synaptics
3.桌面环境的安装
安装xorg
1 pacman-S
xorg-server xorg-xinit xorg-utils xorg-server-utils #也可以只安装xorg-server
安装字体
1 pacman-S
ttf-dejavu wqy-microhei-lite
安装KDE
接下来就是桌面环境了,这里我使用的是KDE,当然是最小化安装
1 pacman-S
kdebase #一路enter就行了
2
pacman-S
kdemultimedia-kmix #音量调节 可以在~/.kde4/share/config/kmixrc中加入VolumePercentageStep=?来设置音量增加步长
3
pacman-S
kdeplasma-applets-plasma-nm #网络管理
4 systemctlenable NetworkManager.service #开启网络管理服务
5 systemctlenable kdm.service #开启kdm
6 pacman-S kde-l10n-zh_cn #添加中文支持
7 pacman -S phonon-vlc
启动KDE的方法有两个,在安装完之后是不用管的,这里只是提一下,以备查
1.启动kdm.service
1 systemctlstart kdm.service
2.用xinitrc来启动
~/.xinitrc
exec startkde
安装常用软件
1 pacman-S synaptiks #触摸板管理程序 --已经被移至aur
2 pacman-S kde-gtk-config #gtk主题管理
3 pacman-S kcm-fcitx fcitx-qt kdeplasma-addons-applets-kimpanel
fcitx-table-extra #fcitx输入法
4
pacman-S
kdeutils-ark kdeutils-kwallet #安装ark和kwallet,这两个用过的都知道
5
pacman-S unzip
zip unrar #ark的压缩解压支持
6
pacman-S
kdegraphics-ksnapshot kdegraphics-okular kdegraphics-gwenview #截屏、pdf阅读及图片浏览软件
安装Aur
[略]改日再补
安装wifi BCM43142
[略]改日再补
安装bumblebee
为了可以发挥GT740的威力又可以在不用时省电
[略]改日再补
P.S.通过U盘引导ISO的一些经验
用Grub引导之后会发现device label错误,只能回到命令行,做如下操作就行了
1 mkdir/tmpmnt
2 mount-r -t vfat /dev/sdb1
/tmpmnt #sdb1为U盘的分区
3
modprobeloop
4 losetup/dev/loop6
/tmpmnt/os/archlinux/archlinux-2014.01.05-dual.iso #此为ISO所在目录
5
ln-sf /dev/loop6
/dev/disk/by-label/ARCH_201401
6 exit
P.S.动态Swap的设置
在文件中加入一个swap文件,我的内存是4G,所以用了个5G的Swap,这样方便休眠,以后增加了内存也只是重新建一个swap文件就可以了,不用修改磁盘分区了!
P.S.ps(其实休眠是否能成功与swap大小没有太大关系,当然swap必须大于等于内存大小,如果当运行时的swap占用到的swap空间小于了内存大小,就无法休眠成功了,当然现在又有了一个可以对内存进行压缩再休眠的方法,可以减少swap上休眠失败的可能)
1 ddif=/dev/zero of=/home/swap/5G.swap bs=1M count=5k
2 mkswap/home/swap/5G.swap
3 swapon/home/swap/5G.swap
如果想要在启动时就加载swap就在fstab中加入
/home/swap/5G.swap none swap sw 0 0
P.S.额外软件
KMLDonkey
KGet
KTorrent
gparted
kdePartitionManager
kate
kdeutils-print-manager
cups
samba其它KDE控制模块见https://wiki.archlinux.org/index.php/KDE
更多KDE软件参见 http://kde-apps.org
KDE的安装可以再参见
http://wiki.klniu.com/zh/Archlinux/KDE%E6%A1%8C%E9%9D%A2%E7%8E%AF%E5%A2%83%E5%AE%89%E8%A3%85%E9%85%8D%E7%BD%AE
http://my.oschina.net/codeaxe/blog/127533
http://ihacklog.com/post/installation-of-archlinux-201309-dist.html
原文:http://www.cnblogs.com/nkdanfer/p/3553533.html