Pagina 1 di 1

problemi dopo compilazione kernel 3.5

Inviato: gio 28 giu 2012, 12:58
da ZeroUno
edit: Ho modificato completamente il topic: era "compilare latest kernel", ma visto che ci sono riuscito comincio a parlare dei problemi che ho riscontrato dopo il boot; non mi sembrava il caso di farne un altro.
--riassunto vecchio topic--
Sto compilando su slackware64-current il kernel linux-next (l'ultimissimo scaricabile da git per capirci)

Ho preso il config-huge del 3.2.21 e copiato come .config e poi ho dato make oldconfig

Ho dovuto disabilitare DLM e GFS2 per compilarlo
--fine riassunto--

Dopo aver fatto il boot la prima cosa anomala che riscontro è questa

Codice: Seleziona tutto

# dmesg
...
[    1.438561] tsc: Refined TSC clocksource calibration: 2195.013 MHz
[    1.438871] Switching to clocksource tsc
[   20.477961] floppy0: no floppy controllers found
...
cosa ha fatto in quei 19 secondi in cui era fermo? io stavo quasi per riavviare quando ha cominciato ad andare oltre.

Poi ho tentato di compilare il modulo proprietario nvidia ma mi da errore:

Codice: Seleziona tutto

# make module
NVIDIA: calling KBUILD...
make -C /lib/modules/3.5.0-rc4-next-20120628+/build \
KBUILD_SRC=/usr/src/linux-next-20120628 \
KBUILD_EXTMOD="/usr/share/nvidia-linux/kernel" -f /usr/src/linux-next-20120628/Makefile \
modules
test -e include/generated/autoconf.h -a -e include/config/auto.conf || (                \
echo;                                                           \
echo "  ERROR: Kernel configuration is invalid.";               \
echo "         include/generated/autoconf.h or include/config/auto.conf are missing.";\
echo "         Run 'make oldconfig && make prepare' on kernel src to fix it.";  \
echo;                                                           \
/bin/false)
mkdir -p /usr/share/nvidia-linux/kernel/.tmp_versions ; rm -f /usr/share/nvidia-linux/kernel/.tmp_versions/*
make -f /usr/src/linux-next-20120628/scripts/Makefile.build obj=/usr/share/nvidia-linux/kernel
  cc -Wp,-MD,/usr/share/nvidia-linux/kernel/.nv.o.d  -nostdinc -isystem /usr/lib64/gcc/x86_64-slackware-linux/4.7.1/include -I/usr/src/linux-next-20120628/arch/x86/include -Iarch/x86/include/generated -Iinclude  -I/usr/src/linux-next-20120628/include -include /usr/src/linux-next-20120628/include/linux/kconfig.h   -I/usr/share/nvidia-linux/kernel -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -m64 -mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -fstack-protector -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_FXSAVEQ=1 -DCONFIG_AS_AVX=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -pg -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -DCC_HAVE_ASM_GOTO   -I/usr/share/nvidia-linux/kernel -Wall -MD -Wsign-compare -Wno-cast-qual -Wno-error -D__KERNEL__ -DMODULE -DNVRM -DNV_VERSION_STRING=\"295.59\" -Wno-unused-function -Wuninitialized -mno-red-zone -mcmodel=kernel -UDEBUG -U_DEBUG -DNDEBUG  -DMODULE  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(nv)"  -D"KBUILD_MODNAME=KBUILD_STR(nvidia)" -c -o /usr/share/nvidia-linux/kernel/nv.o /usr/share/nvidia-linux/kernel/nv.c
In file included from include/linux/kernel.h:19:0,                                                                                                                            
                 from include/linux/sched.h:55,
                 from include/linux/utsname.h:35,
                 from /usr/share/nvidia-linux/kernel/nv-linux.h:38,
                 from /usr/share/nvidia-linux/kernel/nv.c:13:
include/linux/bitops.h: In function 'hweight_long':
include/linux/bitops.h:66:41: warning: signed and unsigned type in conditional expression [-Wsign-compare]
In file included from /usr/src/linux-next-20120628/arch/x86/include/asm/uaccess.h:586:0,
                 from include/linux/poll.h:14,
                 from /usr/share/nvidia-linux/kernel/nv-linux.h:97,
                 from /usr/share/nvidia-linux/kernel/nv.c:13:
/usr/src/linux-next-20120628/arch/x86/include/asm/uaccess_64.h: In function 'copy_from_user':
/usr/src/linux-next-20120628/arch/x86/include/asm/uaccess_64.h:53:6: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  if [ "-pg" = "-pg" ]; then if [ /usr/share/nvidia-linux/kernel/nv.o != "scripts/mod/empty.o" ]; then /usr/src/linux-next-20120628/scripts/recordmcount  "/usr/share/nvidia-linux/kernel/nv.o"; fi; fi;
  cc -Wp,-MD,/usr/share/nvidia-linux/kernel/.nv-acpi.o.d  -nostdinc -isystem /usr/lib64/gcc/x86_64-slackware-linux/4.7.1/include -I/usr/src/linux-next-20120628/arch/x86/include -Iarch/x86/include/generated -Iinclude  -I/usr/src/linux-next-20120628/include -include /usr/src/linux-next-20120628/include/linux/kconfig.h   -I/usr/share/nvidia-linux/kernel -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -m64 -mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -fstack-protector -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_FXSAVEQ=1 -DCONFIG_AS_AVX=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -pg -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -DCC_HAVE_ASM_GOTO   -I/usr/share/nvidia-linux/kernel -Wall -MD -Wsign-compare -Wno-cast-qual -Wno-error -D__KERNEL__ -DMODULE -DNVRM -DNV_VERSION_STRING=\"295.59\" -Wno-unused-function -Wuninitialized -mno-red-zone -mcmodel=kernel -UDEBUG -U_DEBUG -DNDEBUG  -DMODULE  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(nv_acpi)"  -D"KBUILD_MODNAME=KBUILD_STR(nvidia)" -c -o /usr/share/nvidia-linux/kernel/nv-acpi.o /usr/share/nvidia-linux/kernel/nv-acpi.c
In file included from include/linux/kernel.h:19:0,
                 from include/linux/sched.h:55,
                 from include/linux/utsname.h:35,
                 from /usr/share/nvidia-linux/kernel/nv-linux.h:38,
                 from /usr/share/nvidia-linux/kernel/nv-acpi.c:15:
include/linux/bitops.h: In function 'hweight_long':
include/linux/bitops.h:66:41: warning: signed and unsigned type in conditional expression [-Wsign-compare]
In file included from /usr/src/linux-next-20120628/arch/x86/include/asm/uaccess.h:586:0,
                 from include/linux/poll.h:14,
                 from /usr/share/nvidia-linux/kernel/nv-linux.h:97,
                 from /usr/share/nvidia-linux/kernel/nv-acpi.c:15:
/usr/src/linux-next-20120628/arch/x86/include/asm/uaccess_64.h: In function 'copy_from_user':
/usr/src/linux-next-20120628/arch/x86/include/asm/uaccess_64.h:53:6: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
/usr/share/nvidia-linux/kernel/nv-acpi.c: In function 'nv_acpi_remove':
/usr/share/nvidia-linux/kernel/nv-acpi.c:303:9: error: too many arguments to function 'acpi_os_wait_events_complete'
In file included from include/acpi/acpi.h:63:0,
                 from /usr/share/nvidia-linux/kernel/nv-linux.h:269,
                 from /usr/share/nvidia-linux/kernel/nv-acpi.c:15:
include/acpi/acpiosxf.h:208:6: note: declared here
make[4]: *** [/usr/share/nvidia-linux/kernel/nv-acpi.o] Error 1
make[3]: *** [_module_/usr/share/nvidia-linux/kernel] Error 2
make[2]: *** [sub-make] Error 2
NVIDIA: left KBUILD.
nvidia.ko failed to build!
make[1]: *** [module] Error 1
make: *** [module] Error 2
quindi ho dovuto utilizzare i driver nouveau (un bel salto indietro, non c'è che dire :-D )

Re: problemi dopo compilazione kernel 3.5

Inviato: gio 28 giu 2012, 19:32
da ponce
la patch che hai postato su linuxquestions non funziona, ho appena provato: la funzione acpi_os_wait_events_complete() ha comunque bisogno di un argomento al posto di NULL, non puoi chiamarla senza, come invece la patch fa.

EDIT: aspetta, forse ho capito: sto provando con il 3.5-rc4, per il quale il driver nvidia 295.59 non ha bisogno di nessuna patch.
riprovo appena esce l'-rc5.

comunque qui i secondi in cui sta fermo sono 6-7.

Re: problemi dopo compilazione kernel 3.5

Inviato: ven 29 giu 2012, 0:27
da ZeroUno
non saprei:
nv-acpi.c:303 è
acpi_os_wait_events_complete(NULL);

numero argomenti == 1


/usr/share/nvidia-linux/kernel/nv-acpi.c:303:9: error: too many arguments to function 'acpi_os_wait_events_complete'

ergo numero argoment deve essere minore di 1, ovvero 0.


da una grep su linux-next-20120628 difatti è definita come
void acpi_os_wait_events_complete(void)
e usata come
acpi_os_wait_events_complete();

# grep -r acpi_os_wait_events_complete *
drivers/acpi/acpica/evxface.c: acpi_os_wait_events_complete();
drivers/acpi/acpica/evxface.c: acpi_os_wait_events_complete();
drivers/acpi/osl.c: acpi_os_wait_events_complete();
drivers/acpi/osl.c: * which invoke flush_scheduled_work/acpi_os_wait_events_complete
drivers/acpi/osl.c:void acpi_os_wait_events_complete(void)
drivers/acpi/osl.c:EXPORT_SYMBOL(acpi_os_wait_events_complete);
drivers/acpi/sleep.c: acpi_os_wait_events_complete();
include/acpi/acpiosxf.h:void acpi_os_wait_events_complete(void);

sul 3.2.21 è
# grep -r acpi_os_wait_events_complete *
Module.symvers:0x00000000 acpi_os_wait_events_complete vmlinux EXPORT_SYMBOL
drivers/acpi/acpica/evxface.c: acpi_os_wait_events_complete(NULL);
drivers/acpi/acpica/evxface.c: acpi_os_wait_events_complete(NULL);
drivers/acpi/osl.c: acpi_os_wait_events_complete(NULL);
drivers/acpi/osl.c: * which invoke flush_scheduled_work/acpi_os_wait_events_complete
drivers/acpi/osl.c:void acpi_os_wait_events_complete(void *context)
drivers/acpi/osl.c:EXPORT_SYMBOL(acpi_os_wait_events_complete);
drivers/acpi/sleep.c: acpi_os_wait_events_complete(NULL);
include/acpi/acpiosxf.h:void acpi_os_wait_events_complete(void *context);

gli altri non li ho scaricati.

dal git log --patch:

Codice: Seleziona tutto

commit bd6f10a5f984e48cb56a39f2698cd58e7a33d56b
Author: Lin Ming <ming.m.lin@intel.com>
Date:   Tue May 22 16:43:49 2012 +0800

    ACPICA: Remove argument of acpi_os_wait_events_complete
    
    Remove the unused argument of acpi_os_wait_events_complete.
    
    Signed-off-by: Lin Ming <ming.m.lin@intel.com>
    Signed-off-by: Bob Moore <robert.moore@intel.com>
    Signed-off-by: Len Brown <len.brown@intel.com>

diff --git a/drivers/acpi/acpica/evxface.c b/drivers/acpi/acpica/evxface.c
index 90ae6d1..6a8b537 100644
--- a/drivers/acpi/acpica/evxface.c
+++ b/drivers/acpi/acpica/evxface.c
@@ -251,7 +251,7 @@ acpi_remove_notify_handler(acpi_handle device,
        }
        /* Make sure all deferred tasks are completed */
 
-       acpi_os_wait_events_complete(NULL);
+       acpi_os_wait_events_complete();
 
        status = acpi_ut_acquire_mutex(ACPI_MTX_NAMESPACE);
        if (ACPI_FAILURE(status)) {

Re: problemi dopo compilazione kernel 3.5

Inviato: ven 29 giu 2012, 0:42
da ZeroUno
dimenticavo
Offtopic:
ponce ha scritto:Offtopic: la patch che hai postato su linuxquestions
Offtopic: com'è il mio inglese? :-)

Re: problemi dopo compilazione kernel 3.5

Inviato: ven 29 giu 2012, 12:17
da ponce
si capisce bene :D
ogni tanto qualche termine non e' quello giusto, ma penso proprio che non sia un problema per chi legge. ;)
forse ti potrebbe dare qualche giudizio piu' pertinente un madrelingua. :)