Advertisement
ALTracer

genkernel-all.sh

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