User Tools

Site Tools


huy:uek_signed

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

huy:uek_signed [2019/04/04 11:40] (current)
slayer created
Line 1: Line 1:
 +Здrавстуйте,​ даrагия читацели!
 +
 +Сиводня мы будем сабираць йадро..да ни прастойэ,​ а Анбрейкабле. ​
 +
 +Пририквизитэ:​
 +
 +-el7
 +-rpmbuild
 +
 +гинирируем клютчи длйа под_писи
 +<code bash>
 +openssl req -new -nodes -utf8 -sha256 -days 36500 -batch -x509 \
 +   ​-config x509.genkey -outform PEM -out kernel_key.pem \
 +   ​-keyout kernel_key.pem
 +</​code>​
 +
 +котчаем српм
 +<​code>​
 +https://​yum.oracle.com/​repo/​OracleLinux/​OL7/​UEKR5/​x86_64/​getPackageSource/​kernel-uek-4.14.35-1844.3.2.el7uek.src.rpm
 +rpm -Uvh kernel-uek-4.14.35-1844.3.2.el7uek.src.rpm
 +</​code>​
 +Правим rpmbuild/​SOURCES/​config-x86_64
 +<​code>​
 +CONFIG_SYSTEM_TRUSTED_KEYS="​certs/​bookie.pem"​
 +</​code>​
 +Правим rpmbuild/​SPECS/​kernel-uek.spec
 +<​code>​
 +%define with_debug ​    0
 +....
 +BuildKernel() {
 +...
 +cp /​root/​kernel_key.pem certs/​bookie.pem
 +make -s mrproper
 +</​code>​
 +сабирайэм
 +
 +<​code> ​
 +rpmbuild -ba /​root/​rpmbuild/​SPECS/​kernel-uek.spec
 +</​code>​
 +
 +устанавливайэм и рибутаимсо в новайэ йадро
 +
 +ципэрь надабы сабраць zfs. Сабираць мы будзем 0.8.0-rc3, иба там йэсць шыфраванийэ и прочая хуйнйа. Правда придьоцца шлифаваць напильнегом. Ну да нам не привыкаць.
 +
 +<​code>​
 +cd rpmbuild/​SOURCES
 +wget https://​github.com/​zfsonlinux/​zfs/​releases/​download/​zfs-0.8.0-rc3/​zfs-0.8.0-rc3.tar.gz
 +mv zfs-0.8.0-rc3.tar.gz zfs-0.8.0.tar.gz
 +tar zxfv zfs-0.8.0.tar.gz
 +cd zfs-0.8.0
 +./configure --with-config=srpm
 +rpmbuild ​ -ba rpm/​generic/​zfs.spec
 +</​code>​
 +
 +юзерспейс сабралса. типерь казалас бы дастатачна сдзелаць rpmbuild -ba rpm/​generic/​zfs-kmod.spec,​ но хуй там. ​
 +
 +напильник1:​ /​root/​rpmbuild/​SOURCES/​kmodtool
 +<​code>​
 +меняем ​
 +/​usr/​lib/​modules на /​lib/​modules
 +kernel-devel на kernel-uek-devel
 +kernel-uname на kernel-uek-uname
 +и удоляем
 +Requires: ​        ​${kmodname}-kmod-common >= %{?​epoch:​%{epoch}:​}%{version}
 +</​code>​
 +напильник2:​ rpm/​generic/​zfs-kmod.spec
 +<​code>​
 +# find-debuginfo.sh only considers executables
 +chmod u+x ${RPM_BUILD_ROOT}%{kmodinstdir_prefix}/​*/​extra/​*/​*/​*
 +%{?​akmod_install}
 +rm -rf ${RPM_BUILD_ROOT}/​usr/​src
 +cd /​usr/​src/​kernels/​4.14.35-1844.3.2.el7uek.x86_64
 +find ${RPM_BUILD_ROOT} -name '​*.ko*'​ -print0 | xargs -0r -P 1 -n 1 '​-I{}'​ /​usr/​bin/​strip -g '​{}'​
 +find ${RPM_BUILD_ROOT} -name '​*.ko*'​ -print0 | xargs -0r -P 1 -n 1 '​-I{}'​ scripts/​sign-file sha512 /​root/​kernel_key.pem /​root/​kernel_key.pem '​{}'​
 +%clean
 +</​code>​
 +
 +циперь можна сабираць. ​
  
huy/uek_signed.txt · Last modified: 2019/04/04 11:40 by slayer