我正在为Cent OS 7重buildLinux内核以select不同的抢占级别。
我的步骤如下:
sudo yum install rpm-build redhat-rpm-config asciidoc hmaccalc perl-ExtUtils-Embed pesign xmlto audit-libs-devel binutils-devel elfutils-devel elfutils-libelf-devel ncurses-devel newt-devel numactl-devel pciutils-devel python-devel zlib-devel gcc patchutils bison make gcc redhat-rpm-config
mkdir -p ~/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
echo '%_topdir %(echo $HOME)/rpmbuild' > ~/.rpmmacros
wget http://vault.centos.org/7.2.1511/updates/Source/SPackages/kernel-3.10.0-327.4.4.el7.src.rpm
rpm -i kernel-3.10.0-327.4.4.el7.src.rpm
cd ~/rpmbuild/SPECS
rpmbuild -bp --target=$(uname -m) kernel.spec
BUILD
configuration内核并在SOURCES
文件中复制configuration文件 rpmbuild -bb --with firmware --without kabichk --without debug --without debug-info --without doc --target=`uname -m` kernel.spec 2> build-err.log | tee build-out.log
rpmbuild -bb --with firmware --without kabichk --without debug --without debug-info --without doc --target=noarch kernel.spec 2> build-err.log | tee build-out.log
( – 没有--without kabichk
是必要的,因为新的抢占水平以某种方式打破目前的ABI)
问题是不能生成软件包kernel-firmware
。 任何想法缺less什么?
在CentOS 7中似乎没有内核固件包。 通过内核规格文件的快速搜索确认kernel-firmware
不会出现在任何地方。
虽然有一个Linux固件包。
该软件包是由linux-firmware spec文件构建的。