(我安装的Fedora31的linux内核版本=5.3.2)
sudo gedit /etc/dnf/dnf.conf
开启fastmirror的方式是在 /etc/dnf/dnf.conf 中加入
fastestmirror=true
下列命令第一步是清理,第二步是重建缓存,第三步是升级所有rpm包
sudo dnf clean all
sudo dnf makecache
sudo dnf update
#命令10:安装全套开发工具
sudo dnf install kernel-devel-`uname -r` \
@development-tools \
gcc \
elfutils-libelf-devel \
elfutils-devel \
libmnl-devel \
mock \
rpm-build \
pkg-config \
tree \
mock rpm-build pesign
sudo useradd -G mock -s /sbin/nologin --no-create-home mockbuild
命令11:下载kernel源码包
yumdownloader --source kernel
rpm -ivh kernel-5.3.2-300.fc31.src.rpm
命令12:解压缩Linux 5.3 kernel源码,并且打上若干内核补丁
cd ~/rpmbuild; rpmbuild -bp SPECS/kernel.spec
命令13:拷贝配置文件.config到内核源码目录
ls /boot/ 可看到内核config的文件
config-5.2.17-200.fc30.x86_64
命令20:进入内核源码目录
cd /home/xfs/rpmbuild/BUILD/kernel-5.3.fc31/linux-5.3.2-300.fc31.x86_64/
make headers_install
命令21:编译sample子目录里面的样例程序
export EXTRA_CFLAGS="-g -O0"
make ARCH=x86_64 'EXTRA_CFLAGS=-g -O0' 'EXTRA_HOSTCFLAGS=-g' samples/bpf/
make V=1 \
'HOSTCFLAGS=-g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' \
'HOSTLDFLAGS=-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,--build-id=uuid' \
ARCH=x86_64 \
samples/bpf/
cd /home/xfs/rpmbuild/BUILD/kernel-5.3.fc31/linux-5.3.2-300.fc31.x86_64/tools/lib/bpf
export EXTRA_CFLAGS="-g -O0"
make
命令21:安装bpf头文件
sudo chmod 777 /usr/local
sudo chmod 777 /usr/local/include
sudo chmod 777 /usr/local/lib64
make install_headers
命令22:安装.so和.a文件
sudo chmod 777 /usr/local/lib64
make install_lib
命令30:BPF包过滤器依赖clang编译器等工具
sudo dnf install clang llvm llvm-devel cmake
配置中文桌面环境
sudo dnf install deepin-desktop
切换