15 Star 24 Fork 32

anolis/hygon-devkit

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
build_kernel.sh 3.86 KB
一键复制 编辑 原始数据 按行查看 历史
#!/bin/bash
#build and install kernel in anolis,centos7,ubuntu
. /opt/hygon/common.sh
os_release=$(eval get_os_release)
case $os_release in
"anolis")
yum install -y elfutils-libelf-devel.x86_64 openssl-devel.x86_64 make gcc rpm-build flex bison
;;
"centos")
yum install -y elfutils-libelf-devel.x86_64 openssl-devel.x86_64 centos-release-scl centos-release-scl-rh libuuid-devel.x86_64
yum install -y devtoolset-8.x86_64
source /opt/rh/devtoolset-8/enable
;;
"ubuntu")
apt update
apt-get install -y make gcc flex bison dpkg-dev libelf-dev libssl-dev
;;
"kylin")
yum install -y elfutils-devel.x86_64
;;
esac
yes "" | make oldconfig
./scripts/config --enable CONFIG_CRYPTO_DEV_CCP
./scripts/config --enable CONFIG_AMD_MEM_ENCRYPT
./scripts/config --enable CONFIG_AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT
./scripts/config --enable CONFIG_HYDCU_FIXUP_HEADER
./scripts/config --enable CONFIG_VFIO_MDEV
./scripts/config --enable CONFIG_VFIO_MDEV_DEVICE
./scripts/config --enable CONFIG_VFIO
./scripts/config --enable CONFIG_VFIO_IOMMU_TYPE1
./scripts/config --enable CONFIG_VFIO_PCI
./scripts/config --enable CONFIG_HYMCCP
./scripts/config -m CONFIG_BLK_DEV_NBD
./scripts/config -m CONFIG_CRYPTO_DEV_HCT
./scripts/config --disable CONFIG_DEBUG_INFO
./scripts/config --enable CONFIG_CGROUPS
./scripts/config --enable CONFIG_CGROUP_CPUACCT
./scripts/config --enable CONFIG_XEN_PV
./scripts/config --enable CONFIG_HYGON_CSV
./scripts/config --enable CONFIG_CMA
./scripts/config --enable CONFIG_HUGETLBFS
./scripts/config --enable CONFIG_LIBCRC32C
./scripts/config --disable CONFIG_X86_CPU_RESCTRL
make olddefconfig
mkdir -p /opt/hygon/kernel
rm -rf /opt/hygon/kernel/*
case $os_release in
"anolis")
rm -rf ~/rpmbuild/RPMS/x86_64/kernel-*.rpm
make -j$(getconf _NPROCESSORS_ONLN) LOCALVERSION="-csv" rpm-pkg
rpm -ivh --force --nodeps ~/rpmbuild/RPMS/x86_64/kernel-*.rpm
sed -i 's!\(^GRUB_CMDLINE_LINUX=.*\)"$!\1 mem_encrypt=on kvm-amd.sev=1 kvm-amd.sev_es=1"!' /etc/default/grub
grub2-mkconfig -o /boot/efi/EFI/anolis/grub.cfg
mv ~/rpmbuild/RPMS/x86_64/kernel-*.rpm /opt/hygon/kernel/
;;
"kylin")
scripts/config --disable SYSTEM_TRUSTED_KEYS
scripts/config --disable SYSTEM_REVOCATION_KEYS
make olddefconfig
rm -rf ~/rpmbuild/RPMS/x86_64/kernel-*.rpm
make -j$(getconf _NPROCESSORS_ONLN) LOCALVERSION="-csv" rpm-pkg
sed -i 's!\(^GRUB_CMDLINE_LINUX=.*\)"$!\1 mem_encrypt=on kvm-amd.sev=1 kvm-amd.sev_es=1"!' /etc/default/grub
grub2-mkconfig -o /boot/efi/EFI/kylin/grub.cfg
mv ~/rpmbuild/RPMS/x86_64/kernel-*.rpm /opt/hygon/kernel/
;;
"centos")
rm -rf ~/rpmbuild/RPMS/x86_64/kernel-*.rpm
make -j$(getconf _NPROCESSORS_ONLN) LOCALVERSION="-csv" rpm-pkg
rpm -ivh --force --nodeps ~/rpmbuild/RPMS/x86_64/kernel-*.rpm
sed -i 's!\(^GRUB_CMDLINE_LINUX=.*\)"$!\1 mem_encrypt=on kvm-amd.sev=1 kvm-amd.sev_es=1"!' /etc/default/grub
grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
mv ~/rpmbuild/RPMS/x86_64/kernel-*.rpm /opt/hygon/kernel/
;;
"ubuntu")
./scripts/config --disable CONFIG_DEBUG_INFO_BTF
./scripts/config --enable CONFIG_EFI
./scripts/config --enable CONFIG_EFI_STUB
make olddefconfig
sed -i "s/CONFIG_SYSTEM_TRUSTED_KEYS *=.*\$/CONFIG_SYSTEM_TRUSTED_KEYS=\"\"/g" .config
sed -i "s/CONFIG_SYSTEM_REVOCATION_KEYS *=.*\$/CONFIG_SYSTEM_REVOCATION_KEYS=\"\"/g" .config
rm -f ../linux*-csv*.deb
make -j$(getconf _NPROCESSORS_ONLN) LOCALVERSION="-csv" deb-pkg
dpkg -i ../linux*-csv*.deb
sed -i 's!\(^GRUB_CMDLINE_LINUX=.*\)"$!\1 mem_encrypt=on kvm-amd.sev=1 kvm-amd.sev_es=1"!' /etc/default/grub
update-grub
mv ../linux-*-csv*.deb /opt/hygon/kernel/
;;
esac
cd /opt/hygon/
tar czvf kernel.tgz kernel
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/anolis/hygon-devkit.git
git@gitee.com:anolis/hygon-devkit.git
anolis
hygon-devkit
hygon-devkit
master

搜索帮助