lakitu: Generate kernel headers tarball

Currently, we generate the kernel headers tarball in a complicated cron
job after every build. We would like to get rid of this cron job. We can
do this by generating the kernel headers as part of the normal image
build.

We generate the kernel headers as part of the kernel install process.
The steps we take to generate the kernel headers are pretty much the
same as the steps taken by scripts/package/builddeb in the kernel tree,
which is what we currently use to build the kernel headers.

I compared the kernel headers generated at build time against the kernel
headers we generate in a post build step. The difference looks like the
following (left is current headers, right is new in-builder headers):

5772a5773,5774
> ./build
> ./build/Makefile
17981d17990
< ./scripts/unifdef
17983d17991
< ./scripts/.unifdef.cmd
18445d18452
< ./tools/objtool/sync-check.sh

The missing scripts (unifdef and sync-check.sh) appear to be used for
unnecessary things in `make bindeb-pkg` that we don't really care about.
They seem to be artifacts of the way the current process generates
headers (which is by invoking `make bindeb-pkg` and extracting
/usr/src/linux-headers-* from the resulting package).

We do not use `make bindeb-pkg` in the ebuild because the necessary
Debian packaging dependencies are not present in the cros_sdk.

I also verified that I can compile an out-of-tree kernel module with
these headers.

BUG=b:134583681
TEST=tryjob
RELEASE_NOTE=None

Change-Id: I64c966b95a0f953bb06948143728da7bb8b0dbb4
(cherry picked from commit a491a989237d32703d826ae54d14c698c07ccda5)
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/overlays/board-overlays/+/2110456
Tested-by: Robert Kolchmeyer <rkolchmeyer@google.com>
Reviewed-by: Roy Yang <royyang@google.com>
2 files changed
tree: 303f91244a393e461144ce0d19e818d7a32a1976
  1. baseboard-auron/
  2. baseboard-cheza/
  3. baseboard-coral/
  4. baseboard-dragonegg/
  5. baseboard-fizz/
  6. baseboard-glados/
  7. baseboard-gru/
  8. baseboard-grunt/
  9. baseboard-jecht/
  10. baseboard-krabbylake/
  11. baseboard-kukui/
  12. baseboard-kunimitsu/
  13. baseboard-meowth/
  14. baseboard-nami/
  15. baseboard-oak/
  16. baseboard-octopus/
  17. baseboard-poppy/
  18. baseboard-rammus/
  19. baseboard-reef/
  20. baseboard-strago/
  21. baseboard-zoombini/
  22. chipset-apl/
  23. chipset-bdw/
  24. chipset-bsw/
  25. chipset-byt/
  26. chipset-cnl/
  27. chipset-glk/
  28. chipset-hsw/
  29. chipset-icl/
  30. chipset-kbl/
  31. chipset-mt8173/
  32. chipset-mt8183/
  33. chipset-qc845/
  34. chipset-rk3399/
  35. chipset-skl/
  36. chipset-stnyridge/
  37. overlay-acorn/
  38. overlay-amd64-generic/
  39. overlay-amd64-host/
  40. overlay-amenia/
  41. overlay-arm-generic/
  42. overlay-arm64-generic/
  43. overlay-arm64-llvmpipe/
  44. overlay-asuka/
  45. overlay-atlas/
  46. overlay-auron/
  47. overlay-banjo/
  48. overlay-banon/
  49. overlay-beaglebone/
  50. overlay-bob/
  51. overlay-buddy/
  52. overlay-butterfly/
  53. overlay-candy/
  54. overlay-caroline/
  55. overlay-cave/
  56. overlay-celes/
  57. overlay-chell/
  58. overlay-cheza/
  59. overlay-clapper/
  60. overlay-coral/
  61. overlay-cyan/
  62. overlay-cyan-cheets/
  63. overlay-daisy/
  64. overlay-dragonegg/
  65. overlay-edgar/
  66. overlay-elm/
  67. overlay-enguarde/
  68. overlay-eve/
  69. overlay-expresso/
  70. overlay-falco/
  71. overlay-fizz/
  72. overlay-fizz-moblab/
  73. overlay-foster/
  74. overlay-gandof/
  75. overlay-glados/
  76. overlay-glimmer/
  77. overlay-gnawty/
  78. overlay-gru/
  79. overlay-grunt/
  80. overlay-guado/
  81. overlay-hana/
  82. overlay-heli/
  83. overlay-jadeite/
  84. overlay-jecht/
  85. overlay-kefka/
  86. overlay-kevin/
  87. overlay-kidd/
  88. overlay-kip/
  89. overlay-kukui/
  90. overlay-kunimitsu/
  91. overlay-lakitu/
  92. overlay-lars/
  93. overlay-leon/
  94. overlay-link/
  95. overlay-lulu/
  96. overlay-lumpy/
  97. overlay-mccloud/
  98. overlay-meowth/
  99. overlay-mipseb-n32-generic/
  100. overlay-mipseb-n64-generic/
  101. overlay-mipseb-o32-generic/
  102. overlay-mipsel-n32-generic/
  103. overlay-mipsel-n64-generic/
  104. overlay-mipsel-o32-generic/
  105. overlay-moblab-generic-vm/
  106. overlay-monroe/
  107. overlay-nami/
  108. overlay-nautilus/
  109. overlay-nefario/
  110. overlay-ninja/
  111. overlay-nocturne/
  112. overlay-nyan/
  113. overlay-oak/
  114. overlay-octopus/
  115. overlay-orco/
  116. overlay-panther/
  117. overlay-parrot/
  118. overlay-pbody/
  119. overlay-peach/
  120. overlay-peppy/
  121. overlay-poppy/
  122. overlay-ppcbe-32-generic/
  123. overlay-ppcbe-64-generic/
  124. overlay-ppcle-32-generic/
  125. overlay-ppcle-64-generic/
  126. overlay-puppy/
  127. overlay-pyro/
  128. overlay-quawks/
  129. overlay-rainier/
  130. overlay-rambi/
  131. overlay-rammus/
  132. overlay-raspberrypi/
  133. overlay-reef/
  134. overlay-reks/
  135. overlay-relm/
  136. overlay-reptile/
  137. overlay-rikku/
  138. overlay-sama5d3/
  139. overlay-samus/
  140. overlay-sand/
  141. overlay-scarlet/
  142. overlay-sentry/
  143. overlay-setzer/
  144. overlay-snappy/
  145. overlay-soraka/
  146. overlay-squawks/
  147. overlay-stout/
  148. overlay-stumpy/
  149. overlay-sumo/
  150. overlay-swanky/
  151. overlay-tael/
  152. overlay-tatl/
  153. overlay-terra/
  154. overlay-tidus/
  155. overlay-tricky/
  156. overlay-ultima/
  157. overlay-umaro/
  158. overlay-variant-amd64-generic-embedded/
  159. overlay-variant-amd64-generic-mobbuild/
  160. overlay-variant-auron-paine/
  161. overlay-variant-auron-yuna/
  162. overlay-variant-beaglebone-servo/
  163. overlay-variant-daisy-embedded/
  164. overlay-variant-daisy-skate/
  165. overlay-variant-daisy-spring/
  166. overlay-variant-guado-labstation/
  167. overlay-variant-guado-moblab/
  168. overlay-variant-nyan-big/
  169. overlay-variant-panther-moblab/
  170. overlay-variant-parrot-ivb/
  171. overlay-variant-peach-pi/
  172. overlay-variant-peach-pit/
  173. overlay-variant-stumpy-moblab/
  174. overlay-variant-veyron-fievel/
  175. overlay-variant-veyron-jaq/
  176. overlay-variant-veyron-jerry/
  177. overlay-variant-veyron-mickey/
  178. overlay-variant-veyron-minnie/
  179. overlay-variant-veyron-tiger/
  180. overlay-variant-x86-alex-he/
  181. overlay-variant-x86-generic-embedded/
  182. overlay-variant-x86-zgb-he/
  183. overlay-veyron/
  184. overlay-winky/
  185. overlay-wizpig/
  186. overlay-wolf/
  187. overlay-x32-generic/
  188. overlay-x86-alex/
  189. overlay-x86-generic/
  190. overlay-x86-mario/
  191. overlay-x86-zgb/
  192. overlay-zako/
  193. overlay-zoombini/
  194. project-freon/
  195. project-labstation/
  196. project-mobbase/
  197. project-mobbuild/
  198. project-moblab/
  199. project-termina/
  200. .presubmitignore
  201. add_cq_configs.py
  202. COMMIT-QUEUE.ini
  203. PRESUBMIT.cfg
  204. README