美文网首页
howto: centos 7 upgrade kernel 4

howto: centos 7 upgrade kernel 4

作者: akka9 | 来源:发表于2019-10-02 18:55 被阅读0次
kernel=4.19.76
workdir=/app/build
mkdir -p $workdir
cd $workdir


sudo yum install -y elfutils-libelf-devel ncurses-devel

wget -P $workdir -c https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-$kernel.tar.xz
tar Jxf linux-$kernel.tar.xz
cd linux-$kernel
cp /boot/config-$(uname -r)  $workdir/linux-$kernel/.config

cat >> .config <<EOF
CONFIG_KVM_GUEST=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_BLK_DEV_SD
CONFIG_SCSI_VIRTIO=y
CONFIG_VIRTIO_NET=y
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y

# XEN
CONFIG_XEN=y
CONFIG_XEN_PV=y
CONFIG_XEN_PV_SMP=y
CONFIG_XEN_DOM0=y
CONFIG_XEN_PVHVM=y
CONFIG_XEN_PVHVM_SMP=y
CONFIG_XEN_512GB=y
CONFIG_XEN_SAVE_RESTORE=y
# CONFIG_XEN_DEBUG_FS is not set
CONFIG_XEN_PVH=y
CONFIG_PCI_XEN=y
CONFIG_XEN_PCIDEV_FRONTEND=m
# CONFIG_NET_9P_XEN is not set
CONFIG_XEN_BLKDEV_FRONTEND=m
CONFIG_XEN_BLKDEV_BACKEND=m
CONFIG_XEN_SCSI_FRONTEND=m
CONFIG_NETXEN_NIC=m
CONFIG_XEN_NETDEV_FRONTEND=m
CONFIG_XEN_NETDEV_BACKEND=m
CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m
CONFIG_HVC_XEN=y
CONFIG_HVC_XEN_FRONTEND=y
CONFIG_TCG_XEN=m
CONFIG_XEN_WDT=m
# CONFIG_DRM_XEN is not set
CONFIG_XEN_FBDEV_FRONTEND=y
# CONFIG_SND_XEN_FRONTEND is not set
# CONFIG_MMC_SDHCI_XENON is not set
# Xen driver support
CONFIG_XEN_BALLOON=y
CONFIG_XEN_SELFBALLOONING=y
CONFIG_XEN_BALLOON_MEMORY_HOTPLUG=y
CONFIG_XEN_BALLOON_MEMORY_HOTPLUG_LIMIT=512
CONFIG_XEN_SCRUB_PAGES_DEFAULT=y
CONFIG_XEN_DEV_EVTCHN=m
CONFIG_XEN_BACKEND=y
CONFIG_XENFS=m
CONFIG_XEN_COMPAT_XENFS=y
CONFIG_XEN_SYS_HYPERVISOR=y
CONFIG_XEN_XENBUS_FRONTEND=y
CONFIG_XEN_GNTDEV=m
CONFIG_XEN_GRANT_DEV_ALLOC=m
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
CONFIG_SWIOTLB_XEN=y
CONFIG_XEN_TMEM=m
CONFIG_XEN_PCIDEV_BACKEND=m
# CONFIG_XEN_PVCALLS_FRONTEND is not set
# CONFIG_XEN_PVCALLS_BACKEND is not set
CONFIG_XEN_SCSI_BACKEND=m
CONFIG_XEN_PRIVCMD=m
CONFIG_XEN_ACPI_PROCESSOR=m
CONFIG_XEN_MCE_LOG=y
CONFIG_XEN_HAVE_PVMMU=y
CONFIG_XEN_EFI=y
CONFIG_XEN_AUTO_XLATE=y
CONFIG_XEN_ACPI=y
CONFIG_XEN_SYMS=y
CONFIG_XEN_HAVE_VPMU=y

# BPF
CONFIG_CGROUP_BPF=y
CONFIG_BPF=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_NETFILTER_XT_MATCH_BPF=m
CONFIG_BPFILTER=y
CONFIG_BPFILTER_UMH=m
CONFIG_NET_CLS_BPF=m
CONFIG_NET_ACT_BPF=m
CONFIG_BPF_JIT=y
CONFIG_BPF_STREAM_PARSER=y
CONFIG_LWTUNNEL_BPF=y
CONFIG_HAVE_EBPF_JIT=y
CONFIG_BPF_EVENTS=y
CONFIG_XDP_SOCKETS=y

# IPVLAN
CONFIG_IPVLAN=m

# RAID
CONFIG_MD_RAID0=m
CONFIG_MD_RAID1=m
CONFIG_MD_RAID10=m
CONFIG_MD_RAID456=m
CONFIG_DM_RAID=m

# DRIVER
CONFIG_SCSI_MPT3SAS=m
CONFIG_SCSI_MPT3SAS_MAX_SGE=128
CONFIG_MEGARAID_SAS=m
CONFIG_ATA_PIIX=y

# FS
CONFIG_EXT4_FS=y
CONFIG_EXT4_USE_FOR_EXT2=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
CONFIG_EXT4_ENCRYPTION=y
CONFIG_EXT4_FS_ENCRYPTION=y
CONFIG_XFS_FS=m
CONFIG_XFS_QUOTA=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_RT=y
# CONFIG_XFS_ONLINE_SCRUB is not set
# CONFIG_XFS_WARN is not set
# CONFIG_XFS_DEBUG is not set
CONFIG_VXFS_FS=m

CONFIG_OVERLAY_FS=m
CONFIG_NVDIMM_DAX=y
CONFIG_DAX_DRIVER=y
CONFIG_DAX=y
# CONFIG_DEV_DAX is not set
CONFIG_FS_DAX=y
CONFIG_FS_DAX_PMD=y

EOF



# load config
sh -c 'yes "" | make oldconfig'

# review config
#make menuconfig
# load .config  then save and exit

make bzImage
make -j8 modules
make -j8
make install
make modules_install

# update grub
grub2-mkconfig -o /boot/grub2/grub.cfg

# reboot


# build rpm

APP=linux-kernel
VERSION=4.19.76

cat > /lib/modules/upgrade-kernel.sh <<-EOF
grub2-mkconfig -o /boot/grub2/grub.cfg
grub2-set-default 0
EOF
chmod 755 /lib/modules/upgrade-kernel.sh

PKG=rpm
fpm -s dir -t ${PKG} -n ${APP} -v ${VERSION} --epoch 0 --rpm-user=root -p ${APP}-${VERSION}.${PKG} \
--after-install /lib/modules/upgrade-kernel.sh \
--exclude  /lib/modules/$VERSION/build --exclude  /lib/modules/$VERSION/source \
/boot/*$VERSION*  /lib/modules/$VERSION  

# no need for /lib/firmware/$VERSION






常见问题:系统启动不来报错:/dev/centos/root does not exist dracut

make install
make modules_install
dracut -f /boot/initramfs-vmlinuz-4.19.76.img vmlinuz-4.19.76

ref:
https://www.tecmint.com/compile-linux-kernel-on-centos-7/
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/8.0_release_notes/RHEL-8_0_0_release#kernel_technology_preview

相关文章

网友评论

      本文标题:howto: centos 7 upgrade kernel 4

      本文链接:https://www.haomeiwen.com/subject/nlkrpctx.html