1.Gentoo的安装过程
进入引导按F1,查看引导,选择gentoo,如果安装在虚拟机上,先设置网络接口:主机接口、子系统接口,方便一SSH链接安装;如果是实体机安装就需要有一根网线,或是WIFI连接网络,配置请参观gentoowiki,这里我先在虚拟机上启动SSH服务/etc/init.d/sshd start和设置root密码passwd,然后通过实体机终端SSH连接虚拟机实现的ssh -p xxxx root@ip,我设置的主机端口是2222,ip是127.0.0.1
1. 磁盘分区:
首先查看分区设备:lsblk; 然后用fdisck选定设备进行分区fdsik -t dos /dev/sda , 这里分了两区(root{包含了boot分区} 、swap)一切求简,fdisk /dev/sda 设置引导标志退出,接着格式化主分区mkfs.ext4 /dev/sda1, 格式化交换分区mkswap /dev/sda2,紧接着挂载分区:先挂载根分区mount /dev/sda1 /mnt/gentoo/,交换分区可以不用挂载,也可以挂,看自己喜欢!
2. stage安装:
进入根挂载点cd /mnt/gentoo/,然后访问镜像链接links https://www.gentoo.org/downloads/mirrors/,选择中国的源下载清华大学的源或者163的源都可以,然后找到点击releases/amd64/autobuild/current-stage3-amd64/stage3-amd64-xxxx.tar.xz,现在完成后按q退出,回到终端ls,查看文件是否存在,不存在就重新链接下载。接着解压文件tar xpvf stage3-*.tar.xz --xattrs-include='*.*' --numeric-owner,
3. 配置编译选项:
电脑查看CPU使用lscpu查看CPU架构和类型,然后去WIKI上去找Safe CFLAGS,找对应CPU 型号的配置参数(这里看类型、family、Model),这里是配置C/C++ 编译优化设置,复制到配置文件nano -w /mnt/gentoo/etc/portage/make.conf,并在粘贴后加一句MAKEOPTS="-j2" 主要我是单核的,就写了2,这个要看你的CPU核心数目+1就是-j后面的参数,然后修改配置文件
4. 基础系统安装:
配置选择镜像mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf,然后空格选择163和清华大学的源,配置软件仓库mkdir --parents /mnt/gentoo/etc/portage/repos.conf,复制portage到gentoo的配置文件里`cp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf,为了系统出错最好看一下cat /mnt/gentoo/etc/portage/repos.conf/gentoo.conf ,复制DNS信息cp --dereference /etc/resolv.conf /mnt/gentoo/etc/,挂载必要的文件:
mount --types proc /proc /mnt/gentoo/proc
mount --rbind /sys /mnt/gentoo/sys
mount --make-rslave /mnt/gentoo/sys
mount --rbind /dev /mnt/gentoo/dev
mount --make-rslave /mnt/gentoo/dev
5. 进入新系统:
从安装介质转移到分区里chroot /mnt/gentoo /bin/bash,载入配置文件root #source /etc/profile,更改提示export PS1="(chroot) ${PS1}",这里需要在新的系统中挂载boot:mount /dev/sda1 /boot/,配置Portage安装镜像emerge-webrsync,可以查看新闻目录eselect news read,选择配置文件eselect profile list,eselect profile set 1,更新@world集合emerge --ask --verbose --update --deep --newuse @world,这里需要点时间,可以休息一下。配置USE变量emerge --info | grep ^USE,设置时区时间ls /usr/share/zoneinfo,echo "Asia/Shanghai" > /etc/timezone,emerge --config sys-libs/timezone-data,配置地区语言nano -w /etc/locale.gen,
en_US ISO-8859-1
en_US.UTF-8 UTF-8
zh_CN GBK
zh_CN.UTF-8 UTF-8
locale-gen,eselect locale list,选择zh_CN.utf-8, 我这里是9,eselect locale set 8
重新加载一下环境 env-update && source /etc/profile && export PS1="(chroot) ${PS1}"
6. 配置内核:
安装源码emerge --ask sys-kernel/gentoo-sources,ls -l /usr/src/linux,
手动配置内核emerge --ask sys-apps/pciutils,先查看设备lspci,配置驱动cd /usr/src/linux,make menuconfig:
**配置请参观gentoowiki,然后编译内核make -j2,这里看你的CPU核心参数(用时比较久),编译模块make modules_install,安装make install,生成一个initramfs:emerge -av sys-kernel/genkernel,如果出现问题,用etc-update,选择参数-5,移动到目标地址,然后在执行emerge -av sys-kernel/genkernel,nano -w /etc/fstab,添加一行:/dev/sda1 /boot ext4 defaults 0 2,执行genkernel all,安装固件emerge --ask sys-kernel/linux-firmware
7. 系统设置:
配置Fstab,nano -w /etc/fstab
/dev/sda1 / ext4 defaults 0 1
/dev/sda2 none swap sw 0 0
/dev/cdrom /mnt/cdrom auto noauto,ro 0 0
设置主机名nano -w /etc/conf.d/hostname,配置网络:emerge --ask --noreplace net-misc/netifrc,设置IP:cd /etc/init.d,ln -s net.lo net.eth0,rc-update add net.eth0 default,返回主目录cd,编写host :nano -w /etc/hosts,修改root密码passwd,
配置引导和启动:nano -w /etc/rc.conf,可以不用修改,设置键盘nano -w /etc/conf.d/keymaps,默认就好了。配置时间nano -w /etc/conf.d/hwclock,可以不用修改。
8. 安装工具:
参见gentoowiki
9. 配置引导程序:
emerge --ask --verbose sys-boot/grub:2,grub-install /dev/sda,grub-mkconfig -o /boot/grub/grub.cfg
10. 添加用户:
useradd gg, passwd gg , usermod -aG wheel gg,安装速度哦,修改权限配置nano /etc/sudoers,重启配置dhcpcd:rc-update add dhcpcd default
2.总结arch安装过程
Arch linux 安装到U盘
1.安装基础系统
详细请参照Archwiki
检查分区:lsblk,一般U盘是sdb,利用fdisk分区:fdisk /dev/sdb ,建议U盘分两个区:一个用来做boot系统引导使用,大小500M,一个用来作“/”目录。swap分区可以不要
格式化分区类型:mkfs.fat -F 32 /dev/sdb1; mkfs.ext4 -O "^has_journal" /dev/sdb2
挂载两个分区:先挂载 mount /dev/sdb2 /mnt,然后创建一个目录来挂载第一个启动分区:mkdir -p /mnt/boot/efi ,然后挂载 mount /dev/sdb1 /mnt/boot/efi
添加镜像源:到pacman的目录下cd /etc/pacman.d,备份原镜像列表 cp mirrorlist mirrorlist.bk,查看源,并找出中国源输出到源列表:cat mirrorlist.bk | grep China -A 1 | grep -v '-' > mirrorlist,查看列表 cat mirrorlist
安装软件包和内核:pacstrap -i /mnt base base-devel,这里忘了装内核了!pacstrap /mnt base linux linux-firmware
2.配置系统
设置UUID,利用genfstab:genfstab -U -p /mnt > /mnt/etc/fstab
到新安装的系统:arch-chroot /mnt
更改本地配置文件;nano /etc/locale.gen,修改启用en和zh的语言,ctrl+0/ctrl+x保存退出,运行形成新的locale-gen,设置默认语言:nano /etc/locale.conf,增加内容:LANG=en_US.UTF-8;
删除原有的UTC时区rm /etc/localtime,设置时区为上海ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime,设置硬件时间为本地时间hwclock --systohc --localtime,配置主机名:echo gaoteng_A > /etc/hostname,名字可随意修改
将block写到udev下,使其从U盘启动:nano /etc/mkinitcpio.conf,修改HOOKS的值,将block提至autodetect前,保存退出
生成启动镜像:mkinitcpio -p linux,安装引导pacman -S grub,grub-install --target=i386-pc /dev/sdb,生成grub配置文件grub-mkconfig -o /boot/grub/grub.cfg, 这里需要修复两个Bug:cp -v /usr/share/grub/{unicode.pf2,ascii.pf2} /boot/grub/, cp -v /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo
安装efibootmgr,用于引导UEFI:pacman -S efibootmgr,然后退出:exit,关闭虚拟机shutdown -h now
重新启动,勾选EFI启动,然后挂载mount /dev/sdb2 /mnt, mount /dev/sdb1 /mnt/boot/efi,登录arch-chroot /mnt,安装引导grub-install --target=x86_64-efi --efi-directory=/boot/efi --removable
设置root密码:passwd
生成启动镜像的补充:
1. git clone https://aur.archlinux.org/aic94xx-firmware.git
cd aic94xx-firmware
makepkg -sri
2. git clone https://aur.archlinux.org/wd719x-firmware.git
cd wd719x-firmware
makepkg -sri
mkinitcpio -p linux
3.基本配置
上次只是安装了一个系统的基本框架和构建,还没配置网络安装一些基础软件包,现在需要给他装上一个桌面环境,我喜欢的桌面管理器当属i3窗口管理器了,在i3下我们可以解放双手,下面就开始吧..
如果是在虚拟机可以现状必要的软件(也就是前两步),后在到实体机上从U盘运行:
再确保一次升级:pacman -S base linux linux-firmware,如果使用的是intel的cpu,建议安装一个pacman -S intel-ucode,然后安装必要的软件包:pacman -S vim iw wireless_tools wpa_supplicant dhcpcd network-manager-applet man base-devel
关闭和启动一些服务:systemctl disable netctl,启动一些服务:systemctl enable NetworkManager和dhcp服务systemctl enable dhcpcd,配置hosts文件,vim /etc/hosts,在下面配置IPv4和IPv6,添加如下:
127.0.0.1 localhost
::1 localhost
127.0.0.1 gaoteng_a.localdomain gaoteng_a
这里的gaoteng_a是电脑当时的主机名
这里可以重启一下reboot,然后通过ip link查看你的网卡是否启动,如果没启动,就ip link set 网卡设备名称 up,网卡设备名称一般是wlan0,也可能不一样,扫描网络:iwlist 网卡设备名称 scan | grep ESSID,连接网络wpa_passphrase 连接wifi的名称 wifi密码 > wifi.conf,将连接输出到一个文件,然后可以通过文件联网,wpa_supplicant -c wifi.conf -i 网卡设备名称 &然后shift+7后台运行,然后分配IP给网卡dhcpcd &,同样shift+7后台运行,人那后就可以通过ping baidu.com来查看网络是否联通ctrl+c结束。
现在arch只有一个root用户,从安全方面考虑,先创建一个普通用户叫g:useradd -m -G wheel g,设置密码passwd g,我比较喜欢vim,可将vim与vi,链接起来ln -s /usr/bin/vim /usr/bin/vi,这后使用vi就等于使用vim,然后修改g用户的权限visudo,去掉wheel组的权限设定,删除%wheel前的“##”,然后保存退出,然后登录g用户:su g
然后先更新系统sudo pacman -Syyu,然后我们安装i3桌面:
在安装桌面前,确保源的有效,增加几个源库:sudo vim /etc/pacman.conf,在文件后,增加:
[archlinuxcn]
SigLevel = Optional TrustedOnly
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
[blackarch]
SigLevel = Optional TrustAll
Server = https://mirrors.ustc.edu.cn/blackarch/$repo/os/$arch
4.安装i3桌面
sudo pacman -S xorg xorg-server xorg-xinit i3-gaps 13blocks termite rofi,
复制配置文件到g的home目录下来,cp /etc/X11/xinit/xinitrc ~/.xinitrc,然后修改一下:vim .xinitrc, 删除twm后的代码,增加一句exec i3 就保存退出,然后c创建目录mkdir -p .config/i3复制i3配置文件cp /etc/i3/config ~/.config/i3/config
然后修改i3的配置文件,建议修改两处:将i3status换成i3blocks,dmenu_run 改成 rofi -show run
然后修改.bashrc,文件,使其登录后进入i3,vim ~/.bashrc,在文件后输入:startx
桌面就安装完了,后面的美化就看自己爱好了。
完成进度: