04 Jan, 2014
2 commits
-
These commands will mysteriously fail:
$ make ARCH=arm versatile_defconfig
[...]
$ make ARCH=arm deb-pkg
[...]
make[1]: *** [deb-pkg] Error 1
make: *** [deb-pkg] Error 2The Debian architecture selection for these kernel architectures does
'grep FOO=y $KCONFIG_CONFIG && echo bar', and after 'set -e' this
aborts the script if grep does not find the given config symbol.Fixes: 10f26fa64200 ('build, deb-pkg: select userland architecture based on UTS_MACHINE')
Signed-off-by: Ben Hutchings
Signed-off-by: Michal Marek -
builddeb generates a control file that says the linux-headers package
can only be built for the build system primary architecture. This
breaks cross-building configurations. We should use $debarch for this
instead.Since $debarch is not yet set when generating the control file, set
Architecture: any and use control file variables to fill in the
description.Fixes: cd8d60a20a45 ('kbuild: create linux-headers package in deb-pkg')
Reported-and-tested-by: "Niew, Sh."
Signed-off-by: Ben Hutchings
Signed-off-by: Michal Marek
02 Jan, 2014
1 commit
18 Nov, 2013
1 commit
-
The kernel postinst hook for initramfs-tools will build an initramfs
on installation unless $INITRD is set to 'No'. make-kpkg generates a
postinst script that sets this variable appropriately, but we don't.
Set it based on CONFIG_BLK_DEV_INITRD.This should also work with dracut when
is fixed.Signed-off-by: Ben Hutchings
Signed-off-by: Michal Marek
07 Nov, 2013
1 commit
-
When building perf out of tree:
$ make perf-tar-src-pkg
$ tar -xf perf-.tar -C /tmp
$ cd /tmp/perf
$ make -C tools/perfyou get this warning message:
make[1]: *** No rule to make target `kernelversion'. Stop.Fix it by saving the perf version in the tar file and using that for the
out of tree builds.v2: removed short form request and fixed up version string from usual output.
Signed-off-by: David Ahern
Suggested-by: Ingo Molnar
Cc: Ingo Molnar
Cc: Jiri Olsa
Cc: Namhyung Kim
Link: http://lkml.kernel.org/r/1383753335-25782-1-git-send-email-dsahern@gmail.com
Signed-off-by: Arnaldo Carvalho de Melo
13 Sep, 2013
1 commit
-
Pull MIPS updates from Ralf Baechle:
"This has been sitting in -next for a while with no objections and all
MIPS defconfigs except one are building fine; that one platform got
broken by another patch in your tree and I'm going to submit a patch
separately.- a handful of fixes that didn't make 3.11
- a few bits of Octeon 3 support with more to come for a later
release
- platform enhancements for Octeon, ath79, Lantiq, Netlogic and
Ralink SOCs
- a GPIO driver for the Octeon
- some dusting off of the DECstation code
- the usual dose of cleanups"* 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (65 commits)
MIPS: DMA: Fix BUG due to smp_processor_id() in preemptible code
MIPS: kexec: Fix random crashes while loading crashkernel
MIPS: kdump: Skip walking indirection page for crashkernels
MIPS: DECstation HRT calibration bug fixes
MIPS: Export copy_from_user_page() (needed by lustre)
MIPS: Add driver for the built-in PCI controller of the RT3883 SoC
MIPS: DMA: For BMIPS5000 cores flush region just like non-coherent R10000
MIPS: ralink: Add support for reset-controller API
MIPS: ralink: mt7620: Add cpu-feature-override header
MIPS: ralink: mt7620: Add spi clock definition
MIPS: ralink: mt7620: Add wdt clock definition
MIPS: ralink: mt7620: Improve clock frequency detection
MIPS: ralink: mt7620: This SoC has EHCI and OHCI hosts
MIPS: ralink: mt7620: Add verbose ram info
MIPS: ralink: Probe clocksources from OF
MIPS: ralink: Add support for systick timer found on newer ralink SoC
MIPS: ralink: Add support for periodic timer irq
MIPS: Netlogic: Built-in DTB for XLP2xx SoC boards
MIPS: Netlogic: Add support for USB on XLP2xx
MIPS: Netlogic: XLP2xx update for I2C controller
...
26 Aug, 2013
1 commit
-
A lot of 64-bit systems supported by Linux/MIPS have boot firmware or
bootloaders that only understand 32-bit ELF files, and as such, the vmlinux.32
target exists to support these systems. Therefore, it'd be nice if the tar-pkg
target recognised this, and included the right version when packaging up a
binary of the kernel.This updates buildtar to support MIPS targets. MIPS may use 'vmlinux'
or 'vmlinux.32' depending on the target system. This uses 'vmlinux.32'
in preference to 'vmlinux' where present (although I should check which
is newer), including either file as /boot/vmlinux-${version}.Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/1673/
Signed-off-by: Ralf Baechle
16 Aug, 2013
1 commit
-
scripts/package/builddeb is used to create Debian packages.
Currently the firmware package always gets the same version number
irrespective of the Kernel version.
The paths inside the firmware package depend on the Kernel
version.With the patch supplied the Kernel version becomes part of the
Debian firmware package number.Signed-off-by: Heinrich Schuchardt
Cc: Ben Hutchings
Acked-by: maximilian attems
Signed-off-by: Michal Marek
24 Jul, 2013
4 commits
-
We now provide the installed image path to the kernel hooks.
This should allow the package to better integrate with debian hooks, and
should not be too disruptive of hooks supporting only one parameter.Signed-off-by: Anisse Astier
Reviewed-by: Ben Hutchings
Acked-by: maximilian attems
Signed-off-by: Michal Marek -
Signed-off-by: Anisse Astier
Reviewed-by: Ben Hutchings
Signed-off-by: Michal Marek -
This can reduce almost 3 times the size of the linux-image package,
while keeping the debug symbols available for this particular build, in
their own package.This mimics the way kernels are built in debian, ubuntu, or with
make-kpkg, and comes at the price of a small slowdown in the building of
packages.Signed-off-by: Anisse Astier
Cc: Ben Hutchings
Acked-by: maximilian attems
Signed-off-by: Michal Marek -
Signed-off-by: Anisse Astier
Reviewed-by: Ben Hutchings
Signed-off-by: Michal Marek
23 Jul, 2013
3 commits
-
Change the spec file to generate a kernel-devel module
allowing for compilation of external kernel modules.This patch requires a new minimum RPM level of 4.0.3.
Signed-off-by: Mike Marciniszyn
Signed-off-by: Michal Marek -
Prior to this patch, firmware files were being installed
in /lib/firmware with a potential conflict with already
installed kernels.firmware files are now installed in /lib/firmware/
and packaged with the rest of the modules.Signed-off-by: Mike Marciniszyn
Signed-off-by: Michal Marek -
/sbin/installkernel is used to insure grub hooks are
inserted and the initramfs is created on the
target system.The invokation installkernel will work with any
kernel as long as:
- /sbin/installkernel exists
- the kernel and sysem map files are readableSigned-off-by: Mike Marciniszyn
Signed-off-by: Michal Marek
11 Jul, 2013
1 commit
-
Pull kbuild updates from Michal Marek:
- fix for make headers_install argv explosion with too long path
- scripts/setlocalversion does not call git update-index needlessly
- fix for the src.rpm produced by make rpm-pkg. The new make
image_name can be useful also for other packaging tools.
- scripts/mod/devicetable-offsets.o is not rebuilt during each make run
- make modules_install dependency fix
- scripts/sortextable portability fix
- fix for kbuild to generate the output directory for all object files
in subdirs.
- a couple of minor fixes* 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
kbuild: create directory for dir/file.o
tools/include: use stdint types for user-space byteshift headers
Makefile: Fix install error with make -j option
Fix a build warning in scripts/mod/file2alias.c
improve modalias building
scripts/mod: Spelling s/DEVICEVTABLE/DEVICETABLE/
kbuild: fix error when building from src rpm
scripts/setlocalversion on write-protected source tree
Makefile.lib: align DTB quiet_cmd
kbuild: fix make headers_install when path is too long
24 Jun, 2013
1 commit
-
The following issue can be reproduced with Linus' tree on
an x86_64 server.>+ cp /home/user/rpmbuild-test/BUILDROOT/kernel-3.9.2.x86_64/boot/vmlinuz-3.9.2
>cp: missing destination file operand after
>/home/user/rpmbuild-test/BUILDROOT/kernel-3.9.2-1.x86_64/boot/vmlinuz-3.9.2'
>Try `cp --help' for more information.
>error: Bad exit status from /var/tmp/rpm-tmp.R4o0iI (%install)Here are the commands to reproduce:
make defconfig
make rpm-pkgUse the resulting src rpm to build as follows:
mkdir ~/rpmbuild-test
cd ~/rpmbuild-test
rpmbuild --rebuild --define "_topdir `pwd`" -vv ~/rpmbuild/SRPMS/kernel-3.10.0_rc1+-1.src.rpmThe issue is because the %install script uses $KBUILD_IMAGE and it hasn't
been set since it is only available in the kbuild system and not in the
%install script.This patch adds a Makefile target to emit the image_name that can be used
and modifies the mkspec to use the dynamic name in %install.Signed-off-by: Mike Marciniszyn
Signed-off-by: Michal Marek
16 May, 2013
1 commit
-
Commit 6501320311664e11ad5489fedb17ea1f817c2617 dropped the rpm spec as a
prerequisite for the binrpm-pkg target but forgot to update $< usage,
which causes the rule to break.This commit fixes that by replacing $< with the spec name.
Signed-off-by: Luiz Capitulino
Signed-off-by: Michal Marek
18 Apr, 2013
4 commits
-
Signed-off-by: Michal Marek
-
The *pkg targets are always run, so it makes no sense to cache the
generated specfile. This also fixes build errors when the specfile
becomes out of date, without the Makefile noticing it:$ make rpm
works
$ echo yadadada >localversion-test
$ make rpm
fails, because kernel.spec assumes the old kernel release stringSigned-off-by: Michal Marek
-
Now that we only package explicitly listed files to the tarball, there
is no need to abuse the parent directory.Signed-off-by: Michal Marek
-
The source tree can contain lots of uninteresting data like tag or
cscope files, packaging which slows down make rpm needlessly. It can
also break the build, if the tree contains an unrelated file named
*.spec. The downside of this change is that new subdirectories have to
be added to the KBUILD_ALLDIRS variable in the top-level Makefile. The
upside is that the behavior is more predictable.Signed-off-by: Michal Marek
08 Apr, 2013
2 commits
-
When dealing with multiple sub-arches (like 32- and 64-bit on x86, for
example) generating a bunch of kernel tar archives with the same name
but for different sub-arches could get confusing and error-prone. Also,
the build process could overwrite otherwise unrelated builds and you
probably don't want that. So, add the architecture to the archive name
for more clarity and less shoot-yourself-in-the-foot practices.Signed-off-by: Borislav Petkov
Signed-off-by: Michal Marek -
KBUILD_OUTPUT is always empty here, so it is useless to test it. But
while use O=.., objtree and srctree will be different. I compare them
instead.Signed-off-by: Bin Wang
Signed-off-by: Michal Marek
22 Feb, 2013
1 commit
-
'make rpm-pkg' and 'make binrpm-pkg' fail when the kernel source is
read-only. Specifically, when the RPM spec generated by
scripts/package/mkspec is run, KBUILD_SRC happens to be set to the
source location and thus the invocation of 'make headers_install'
fails when an internal call to 'filechk' tries to write a file into
the source tree.The fix is to clear KBUILD_SRC for the 'make headers_install'
invocation in the spec file, as is already done for the 'make
modules_install' invocation.Signed-off-by: David R. Bild
Signed-off-by: Michal Marek
12 Oct, 2012
1 commit
-
Pull kbuild changes from Michal Marek:
"The main part of kbuild for v3.7 contains:
- Fix for scripts/Makefile.modpost to not choke on a '.ko' substring
in the build directory path
- Two warning fixes (modpost and main Makefile)
- __compiletime_error works also with gcc 4.3
- make tar{gz,bz2,xz}-pkg uses default compression settings instead
of saving as many bytes as possible (this should actually be in the
misc branch, I don't know why I applied it here)."* 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
compiler-gcc4.h: correct verion check for __compiletime_error
modpost: Permit .GCC.command.line sections
Kbuild: use normal compression settings for tar*-pkg
scripts/Makefile.modpost: error in finding modules from .mod files.
kbuild: Remove useless warning while appending KCFLAGS
27 Sep, 2012
2 commits
-
For large kernel configurations (like a distribution kernel)
targz-pkg takes a quite long time to just do the compression.
I clocked it at 15+mins for a SUSE kernel like config on a fast
system. And tarxz and bzip2 are even slower.The main reason is that the script that is doing the taring sets
the highest compression level (-9). When I change it to just
use the defaults the gzip time for the same kernel goes down
to ~3 mins. I haven't tested xz and bzip, but I expect those
to be much faster too.I'm not willing to wait that long for a small compression
gain. So just change the script to use the defaults.Signed-off-by: Andi Kleen
Reviewed-by: Fengguang Wu
Signed-off-by: Michal Marek -
There were reports of users destroying their Fedora installs by a kernel
tarball that replaces the /lib -> /usr/lib symlink. Let's remove the
toplevel directories from the tarball to prevent this from happening.Reported-by: Andi Kleen
Suggested-by: Ben Hutchings
Cc:
Signed-off-by: Michal Marek
28 Jun, 2012
2 commits
-
I discovered that make deb-pkg does not add Makefile_32.cpu from
arch/x86 directory when doing i386 kernel build and package build.
Fix it by greedily adding all Makefiles.Reported-by: Witold Baryluk
Signed-off-by: maximilian attems
Signed-off-by: Michal Marek -
That way they don't file conflict with official firmware package:
trying to overwrite '/lib/firmware/qlogic/1040.bin', which is
also in package firmware-qlogic 0.35
..Reported-by: Michael Prokop
Signed-off-by: maximilian attems
Signed-off-by: Michal Marek
27 May, 2012
1 commit
-
After 303395ac3bf3e2cb488435537d416bc840438fcb, some headers are
autogenerated. Include these autogenerated headers (mainly
unistd_32_ia32.h) in out-of-tree builds to allow DKMS modules to be
built succesfully.Signed-off-by: Peter Lekensteyn
Signed-off-by: Michal Marek
25 Feb, 2012
3 commits
-
The out-of-tree build is broken in 'make deb-pkg'. The
header checks and the header install works on the source and
not on the object tree.
While fixing this also replace the direct 'make' invocations
with the $MAKE variable to be consistent within the script.Cc: maximilian attems
Cc: Ben Hutchings
Cc: debian-kernel@lists.debian.org
Cc: linux-kbuild@vger.kernel.org
Signed-off-by: Joerg Roedel
Signed-off-by: Michal Marek -
For user-mode Linux the other packages are not required. So
only build the package with the linux-image in it.Cc: maximilian attems
Cc: debian-kernel@lists.debian.org
Cc: linux-kbuild@vger.kernel.org
Signed-off-by: Joerg Roedel
Tested-by: Ben Hutchings
Signed-off-by: Michal Marek -
The Link to the kernel header files in the debian packages
point to the original build directory. This is a bad choice
if the packages were installed on a different machine. Fix
this in by manually re-creating the link in the builddeb
script.Cc: maximilian attems
Cc: debian-kernel@lists.debian.org
Cc: linux-kbuild@vger.kernel.org
Signed-off-by: Joerg Roedel
Reviewed-by: Ben Hutchings
Signed-off-by: Michal Marek
19 Feb, 2012
1 commit
-
The current use of /tmp for file lists is insecure. Put them under
$objtree/debian instead.Signed-off-by: Ben Hutchings
Cc: stable@vger.kernel.org # 2.6.39+
Acked-by: maximilian attems
Signed-off-by: Michal Marek
30 Oct, 2011
1 commit
-
Signed-off-by: Paul Menzel
Signed-off-by: Jiri Kosina
24 Jun, 2011
1 commit
-
Specify --git-dir when building perf targets to allow out-of-tree
builds using O=.The shell command in `git archive' had to be modified to allow proper
file name expansion of the files listed in MANIFEST.Signed-off-by: matt mooney
Signed-off-by: Michal Marek
26 May, 2011
1 commit
-
* 'packaging' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6:
kbuild: Create a kernel-headers RPM
rpm-pkg: Fix when current directory is a symlink
Replace '-' in kernel version with '_'
25 May, 2011
1 commit
-
To compile binaries which depend on new kernel interfaces, we need a
kernel-headers RPMSigned-off-by: Arun Sharma
Signed-off-by: Michal Marek
24 May, 2011
1 commit
-
The better fix would be to stop using the parent directory (principle of
least surprise), but as long as we use it, use it consistently.Signed-off-by: Michal Marek