CentOS替换更新源及Linux内核编译总结
换源:
我用的是,所以下面以其为例,其它Linux OS做法类似,可作参考;
在主机能联网的情况下
cd /etc/yum.repos.d
mv ./CentOS-Base.repo ./CentOS-Base.repo.bak
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
mv CentOS6-Base-163.repo CentOS-Base.repo
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo -O CentOS-Base.repo
yum makecache
yum update
cd /etc/yum.repos.d
rz
rm CentOS-Base.repo
mv CentOS6-Base-163.repo CentOS-Base.repo
yum makecache
yum update
rz
xz -dk linux-3.19.3.tar.xz//如果提示xz not found,请帮yum换源,再用yum install xz安装
tar xvf linux-3.19.3.tar
cd linux-3.19.3
yum install -y gcc make bison ncurses-devel rpm-build
cp /boot/config-`uname -r` .config
sh -c 'yes "" | make oldconfig'
make menuconfig
make bzImage
make modules
make modules_install//上面三步也可以写成这样://make bzImage && make modules && make modules_install
make install
vi /etc/grub.conf //将default=1改为default=0,保存退出
reboot
uname -a
make mrproper//make clean
cp include/linux/hidraw.h /usr/include/linux/cp include/linux/hid.h /usr/include/linux/vi samples/hidraw/hid-example.c
13 #include <linux/types.h> 14 #include <linux/input.h> 15 #include <linux/hidraw.h> 29 #include <sys/ioctl.h> 30 #include <sys/types.h> 31 #include <sys/stat.h> 32 #include <fcntl.h> 33 #include <unistd.h>
vi /usr/include/linux/input.h
#define BUS_VIRTUAL 0x06
#define BUS_ATARI 0x1B#define BUS_SPI 0x1C
make menuconfig
vi samples/hidraw/hid-example.c
#include <arpa/inet.h>#include <netinet/in.h>
错误分析:initrd-*.*.img文件有问题;未能成功挂载真正的根文件系统。
解决方法:请你确认执行了make install 命令
Mountingrootfilesystem
mount :error2 mounting ext3
mount :error 2mountingnone
switch root mount failed:22
umount /initrd/dev failed :2
kernel panic-not synicncing :Attempted to kill init .
错误分析:
1、根文件系统找不到挂载点 ,修改grub.conf文件为 root=/dev/ *
2、硬盘驱动未能找到,请看看你机器的硬盘是都是 SATA盘,是的话同样恭喜你本文对你有帮助。
错误解决:
1.、修改grub.conf文件试试,具体修改点
root=/dev/*// * 指的是原系统中/分区的挂载点。
Mounting root filesystem
mount :error6 mounting ext3
mount :error 2 mountingnone
switchroot mount failed:22
umount /initrd/dev failed :2
kernel panic-not synicncing :Attempted tokil linit .
如果真的跪了,继续看好了~
内核选项是这样的
Device Drivers——–SCSI
device support——SCSI
low-level drivers—-Serial ATA(SATA)support 选为 M,
然后再选择相应的子选项Intel PIIX/ICH SATA support (new)
错误五:
错误提示:Enforcing mode requested but no policy loaded. Halting now.
kernel panic – not syncing: Attenpted to kill init!
错误分析:原内核中启用了selinux,新内核未选择selinux的选项,不能成功启动。
解决方法:修改grub.conf文件,在root=LABEL=/ 后加入 enforcing=0
错误六:
编译完重启后出现:
switchroot: mount failed: 22
umount /initrd/dev failed: 2
kernel panic – not symcing: Attempted to kill init!
的错误,
解决办法:
重新make menuconfig, 使CONFIG_SYSFS_DEPRECATED_V2=y
也可以打开文件.config做修改和验证;
再执行:
# make bzImage
# make modules
# make modules_install
# make install
# shutdown -r “now”
更多CentOS相关信息见
转载自:https://www.linuxidc.com/Linux/2015-11/125671.htm
声明: 除非转自他站(如有侵权,请联系处理)外,本文采用 BY-NC-SA 协议进行授权 | 嗅谱网
转载请注明:转自《CentOS替换更新源及Linux内核编译总结》
本文地址:http://www.xiupu.net/archives-5285.html
关注公众号:
微信赞赏
支付宝赞赏