* cannot create include/linux/version.h.tmp: Read-only file system
@ 2011-03-07 0:22 Christian Kujau
2011-03-07 7:05 ` Américo Wang
0 siblings, 1 reply; 3+ messages in thread
From: Christian Kujau @ 2011-03-07 0:22 UTC (permalink / raw)
To: LKML; +Cc: nicolas.2p.debian, mmarek, max, linux-kbuild
Hi,
I'm trying to build a kernel with O= with the kernel source residing
on a readonly NFS share. The main build finishes just fine, vmlinux & the
modules are all built, but "make deb-pkg" and "make rpm-pkg" fail to
build:
--------------------------
$ make V=1 O=/mnt/sdb/s0/ deb-pkg
[...]
set -e; : ' CHK include/linux/version.h'; mkdir -p
include/linux/;
(echo \#define LINUX_VERSION_CODE 132646; echo '#define
KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))';) <
/usr/local/src/linux-2.6-git/Makefile > include/linux/version.h.tmp; if [
-r include/linux/version.h ] && cmp -s include/linux/version.h
include/linux/version.h.tmp; then rm -f include/linux/version.h.tmp; else
: ' UPD include/linux/version.h'; mv -f include/linux/version.h.tmp
include/linux/version.h; fi
/bin/sh: cannot create include/linux/version.h.tmp: Read-only file system
make[4]: *** [include/linux/version.h] Error 2
--------------------------
$ make V=1 O=/mnt/sdb/s0/ rpm-pkg
[...]
make -f /usr/local/src/linux-2.6-git/scripts/Makefile.clean
obj=arch/x86/boot/compressed
rm -rf .tmp_versions
rm -f vmlinux System.map .tmp_kallsyms* .tmp_version .tmp_vmlinux*
.tmp_System.map
set -e; cd ..; ln -sf /usr/local/src/linux-2.6-git kernel-2.6.38rc7
ln: creating symbolic link `kernel-2.6.38rc7': Permission denied
make[2]: *** [rpm-pkg] Error 1
--------------------------
The full buidlogs are here: http://nerdbynature.de/bits/2.6.38-rc7/make/
Note that e.g. "make binrpm-pkg" succeeds and puts the .rpm in $HOME, I
wonder if at least deb-pkg could be fixed..?
Thanks,
Christian.
--
BOFH excuse #3:
electromagnetic radiation from satellite debris
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: cannot create include/linux/version.h.tmp: Read-only file system
2011-03-07 0:22 cannot create include/linux/version.h.tmp: Read-only file system Christian Kujau
@ 2011-03-07 7:05 ` Américo Wang
2011-03-07 10:45 ` Christian Kujau
0 siblings, 1 reply; 3+ messages in thread
From: Américo Wang @ 2011-03-07 7:05 UTC (permalink / raw)
To: Christian Kujau; +Cc: LKML, nicolas.2p.debian, mmarek, max, linux-kbuild
On Sun, Mar 06, 2011 at 04:22:21PM -0800, Christian Kujau wrote:
>Hi,
>
>I'm trying to build a kernel with O= with the kernel source residing
>on a readonly NFS share. The main build finishes just fine, vmlinux & the
>modules are all built, but "make deb-pkg" and "make rpm-pkg" fail to
>build:
>
>--------------------------
>$ make V=1 O=/mnt/sdb/s0/ deb-pkg
>[...]
>set -e; : ' CHK include/linux/version.h'; mkdir -p
>include/linux/;
>(echo \#define LINUX_VERSION_CODE 132646; echo '#define
>KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))';) <
>/usr/local/src/linux-2.6-git/Makefile > include/linux/version.h.tmp; if [
>-r include/linux/version.h ] && cmp -s include/linux/version.h
>include/linux/version.h.tmp; then rm -f include/linux/version.h.tmp; else
>: ' UPD include/linux/version.h'; mv -f include/linux/version.h.tmp
>include/linux/version.h; fi
>/bin/sh: cannot create include/linux/version.h.tmp: Read-only file system
>make[4]: *** [include/linux/version.h] Error 2
>
>--------------------------
>$ make V=1 O=/mnt/sdb/s0/ rpm-pkg
>[...]
>make -f /usr/local/src/linux-2.6-git/scripts/Makefile.clean
>obj=arch/x86/boot/compressed
> rm -rf .tmp_versions
> rm -f vmlinux System.map .tmp_kallsyms* .tmp_version .tmp_vmlinux*
>.tmp_System.map
>set -e; cd ..; ln -sf /usr/local/src/linux-2.6-git kernel-2.6.38rc7
>ln: creating symbolic link `kernel-2.6.38rc7': Permission denied
>make[2]: *** [rpm-pkg] Error 1
>--------------------------
>
>The full buidlogs are here: http://nerdbynature.de/bits/2.6.38-rc7/make/
>
>Note that e.g. "make binrpm-pkg" succeeds and puts the .rpm in $HOME, I
>wonder if at least deb-pkg could be fixed..?
>
The following patch should fix both of them. :)
------------------>
Signed-off: WANG Cong <xiyou.wangcong@gmail.com>
---
diff --git a/Makefile b/Makefile
index 26d7d82..37163fa 100644
--- a/Makefile
+++ b/Makefile
@@ -979,7 +979,7 @@ define filechk_version.h
echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))';)
endef
-include/linux/version.h: $(srctree)/Makefile FORCE
+include/linux/version.h: $(objtree)/Makefile FORCE
$(call filechk,version.h)
include/generated/utsrelease.h: include/config/kernel.release FORCE
diff --git a/scripts/package/Makefile b/scripts/package/Makefile
index d0b931b..b5c3b67 100644
--- a/scripts/package/Makefile
+++ b/scripts/package/Makefile
@@ -26,7 +26,7 @@ RPM := $(shell if [ -x "/usr/bin/rpmbuild" ]; then echo rpmbuild; \
else echo rpm; fi)
# Remove hyphens since they have special meaning in RPM filenames
-KERNELPATH := kernel-$(subst -,,$(KERNELRELEASE))
+KERNELPATH := $(objtree)/kernel-$(subst -,,$(KERNELRELEASE))
MKSPEC := $(srctree)/scripts/package/mkspec
PREV := set -e; cd ..;
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: cannot create include/linux/version.h.tmp: Read-only file system
2011-03-07 7:05 ` Américo Wang
@ 2011-03-07 10:45 ` Christian Kujau
0 siblings, 0 replies; 3+ messages in thread
From: Christian Kujau @ 2011-03-07 10:45 UTC (permalink / raw)
To: Américo Wang; +Cc: LKML, nicolas.2p.debian, mmarek, max, linux-kbuild
On Mon, 7 Mar 2011 at 15:05, Américo Wang wrote:
> The following patch should fix both of them. :)
Almost, for rpm-pkg:
------------------------------------
$ make V=1 O=/var/tmp/lnx rpm-pkg
[...]
set -e; cd ..; ln -sf /usr/local/src/linux-2.6-git
/var/tmp/lnx/kernel-2.6.38rc7
/bin/bash /usr/local/src/linux-2.6-git/scripts/setlocalversion --save-scmversion
set -e; cd ..; tar -cz --exclude SCCS --exclude BitKeeper --exclude .svn --exclude CVS --exclude .pc --exclude .hg --exclude .git -f /var/tmp/lnx/kernel-2.6.38rc7.tar.gz /var/tmp/lnx/kernel-2.6.38rc7/.
tar: Removing leading `/' from member names
set -e; cd ..; rm /var/tmp/lnx/kernel-2.6.38rc7
rm -f /var/tmp/lnx/.scmversion
set -e; \
/bin/bash /usr/local/src/linux-2.6-git/scripts/mkversion >
/var/tmp/lnx/.tmp_version
set -e; \
mv -f /var/tmp/lnx/.tmp_version /var/tmp/lnx/.version
rpmbuild --target i386 -ta ..//var/tmp/lnx/kernel-2.6.38rc7.tar.gz
Building target platforms: i386
Building for target i386
error: File ..//var/tmp/lnx/kernel-2.6.38rc7.tar.gz: No such file or directory
/bin/cat: ..//var/tmp/lnx/kernel-2.6.38rc7.tar.gz: No such file or directory
error: File ..//var/tmp/lnx/kernel-2.6.38rc7.tar.gz: No such file or directory
/bin/cat: ..//var/tmp/lnx/kernel-2.6.38rc7.tar.gz: No such file or directory
error: Failed to read spec file from ..//var/tmp/lnx/kernel-2.6.38rc7.tar.gz
make[2]: *** [rpm-pkg] Error 1
make[1]: *** [rpm-pkg] Error 2
make: *** [sub-make] Error 2
------------------------------------
I tried to edit scripts/package/Makefile once more, but "make
rpm-pkg" gets a few steps closer, but the resulting tar.gz is
still wrong, gotta think this through tomorrow...
--- linux-2.6-git/scripts/package/Makefile.patched 2011-03-07 00:21:44.000000000 -0800
+++ linux-2.6-git/scripts/package/Makefile 2011-03-07 02:18:02.000000000 -0800
@@ -45,7 +45,8 @@ rpm-pkg rpm: $(objtree)/kernel.spec FORC
$(MAKE) clean
$(PREV) ln -sf $(srctree) $(KERNELPATH)
$(CONFIG_SHELL) $(srctree)/scripts/setlocalversion --save-scmversion
- $(PREV) tar -cz $(RCS_TAR_IGNORE) -f $(KERNELPATH).tar.gz $(KERNELPATH)/.
+ $(PREV) tar -cz $(RCS_TAR_IGNORE) -f $(KERNELPATH).tar.gz \
+ $(KERNELPATH)/. $(objtree)/kernel.spec
$(PREV) rm $(KERNELPATH)
rm -f $(objtree)/.scmversion
set -e; \
@@ -53,8 +54,8 @@ rpm-pkg rpm: $(objtree)/kernel.spec FORC
set -e; \
mv -f $(objtree)/.tmp_version $(objtree)/.version
- $(RPM) $(RPMOPTS) --target $(UTS_MACHINE) -ta ../$(KERNELPATH).tar.gz
- rm ../$(KERNELPATH).tar.gz
+ $(RPM) $(RPMOPTS) --target $(UTS_MACHINE) -ta $(KERNELPATH).tar.gz
+ rm $(KERNELPATH).tar.gz
clean-files := $(objtree)/kernel.spec
Unfortunately, even with your patch "make deb-pkg" still fails:
---------------------
$ make V=1 O=/var/tmp/lnx/ deb-pkg
[...]
Kernel: arch/x86/boot/bzImage is ready (#2)
mkdir -p /var/tmp/lnx/arch/i386/boot
ln -fsn ../../x86/boot/bzImage /var/tmp/lnx/arch/i386/boot/bzImage
set -e; test `id -u` = 0 || test -n "" || { which fakeroot >/dev/null
2>&1 && KBUILD_PKG_ROOTCMD="fakeroot -u"; } || { echo; echo "builddeb must
be run as root (or using fakeroot)."; echo "KBUILD_PKG_ROOTCMD is unset
and fakeroot not found."; echo "Try setting KBUILD_PKG_ROOTCMD to a
command to acquire"; echo "root privileges (e.g., 'fakeroot -u' or
'sudo')."; false; } && $KBUILD_PKG_ROOTCMD /bin/bash
/usr/local/src/linux-2.6-git/scripts/package/builddeb
make -C /usr/local/src/linux-2.6-git O=/var/tmp/lnx/. headers_check
set -e; : ' CHK include/linux/version.h'; mkdir -p include/linux/;
(echo \#define LINUX_VERSION_CODE 132646; echo '#define
KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))';) <
/usr/local/src/linux-2.6-git/Makefile > include/linux/version.h.tmp; if [
-r include/linux/version.h ] && cmp -s include/linux/version.h
include/linux/version.h.tmp; then rm -f include/linux/version.h.tmp; else
: ' UPD include/linux/version.h'; mv -f include/linux/version.h.tmp
include/linux/version.h; fi
/bin/sh: cannot create include/linux/version.h.tmp: Read-only file system
make[4]: *** [include/linux/version.h] Error 2
make[3]: *** [all] Error 2
make[2]: *** [deb-pkg] Error 2
make[1]: *** [deb-pkg] Error 2
make: *** [sub-make] Error 2
---------------------
Christian.
--
BOFH excuse #284:
Electrons on a bender
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2011-03-07 10:45 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-03-07 0:22 cannot create include/linux/version.h.tmp: Read-only file system Christian Kujau
2011-03-07 7:05 ` Américo Wang
2011-03-07 10:45 ` Christian Kujau
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®