|
92 | 92 | fi |
93 | 93 | sourcename=$KDEB_SOURCENAME |
94 | 94 | tmpdir="$objtree/debian/tmp" |
| 95 | +fwdir="$objtree/debian/fwtmp" |
95 | 96 | kernel_headers_dir="$objtree/debian/hdrtmp" |
96 | 97 | libc_headers_dir="$objtree/debian/headertmp" |
97 | 98 | dbg_dir="$objtree/debian/dbgtmp" |
98 | 99 | packagename=linux-image-$version |
| 100 | +fwpackagename=linux-firmware-image-$version |
99 | 101 | kernel_headers_packagename=linux-headers-$version |
100 | 102 | libc_headers_packagename=linux-libc-dev |
101 | 103 | dbg_packagename=$packagename-dbg |
@@ -124,9 +126,10 @@ esac |
124 | 126 | BUILD_DEBUG="$(grep -s '^CONFIG_DEBUG_INFO=y' $KCONFIG_CONFIG || true)" |
125 | 127 |
|
126 | 128 | # Setup the directory structure |
127 | | -rm -rf "$tmpdir" "$kernel_headers_dir" "$libc_headers_dir" "$dbg_dir" $objtree/debian/files |
| 129 | +rm -rf "$tmpdir" "$fwdir" "$kernel_headers_dir" "$libc_headers_dir" "$dbg_dir" $objtree/debian/files |
128 | 130 | mkdir -m 755 -p "$tmpdir/DEBIAN" |
129 | 131 | mkdir -p "$tmpdir/lib" "$tmpdir/boot" |
| 132 | +mkdir -p "$fwdir/lib/firmware/$version/" |
130 | 133 | mkdir -p "$kernel_headers_dir/lib/modules/$version/" |
131 | 134 |
|
132 | 135 | # Build and install the kernel |
|
143 | 146 | cp "$($MAKE -s image_name)" "$tmpdir/$installed_image_path" |
144 | 147 |
|
145 | 148 | if grep -q "^CONFIG_OF=y" $KCONFIG_CONFIG ; then |
| 149 | + mkdir -p "$tmpdir/boot/dtbs/$version" |
146 | 150 | # Only some architectures with OF support have this target |
147 | 151 | if grep -q dtbs_install "${srctree}/arch/$SRCARCH/Makefile"; then |
148 | | - $MAKE KBUILD_SRC= INSTALL_DTBS_PATH="$tmpdir/usr/lib/$packagename" dtbs_install |
| 152 | + $MAKE KBUILD_SRC= INSTALL_DTBS_PATH="$tmpdir/boot/dtbs/$version" dtbs_install |
| 153 | + else |
| 154 | + $MAKE KBUILD_SRC= dtbs |
| 155 | + find arch/arm/boot/ -iname "*.dtb" -exec cp -v '{}' "$tmpdir/boot/dtbs/$version" \; |
| 156 | + fi |
| 157 | + |
| 158 | + #make dtbs_install seems to add an .old directory |
| 159 | + if [ -d "$tmpdir/boot/dtbs/$version.old" ] ; then |
| 160 | + rm -rf "$tmpdir/boot/dtbs/$version.old" |
149 | 161 | fi |
150 | 162 | fi |
151 | 163 |
|
|
303 | 315 | cat <<EOF >> debian/control |
304 | 316 |
|
305 | 317 | Package: $packagename |
| 318 | +Suggests: $fwpackagename |
306 | 319 | Architecture: any |
| 320 | +Depends: initramfs-tools |
307 | 321 | Description: Linux kernel, version $version |
308 | 322 | This package contains the Linux kernel, modules and corresponding other |
309 | 323 | files, version: $version. |
@@ -341,6 +355,22 @@ Description: Linux kernel headers for $KERNELRELEASE on \${kernel:debarch} |
341 | 355 | This is useful for people who need to build external modules |
342 | 356 | EOF |
343 | 357 |
|
| 358 | +# Do we have firmware? Move it out of the way and build it into a package. |
| 359 | +if [ -e "$tmpdir/lib/firmware" ]; then |
| 360 | + mv "$tmpdir/lib/firmware"/* "$fwdir/lib/firmware/$version/" |
| 361 | + rmdir "$tmpdir/lib/firmware" |
| 362 | + |
| 363 | + cat <<EOF >> debian/control |
| 364 | +
|
| 365 | +Package: $fwpackagename |
| 366 | +Architecture: all |
| 367 | +Description: Linux kernel firmware, version $version |
| 368 | + This package contains firmware from the Linux kernel, version $version. |
| 369 | +EOF |
| 370 | + |
| 371 | + create_package "$fwpackagename" "$fwdir" |
| 372 | +fi |
| 373 | + |
344 | 374 | cat <<EOF >> debian/control |
345 | 375 |
|
346 | 376 | Package: $libc_headers_packagename |
|
408 | 438 | dpkg-source -cdebian/control -ldebian/changelog --format="3.0 (custom)" --target-format="3.0 (quilt)" \ |
409 | 439 | -b / ../${sourcename}_${version}.orig.tar.gz ../${sourcename}_${packageversion}.debian.tar.gz |
410 | 440 | mv ${sourcename}_${packageversion}*dsc .. |
411 | | - dpkg-genchanges > ../${sourcename}_${packageversion}_${debarch}.changes |
| 441 | + dpkg-genchanges -Vkernel:debarch="${debarch}" > ../${sourcename}_${packageversion}_${debarch}.changes |
412 | 442 | else |
413 | | - dpkg-genchanges -b > ../${sourcename}_${packageversion}_${debarch}.changes |
| 443 | + dpkg-genchanges -b -Vkernel:debarch="${debarch}" > ../${sourcename}_${packageversion}_${debarch}.changes |
414 | 444 | fi |
415 | 445 |
|
416 | 446 | exit 0 |
0 commit comments