1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
peripherals: 0.656
user-level: 0.633
device: 0.617
mistranslation: 0.616
register: 0.591
graphic: 0.591
semantic: 0.581
virtual: 0.579
network: 0.575
performance: 0.569
permissions: 0.568
risc-v: 0.567
PID: 0.566
x86: 0.563
kernel: 0.561
files: 0.558
arm: 0.548
architecture: 0.545
ppc: 0.545
assembly: 0.540
socket: 0.536
KVM: 0.533
boot: 0.529
debug: 0.528
hypervisor: 0.520
VMM: 0.487
vnc: 0.481
TCG: 0.460
i386: 0.417
virtfs: kernel compile fails
I am trying to compile a kernel under virtfs, and am getting an error. The error does not occur when compiling outside of the virtfs mount.
Both guest and host are running the 3.0.4 kernel.
QEMU is latest from git: bc75c9e50d308b2ec6623a40179c5cdc84b63dae
QEMU command line:
/usr/local/bin/qemu-system-x86_64 -nographic -boot c -m 1024 -machine type=pc,accel=kvm -drive file=/root/hdd1.img,if=virtio -drive file=/root/test1.img,if=virtio -drive file=/root/test2.img,if=virtio -virtfs local,path=/mnt/virtfs,security_model=none,mount_tag=virtfs -net nic,model=virtio,macaddr=DE:AD:BE:EF:AA:BB -net tap,ifname=qtap0,script=no
virtfs line in /etc/fstab:
virtfs /mnt/virtfs 9p defaults,noauto,trans=virtio 0 0
Steps to reproduce and output:
[root@guest linux-3.0.4]# make mrproper
CLEAN scripts/basic
CLEAN scripts/kconfig
CLEAN include/config include/generated
CLEAN .config .config.old
[root@guest linux-3.0.4]# make defconfig
HOSTCC scripts/basic/fixdep
HOSTCC scripts/kconfig/conf.o
SHIPPED scripts/kconfig/zconf.tab.c
SHIPPED scripts/kconfig/lex.zconf.c
SHIPPED scripts/kconfig/zconf.hash.c
HOSTCC scripts/kconfig/zconf.tab.o
HOSTLD scripts/kconfig/conf
*** Default configuration is based on 'x86_64_defconfig'
#
# configuration written to .config
#
[root@guest linux-3.0.4]# make
scripts/kconfig/conf --silentoldconfig Kconfig
*** Error during update of the configuration.
make[2]: *** [silentoldconfig] Error 1
make[1]: *** [silentoldconfig] Error 2
make: *** No rule to make target `include/config/auto.conf', needed by `include/config/kernel.release'. Stop.
Please let me know if you need any other information. Thanks!
uname -a on host:
Linux host 3.0.4 #1 SMP Mon Oct 17 11:54:45 IST 2011 x86_64 x86_64 x86_64 GNU/Linux
uname -a on guest:
Linux guest 3.0.4 #2 SMP Wed Nov 23 12:39:03 IST 2011 x86_64 x86_64 x86_64 GNU/Linux
Hi Avishay,
Are you running qemu as a normal user? In that case, could you please check whether normal user has rw access to the kernel source?
Also could you please attach the output of strace scripts/kconfig/conf --silentoldconfig Kconfig ?
Hi,
I am running qemu as root.
The output from strace for the command that you requested shows that this is the problem:
rename(".tmpconfig.h", "include/generated/autoconf.h") = -1 ENOENT (No such file or directory)
The command fails because the directory 'include/generated' doesn't exist because I ran only the command you mentioned, and not 'make'.
So I attached the output for: strace -f make &> /tmp/strace.out
Hope that helps, and thanks!
Triaging old bug tickets ... can you still reproduce this problem with the latest version of QEMU?
[Expired for QEMU because there has been no activity for 60 days.]
|