CentOS 6 EOL (End of Life)
2020年之後,CentOS 6 已完全死亡,以下的說明可能完全不再適用,留著當紀念,必要時可以回來參考。
-----------------------------------------------
硬體購買於 2018年 11月,規格太新,OS 要跑的軟體,只支援舊的 CentOS 6,無法驅動網卡。
硬體資訊
硬體的主要資訊如下Motherboard
型號: PRIME Z390-A
供應商: ASUSTeK COMPUTER INC.
型號: SSD Pro 7600p/760p/E 6100p Series
供應商: Intel Corporation
網卡
型號: Ethernet Connection (7) I219-V
供應商: Intel Corporation
顯卡
顯卡
型號: GP108 [GeForce GT 1030] (rev a1)
供應商: NVIDIA Corporation
因為無法啟動網路,使用 Gentoo 的安裝系統,再用 chroot 來安裝驅動程式。自從改用 docker 後,有一陣子沒碰 CentOS 了,安裝過程還真有點不順。
原先裝 CentOS 6.9,升級後,變成 6.10,就無法登入。只好重裝 6.10,但別人的電腦都可以用 USB DISK 安裝,這一台竟然就是無法用 USB DISK 安裝,甚至外接光碟機都不行。只好搬出古董 USB 燒錄器,燒一片 DVD RW 才能正常安裝。好在手邊還有燒錄器和 DVD RW,而且還有粗粗的迴紋針,因為它的光碟機竟然無法退出。
裝好後,用 Gentoo 的安裝 USB 開機,再 mount 裝好的 CentOS 系統
livecd ~ # /etc/init.d/lvm start
* /run/lvm: creating directory
* Starting lvmetad ... [ ok ]
livecd ~ # vgchange -ay
3 logical volume(s) in volume group "vg_ntu" now active
livecd ~ # mkdir /mnt/sysimage
livecd ~ # ls /dev/vg_ntu*
lv_home lv_root lv_swap
livecd ~ # mount /dev/vg_ntu/lv_root /mnt/sysimage
livecd ~ # mount /dev/nvme0n1p1 /mnt/sysimage/boot
livecd ~ # mount --bind /proc /mnt/sysimage/proc
livecd ~ # mount --bind /dev /mnt/sysimage/dev
livecd ~ # mount --bind /sys /mnt/sysimage/sys
livecd ~ # chroot /mnt/sysimage
[root@livecd /]# source /etc/profile
[root@livecd /]# export PS1="(chroot) ${PS1}"
(chroot) [root@livecd /]#
要記後修改 /etc/resolv.conf,才能順利上網。
試了幾次,可能因為使用的 kernel 版本不同,透過 chroot 執行 yum update,好像會讓系統怪怪的。
所以,為了安裝 driver,不要執行 update,只要安裝 gcc 就好,再裝和使用的 kernel 相同版本的 kernel header,指令如下
所以,為了安裝 driver,不要執行 update,只要安裝 gcc 就好,再裝和使用的 kernel 相同版本的 kernel header,指令如下
(chroot) [root@livecd /]# cat /etc/redhat-release
CentOS release 6.9 (Final)
(chroot) [root@livecd /]# yum install gcc
(chroot) [root@livecd /]# yum install "kernel-devel-uname-r == 2.6.32-754.el6.x86_64"
假若是運作的 OS,可以直接用 yum install "kernel-devel-uname-r == $(uname -r)"
可以列出 /boot 下的檔案,確認 kernel 的版。如 kernel-devel-2.6.32-696.el6.x86_64,就無法直接安裝了。要先下載再安裝,參考後面的顯卡安裝步驟。
可以列出 /boot 下的檔案,確認 kernel 的版。如 kernel-devel-2.6.32-696.el6.x86_64,就無法直接安裝了。要先下載再安裝,參考後面的顯卡安裝步驟。
到 Intel 官網下載最新的完整驅動程式,抓出 Linux 的部分, e1000e-3.4.2.1.tar.gz。解壓縮後,到 e1000e-3.4.2.1/src/ 目錄下。重新開機後,執行
make install
因為它的 Makefile 會透過 uname -r 取後 kernel 的版本,但在 chroot 下,會取得錯誤資訊,所以要修改 Makefile,直接寫死 kernel 的版本。
網卡的 driver 是 e1000e,裝好後,應該就能啟動網路了。設好網路後,可以安心做其他的事,如 yum update。假如有更新 kernel,要記後重新安裝網卡的 driver。
安裝 Nvidia 的 driver
安裝所需的 gcc 及 kernel-develyum install gcc
yum install "kernel-devel-uname-r == $(uname -r)"
有可能版本太舊,無法直接用 yum安裝,只好用 google 搜尋下載 kernel-devel-2.6.32-696.el6.x86_64.rpm,再用 yum 安裝。
wget http://ftp.scientificlinux.org/linux/scientific/6.6/x86_64/updates/security/kernel-devel-2.6.32-696.el6.x86_64.rpm
yum install kernel-devel-2.6.32-696.el6.x86_64.rpm
修改 /etc/inittab,讓 boot 進入 text mode。
blacklist nouveau
先用指令 uname -r 確定 kernel 的版本。
然後執行下列指令,重新產生沒有包含 nouveau 的 initramfs,然後開機
mv initramfs-2.6.32-696.el6.x86_64.img initramfs-2.6.32-696.el6.x86_64.img.bak
dracut -v /boot/initramfs-2.6.32-696.el6.x86_64.img
開機後,下指令 init 3,關掉 X window。然後下載 nvidia 的安裝程式,如 NVIDIA-Linux-x86_64-410.78.run,再執行下列指令安裝。
** 記住,要執行 nvidia-xconfig utility,產生設定檔,圖形界面才能開得起來。
chmod +x NVIDIA-Linux-x86_64-410.78.run
./NVIDIA-Linux-x86_64-410.78.run
執行後的訊息Installation of the NVIDIA Accelerated Graphics Driver for Linux-x86_64
(version: 410.78) is now complete. Please update your XF86Config or
xorg.conf file as appropriate; see the file
/usr/share/doc/NVIDIA_GLX-1.0/README.txt for details.
shutdown時,會出現錯誤的修復
[root@livecd ~]# shutdown -r now
shutdown: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory
[root@livecd ~]# yum install libgcc_s.so.1
安裝 TeamViewer
另外,在其上安裝 TeamViewer。目前最新的 v14 不能裝,下載 v12 ,可以順利安裝。安裝指令如下,會自動安裝相關的套件
yum install teamviewer_v12.0.90041.i686.rpm
嗯,要是我自己使用的系統,我會裝較新的 OS,然後用 VM 跑舊的 OS。不過,這不干我的事了,我只是好玩,藉此練功一下。還不錯,花了一天的功夫搞定,學會怎麼在 kernel 加上 driver。
** 註記 **
TeamViewer 13 linux builds with recent QT version
Actually, TeamViewer is linked against Qt 5.2 currently.
選擇 v12,應該是要安裝 Qt 太麻煩,會把系統搞得一團亂,還是不要自找麻煩為宜吧。
** 註記 **
TeamViewer 13 linux builds with recent QT version
Actually, TeamViewer is linked against Qt 5.2 currently.
選擇 v12,應該是要安裝 Qt 太麻煩,會把系統搞得一團亂,還是不要自找麻煩為宜吧。
沒有留言:
張貼留言