Advertisement
ALTracer

genkernel-all.sh

Aug 17th, 2019
378
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.18 KB | None | 0 0
  1. #!/bin/sh
  2. ## `genkernel all` wrapper
  3. ## altracer1337@gmail.com
  4.  
  5. #ARCH=x86_64
  6. KV=4.19.57
  7. #FLAV=gentoo
  8. #VERSTR="genkernel-${ARCH}-${KV}-${FLAV}"
  9.  
  10. # Storage dir
  11. STORE="/home/altracer/linux-${KV}-genkernel-all"
  12. #STORE="$HOME/linux-${KV}-genkernel-all"
  13.  
  14. emerge_sources(){
  15. # Get the sources and unpack them, possibly using a tbz2
  16. # Might not actually be required here especially since that's the only step with root permissions
  17.     sudo emerge -v =sys-kernel/gentoo-sources-${KV}
  18. }
  19.  
  20. genkernel_all(){
  21. # Build a generic Linux kernel with default Gentoo configuration non-interactively
  22. # TODO: record the CPU time and RAM taken via `time -v`
  23. #   /usr/bin/time -v genkernel --install kernel initramfs
  24.     sudo genkernel all
  25. }
  26.  
  27. copy_installed(){
  28. mv -v "$STORE" "$STORE-$(date -Iminutes)"
  29. # Create a package of the results
  30. # TODO: package artifacts from /usr/src/linux-${KV} without depending on `sudo genkernel --install`
  31. env XZ_OPT="-T0" tar -cJvf \
  32.     $STORE/linux-modules-${KV}-gentoo-genkernel-all.tar.xz \
  33.     ./lib/modules/${KV}-gentoo
  34.  
  35. cp -v \ #config?
  36.     /boot/kernel-genkernel-x86_64-${KV}-gentoo \
  37.     /boot/initramfs-genkernel-x86_64-${KV}-gentoo \
  38.     /boot/System.map-genkernel-x86_64-${KV}-gentoo \
  39.     $STORE/
  40. }
  41.  
  42. copy_usrsrc(){
  43. TMPDIR=/tmp/linux-modules-${KV}-genkernel-all
  44.  
  45. mv -v "$STORE" "$STORE-$(date -Iminutes)"
  46. mkdir -p $TMPDIR
  47. cd /usr/src/linux-${KV} || exit 1
  48. env INSTALL_MOD_PATH=$TMPDIR make modules_install
  49. env XZ_OPT="-T0" tar -cJvf \
  50.     $STORE/linux-modules-${KV}-gentoo-genkernel-all.tar.xz \
  51.     -C $TMPDIR ./lib/modules/${KV}-gentoo
  52. cp -v arch/x86/boot/bzImage $STORE/kernel-genkernel-x86_64-${KV}-gentoo
  53. cp -v System.map $STORE/System.map-genkernel-x86_64-${KV}-gentoo
  54. cp -v /var/tmp/genkernel/initramfs-${KV}-gentoo $STORE/initramfs-genkernel-x86_64-${KV}-gentoo
  55. }
  56.  
  57. concat_package(){
  58.     tar cvf $STORE/../linux-${KV}-genkernel-all.tar $STORE/linux-${KV}-genkernel-all
  59.     7z a -tzip -mx=0 $STORE/../linux-${KV}-genkernel-all.zip $STORE/linux-${KV}-genkernel-all
  60. }
  61.  
  62. doroot(){
  63.     emerge_sources
  64.     genkernel_all_root
  65.     copy_installed
  66.     concat_package
  67. }
  68.  
  69. douser(){
  70. #   emerge_sources && chown -R users:portage /usr/src/linux-${KV}
  71.     genkernel_all_user
  72.     copy_usrsrc
  73.     concat_package
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement