[Problem] aktueller CVS Stand
-
- Developer
- Beiträge: 2183
- Registriert: Mittwoch 10. Dezember 2003, 07:59
Re: [Problem] aktueller CVS Stand
das liegt jetzt (wahrscheinlich) nicht an den printks sondern an deinem Image.
Check mal ob du die busybox und die links dazu (z.B.: init) im image hast
Check mal ob du die busybox und die links dazu (z.B.: init) im image hast
-
- Einsteiger
- Beiträge: 116
- Registriert: Montag 29. März 2004, 22:00
Re: [Problem] aktueller CVS Stand
huhu,
wenn ich die printk so einfüge:
...bekomm ich auch diesen "kernel panik"-fehler und die box bootet nicht mehr weiter.
hab dann bissle gespielt und mich letzendlich auf die datei "linux-2.4.36/mm/mmap.c" konzentriert.
wenn in dieser datei (zeile 660-666) die printk so einfüge:
...bekomm ich zwar haufenweise debug-ausgaben und der bootvorgang kommt mir dadurch langsamer vor.
aber das image bootet.
boot-log:
mfg
wittinobi
wenn ich die printk so einfüge:
Code: Alles auswählen
/* Ensure a non-privileged process is not trying to map
* lower pages.
*/
if (addr < mmap_min_addr && !capable(CAP_SYS_RAWIO))
printk("[KERNEL] lowmen patch [NACH] [EPERM] [1] mmap.c\n");
return -EPERM;
hab dann bissle gespielt und mich letzendlich auf die datei "linux-2.4.36/mm/mmap.c" konzentriert.
wenn in dieser datei (zeile 660-666) die printk so einfüge:
Code: Alles auswählen
printk("[KERNEL] lowmen patch [VOR] [EPERM] [1] mmap.c\n");
/* Ensure a non-privileged process is not trying to map
* lower pages.
*/
if (addr < mmap_min_addr && !capable(CAP_SYS_RAWIO))
return -EPERM;
printk("[KERNEL] lowmen patch [NACH] [EPERM] [1] mmap.c\n");
aber das image bootet.
boot-log:
Code: Alles auswählen
I2C: ready
DRAM: 32 MB
FLASH: 8 MB
Scanning JFFS2 FS: . done.
env: found "console"
env: found "lcd_inverse"
env: found "lcd_contrast"
FB: ready
LCD: ready
In: serial
Out: serial
Err: serial
Net: SCC ETHERNET
Options:
1: Console on null
2: Console on ttyS0
3: Console on framebuffer
Select option (1-3), other keys to stop autoboot: 0
### FS (squashfs) loading 'vmlinuz' to 0x100000
### FS load complete: 669188 bytes loaded to 0x100000
............................................................... done
Un-Protected 63 sectors
## Booting image at 00100000 ...
Image Name: dbox2
Image Type: PowerPC Linux Kernel Image (gzip compressed)
Data Size: 669124 Bytes = 653.4 kB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
Linux version 2.4.36-dbox2 (two1@two1) (gcc version 3.4.6) #8 So 20. Jan 21:41:4
6 CET 2008
On node 0 totalpages: 8192
zone(0): 8192 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: console=ttyS0,9600 root=/dev/mtdblock2 rootfstype=squashfs
Decrementer Frequency = 252000000/60
m8xx_wdt: active wdt found (SWTC: 0xFFFF, SWP: 0x1)
m8xx_wdt: keep-alive trigger installed (PITC: 0x12C0)
Console: colour dummy device 80x25
Calibrating delay loop... 66.96 BogoMIPS
Memory: 30828k available (1140k kernel code, 340k data, 60k init, 0k highmem)
Dentry cache hash table entries: 4096 (order: 3, 32768 bytes)
Inode cache hash table entries: 2048 (order: 2, 16384 bytes)
Mount cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer cache hash table entries: 1024 (order: 0, 4096 bytes)
Page-cache hash table entries: 8192 (order: 3, 32768 bytes)
POSIX conformance testing by UNIFIX
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd
devfs: v1.12c (20020818) Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x1
JFFS2 version 2.2. (NAND) (C) 2001-2003 Red Hat, Inc.
squashfs: version 3.0 (2006/03/15) Phillip Lougher
i2c-core.o: i2c core module version 2.6.1 (20010830)
i2c-dev.o: i2c /dev entries driver module version 2.6.1 (20010830)
CPM UART driver version 0.04
ttyS0 at 0x0280 is on SMC1 using BRGttyS1 at 0x0380 is on SMC2 using BRG2
pty: 256 Unix98 ptys configured
eth0: CPM ENET Version 0.2.dbox2 on SCC2, 00:50:9c:12:a7:d1
loop: loaded (max 8 devices)
D-Box 2 flash driver (size->0x800000 mem->0x10000000)
D-Box 2 flash memory: Found 2 x16 devices at 0x0 in 32-bit bank
Intel/Sharp Extended Query Table at 0x0035
cfi_cmdset_0001: Erase suspend on write enabled
Creating 6 MTD partitions on "D-Box 2 flash memory":
0x00000000-0x00020000 : "BR bootloader"
0x00020000-0x00040000 : "FLFS (U-Boot)"
0x00040000-0x004a0000 : "root (SquashFS)"
0x004a0000-0x00800000 : "var (JFFS2)"
0x00020000-0x00800000 : "Flash without bootloader"
0x00000000-0x00800000 : "Complete Flash"
Linux video capture interface: v1.00
mice: PS/2 mouse device common for all mice
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 2048 bind 4096)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
VFS: Mounted root (squashfs filesystem) readonly.
Mounted devfs on /dev
Freeing unused kernel memory: 60k init
[KERNEL] lowmen patch [VOR] [EPERM] [1] mmap.c
[KERNEL] lowmen patch [NACH] [EPERM] [1] mmap.c
[KERNEL] lowmen patch [VOR] [EPERM] [1] mmap.c
[KERNEL] lowmen patch [NACH] [EPERM] [1] mmap.c
[KERNEL] lowmen patch [VOR] [EPERM] [1] mmap.c
[KERNEL] lowmen patch [NACH] [EPERM] [1] mmap.c
[KERNEL] lowmen patch [VOR] [EPERM] [1] mmap.c
[KERNEL] lowmen patch [NACH] [EPERM] [1] mmap.c
[KERNEL] lowmen patch [VOR] [EPERM] [1] mmap.c
[KERNEL] lowmen patch [NACH] [EPERM] [1] mmap.c
[KERNEL] lowmen patch [VOR] [EPERM] [1] mmap.c
[KERNEL] lowmen patch [NACH] [EPERM] [1] mmap.c
[KERNEL] lowmen patch [VOR] [EPERM] [1] mmap.c
[KERNEL] lowmen patch [NACH] [EPERM] [1] mmap.c
[KERNEL] lowmen patch [VOR] [EPERM] [1] mmap.c
[KERNEL] lowmen patch [NACH] [EPERM] [1] mmap.c
init started: BusyBox v1.7.2 (2008-01-19 19:05:25 CET)
[KERNEL] lowmen patch [VOR] [EPERM] [1] mmap.c
[KERNEL] lowmen patch [NACH] [EPERM] [1] mmap.c
[KERNEL] lowmen patch [VOR] [EPERM] [1] mmap.c
[KERNEL] lowmen patch [NACH] [EPERM] [1] mmap.c
[KERNEL] lowmen patch [VOR] [EPERM] [1] mmap.c
...usw.
mfg
wittinobi
-
- Einsteiger
- Beiträge: 204
- Registriert: Dienstag 12. März 2002, 07:40
Re: [Problem] aktueller CVS Stand
Ja, busybox mit allen Links ist vorhanden (init liegt in sbin).
Wenn ich die printk's wieder entferne und das Image neu baue, habe ich sofort wieder die Endlosschleife. Mit angeschlossenem Netzwerkkabel geht der Bootvorgang meist nur bis hierhin:
Ohne Netzwerkkabel kommt der Bootvorgang sehr viel weiter, bevor an unterschiedlichen Stellen der Reboot erfolgt.
Wenn ich die printk's wieder entferne und das Image neu baue, habe ich sofort wieder die Endlosschleife. Mit angeschlossenem Netzwerkkabel geht der Bootvorgang meist nur bis hierhin:
Code: Alles auswählen
env: found "lcd_inverse"
env: found "lcd_contrast"
FB: ready
LCD: ready
In: serial
Out: serial
Err: serial
Net: SCC ETHERNET
Options:
1: Console on null
2: Console on ttyS0
3: Console on framebuffer
Select option (1-3), other keys to stop autoboot: 0
### FS (jffs2) loading 'vmlinuz' to 0x100000
### FS load complete: 669113 bytes loaded to 0x100000
............................................................... done
Un-Protected 63 sectors
## Booting image at 00100000 ...
Image Name: dbox2
Image Type: PowerPC Linux Kernel Image (gzip compressed)
Data Size: 669049 Bytes = 653.4 kB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
Linux version 2.4.36-dbox2 (st@work) (gcc version 3.4.6) #9 So 20. Jan 19
:34:24 CET 2008
On node 0 totalpages: 8192
zone(0): 8192 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: console=ttyS0,57600 root=/dev/mtdblock2 rw rootfstype=jffs2
Decrementer Frequency = 252000000/60
m8xx_wdt: active wdt found (SWTC: 0xFFFF, SWP: 0x1)
m8xx_wdt: keep-alive trigger installed (PITC: 0x1000)
Console: colour dummy device 80x25
Calibrating delay loop... 66.96 BogoMIPS
Memory: 30828k available (1140k kernel code, 340k data, 60k init, 0k highmem)
Dentry cache hash table entries: 4096 (order: 3, 32768 bytes)
Inode cache hash table entries: 2048 (order: 2, 16384 bytes)
Mount cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer cache hash table entries: 1024 (order: 0, 4096 bytes)
Page-cache hash table entries: 8192 (order: 3, 32768 bytes)
POSIX conformance testing by UNIFIX
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd
devfs: v1.12c (20020818) Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x1
JFFS2 version 2.2. (NAND) (C) 2001-2003 Red Hat, Inc.
squashfs: version 3.0 (2006/03/15) Phillip Lougher
i2c-core.o: i2c core module version 2.6.1 (20010830)
i2c-dev.o: i2c /dev entries driver module version 2.6.1 (20010830)
CPM UART driver version 0.04
ttyS0 at 0x0280 is on SMC1 using BRG1
ttyS1 at 0x0380 is on SMC2 using BRG2
pty: 256 Unix98 ptys configured
eth0: CPM ENET Version 0.2.dbox2 on SCC2, 00:50:9c:1b:74:14
loop: loaded (max 8 devices)
D-Box 2 flash driver (size->0x800000 mem->0x10000000)
D-Box 2 flash memory: Found 2 x16 devices at 0x0 in 32-bit bank
Intel/Sharp Extended Query Table at 0x0035
cfi_cmdset_0001: Erase suspend on write enabled
Creating 5 MTD partitions on "D-Box 2 flash memory":
0x00000000-0x00020000 : "BR bootloader"
0x00020000-0x00040000 : "FLFS (U-Boot)"
0x00040000-0x00800000 : "root (jffs2)"
0x00020000-0x00800000 : "Flash without bootloader"
0x00000000-0x00800000 : "Complete Flash"
Linux video capture interface: v1.00
mice: PS/2 mouse device common for all mice
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 2048 bind 4096)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
-
- Developer
- Beiträge: 2183
- Registriert: Mittwoch 10. Dezember 2003, 07:59
Re: [Problem] aktueller CVS Stand
bau das mal so ein so daß nur die Meldung kommt wenn er in den Fehlerfall läuft.
Code: Alles auswählen
if (address < mmap_min_addr && !capable(CAP_SYS_RAWIO)) {
printk("lowmen patch EPERM1");
return -EPERM;
}
-
- Einsteiger
- Beiträge: 116
- Registriert: Montag 29. März 2004, 22:00
Re: [Problem] aktueller CVS Stand
oh mann die klammern, jetzt seh ichs, lol.Houdini hat geschrieben:bau das mal so ein so daß nur die Meldung kommt wenn er in den Fehlerfall läuft.Code: Alles auswählen
if (address < mmap_min_addr && !capable(CAP_SYS_RAWIO)) { printk("lowmen patch EPERM1"); return -EPERM; }
ok test ich nochmal, hrhr.
-
- Developer
- Beiträge: 2183
- Registriert: Mittwoch 10. Dezember 2003, 07:59
Re: [Problem] aktueller CVS Stand
jetzt wirds kompliziert:
ich zitiere mal aus der kernel mailing liste:
dann ist es doch das timing
ich zitiere mal aus der kernel mailing liste:
der patch sollte also nicht aktiv sein!- the addition of the mmap_min_addr sysctl which provides the ability to
prevent processes from mapping the NULL address, thus preventing the
exploitation of a kind of possibly yet undiscovered kernel bugs (NULL
dereferences) to escalade privileges. This is the convergence of an
Openwall kernel 2.4 patch by Solar Designer, and Eric Paris' 2.6 patch.
The mmap_min_addr protection is not enabled by default. In order to
activate it, you have to write the minimum allowed user-space address
in mmap_min_addr :
# echo 4096 > /proc/sys/vm/mmap_min_addr
or alternatively :
# sysctl -w vm.mmap_min_addr=4096
dann ist es doch das timing
-
- Einsteiger
- Beiträge: 226
- Registriert: Mittwoch 22. August 2001, 00:00
Re: [Problem] aktueller CVS Stand
google übersetzt:
-- Die Ergänzung der mmap_min_addr sysctl, bietet die Möglichkeit,
Verhindern, dass Prozesse von der Kartierung der NULL-Adresse, so dass die
Ausbeutung von einer Art möglicherweise noch unentdeckten Kernel Bugs (NULL
Hebt), escalade Privilegien. Dies ist die Konvergenz der
2,4 Openwall Kernel Patches von Solar Designer, und Eric Paris' 2,6 Patch.
Die mmap_min_addr Schutz ist standardmäßig nicht aktiviert. Um
Aktivieren, müssen Sie schreiben das Minimum erlaubt User-Space-Adresse
Mmap_min_addr in:
# Echo 4096> / proc / sys / vm / mmap_min_addr
Oder alternativ:
# Sysctl-w vm.mmap_min_addr = 4096
-
- Einsteiger
- Beiträge: 116
- Registriert: Montag 29. März 2004, 22:00
Re: [Problem] aktueller CVS Stand
hehe,
ich hab eben mal folgendes getestet.
in "linux-2.4.36/include/linux/mm.h" printk eingefügt (zeile 661-664):
in "linux-2.4.36/mm/mmap.c" printk eingefügt (zeile 660-667):
in "linux-2.4.36/mm/mmap.c" printk eingefügt (zeile 678-682):
in "tuxbox-cvs-test/cdk/linux-2.4.36/mm/mremap.c" printk eingefügt (zeile 276-283):
boot-log (direkt nach flashen > tasten-reset an der box):
...box blieb stehen.
direkt danach nochmals tasten-reset an der box:
danach wiederum tasten-reset und netzstecker-resets getestet.
der fehler vom ersten booten kam danach nicht mehr.
danach lief alles normal (auf den ersten blick).
mir scheint auch das timing schuld daran zu sein.
mfg
wittinobi
ich hab eben mal folgendes getestet.
in "linux-2.4.36/include/linux/mm.h" printk eingefügt (zeile 661-664):
Code: Alles auswählen
/* ensure a non-privileged process is not trying to mmap lower pages */
if (address < mmap_min_addr && !capable(CAP_SYS_RAWIO))
{
printk("[KERNEL] lowmen patch [IN] [EPERM] [1] mm.h (zeile 663)\n");
return -EPERM;
}
Code: Alles auswählen
/* Ensure a non-privileged process is not trying to map
* lower pages.
*/
if (addr < mmap_min_addr && !capable(CAP_SYS_RAWIO))
{
printk("[KERNEL] lowmen patch [IN] [EPERM] [1] mmap.c (zeile 665)\n");
return -EPERM;
}
Code: Alles auswählen
if (addr < mmap_min_addr && !capable(CAP_SYS_RAWIO))
{
printk("[KERNEL] lowmen patch [IN] [ENOMEM] [1] mmap.c (zeile 680)\n");
return -ENOMEM;
}
Code: Alles auswählen
/* Ensure a non-privileged process is not trying to map
* lower pages.
*/
if (new_addr < mmap_min_addr && !capable(CAP_SYS_RAWIO))
{
printk("[KERNEL] lowmen patch [IN] [EPERM] [1] mremap.c (zeile 281)\n");
return -EPERM;
}
Code: Alles auswählen
Initializing RT netlink socket
Starting kswapd
devfs: v1.12c (20020818) Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x1
JFFS2 version 2.2. (NAND) (C) 2001-2003 Red Hat, Inc.
squashfs: version 3.0 (2006/03/15) Phillip Lougher
i2c-core.o: i2c core module version 2.6.1 (20010830)
i2c-dev.o: i2c /dev entries driver module version 2.6.1 (20010830)
CPM UART driver version 0.04
ttyS0 at 0x0280 is on SMC1 using BRGttyS1 at 0x0380 is on SMC2 using BRG2
pty: 256 Unix98 ptys configured
eth0: CPM ENET Version 0.2.dbox2 on SCC2, 00:50:9c:12:a7:d1
loop: loaded (max 8 devices)
D-Box 2 flash driver (size->0x800000 mem->0x10000000)
D-Box 2 flash memory: Found 2 x16 devices at 0x0 in 32-bit bank
Intel/Sharp Extended Query Table at 0x0035
cfi_cmdset_0001: Erase suspend on write enabled
Creating 6 MTD partitions on "D-Box 2 flash memory":
0x00000000-0x00020000 : "BR bootloader"
0x00020000-0x00040000 : "FLFS (U-Boot)"
0x00040000-0x004a0000 : "root (SquashFS)"
0x004a0000-0x00800000 : "var (JFFS2)"
0x00020000-0x00800000 : "Flash without bootloader"
0x00000000-0x00800000 : "Complete Flash"
Linux video capture interface: v1.00
mice: PS/2 mouse device common for all mice
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of C00DA050 SP: C01F1C20 REGS: c01f<4>Oops: kernel
access of bad area, sig: 11
NIP: C00DA08C XER: 8000907F LR: DAR: D38B5626, DSISR: C0000000
1b70 TRAP: 0300 Not tainted
MSR: 00009032 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11
00000000
TASK = c01f0000[1] 'swapper' Last syscall: 120
last math 00000000 last altivec GPR08: C0180000 C0160000 D38B55AGPR00: 0E16A000
C01F1C20 C01F0000 00000000 0000F011 015C65E5 00000000 C1F7A200
4 00000000 00001032 C0160000 C01A C017FF8C 55303033 00031B58 01FFAB00 00000001
GPR16: FFFFFFFF 007FFF00 01FF5238DCB6 C0A8DCF7
F1CD8 00000109
Call backtrace: C1F65080 00000000 00000000 C1F7A200 00000002 C0A
C1F1D000 C00DCCC4 C00CB57C C00CB698 C00CB7FC C0014AB0 C0003C24
C0155328 C00022A0
C000511C
C0002AA0 00000000 C000F8A8 C000FB3C C000FD80 C015486C C0154B0C
ng
Kernel panic: Aiee, killing interrupt handler!
In interrupt handler - not syncig
direkt danach nochmals tasten-reset an der box:
Code: Alles auswählen
debug: DDF: Calibrating delay loop... debug: DD
F: 67.79 BogoMIPS
debug: BMon V1.0 mID 01
debug: feID dd gtxID 0b
debug: fpID 5a dsID xx-xx.xx.xx.xx.xx.xx-xx
debug: HWrev X5 SWrev 0.81
debug: B/Ex/Fl(MB) 16/16/08
WATCHDOG reset enabled
dbox2:root> debug:
BOOTP/TFTP bootstrap loader (v0.3)
debug:
debug: Transmitting BOOTP request via broadcast
debug: Given up BOOTP/TFTP boot
boot net failed
Flash-FS bootstrap loader (v1.5)
Found Flash-FS superblock version 3.1
Found file /root/platform/nokia-dbox2/kernel/os in Flash-FS
debug: Got Block #0036
will verify ELF image, start= 0x800000, size= 162988
verify sig: 262
Branching to 0x40000
U-Boot 1.2.0 (Tuxbox) (Jan 19 2008 - 18:59:54)
CPU: PPC823ZTnnA at 67.200 MHz: 2 kB I-Cache 1 kB D-Cache
*** Warning: CPU Core has Silicon Bugs -- Check the Errata ***
Board: DBOX2, Nokia, BMon V1.0
Watchdog enabled
I2C: ready
DRAM: 32 MB
FLASH: 8 MB
Scanning JFFS2 FS: . done.
env: found "console"
env: found "lcd_inverse"
env: found "lcd_contrast"
FB: ready
LCD: ready
In: serial
Out: serial
Err: serial
Net: SCC ETHERNET
Options:
1: Console on null
2: Console on ttyS0
3: Console on framebuffer
Select option (1-3), other keys to stop autoboot: 0
### FS (squashfs) loading 'vmlinuz' to 0x100000
### FS load complete: 669745 bytes loaded to 0x100000
............................................................... done
Un-Protected 63 sectors
## Booting image at 00100000 ...
Image Name: dbox2
Image Type: PowerPC Linux Kernel Image (gzip compressed)
Data Size: 669681 Bytes = 654 kB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
Linux version 2.4.36-dbox2 (two1@two1) (gcc version 3.4.6) #10 So 20. Jan 22:58:
41 CET 2008
On node 0 totalpages: 8192
zone(0): 8192 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: console=ttyS0,9600 root=/dev/mtdblock2 rootfstype=squashfs
Decrementer Frequency = 252000000/60
m8xx_wdt: active wdt found (SWTC: 0xFFFF, SWP: 0x1)
m8xx_wdt: keep-alive trigger installed (PITC: 0x1000)
Console: colour dummy device 80x25
Calibrating delay loop... 66.96 BogoMIPS
Memory: 30824k available (1140k kernel code, 344k data, 60k init, 0k highmem)
Dentry cache hash table entries: 4096 (order: 3, 32768 bytes)
Inode cache hash table entries: 2048 (order: 2, 16384 bytes)
Mount cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer cache hash table entries: 1024 (order: 0, 4096 bytes)
Page-cache hash table entries: 8192 (order: 3, 32768 bytes)
POSIX conformance testing by UNIFIX
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd
devfs: v1.12c (20020818) Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x1
JFFS2 version 2.2. (NAND) (C) 2001-2003 Red Hat, Inc.
squashfs: version 3.0 (2006/03/15) Phillip Lougher
i2c-core.o: i2c core module version 2.6.1 (20010830)
i2c-dev.o: i2c /dev entries driver module version 2.6.1 (20010830)
CPM UART driver version 0.04
ttyS0 at 0x0280 is on SMC1 using BRGttyS1 at 0x0380 is on SMC2 using BRG2
pty: 256 Unix98 ptys configured
eth0: CPM ENET Version 0.2.dbox2 on SCC2, 00:50:9c:12:a7:d1
loop: loaded (max 8 devices)
D-Box 2 flash driver (size->0x800000 mem->0x10000000)
D-Box 2 flash memory: Found 2 x16 devices at 0x0 in 32-bit bank
Intel/Sharp Extended Query Table at 0x0035
cfi_cmdset_0001: Erase suspend on write enabled
Creating 6 MTD partitions on "D-Box 2 flash memory":
0x00000000-0x00020000 : "BR bootloader"
0x00020000-0x00040000 : "FLFS (U-Boot)"
0x00040000-0x004a0000 : "root (SquashFS)"
0x004a0000-0x00800000 : "var (JFFS2)"
0x00020000-0x00800000 : "Flash without bootloader"
0x00000000-0x00800000 : "Complete Flash"
Linux video capture interface: v1.00
mice: PS/2 mouse device common for all mice
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 2048 bind 4096)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
VFS: Mounted root (squashfs filesystem) readonly.
Mounted devfs on /dev
Freeing unused kernel memory: 60k init
init started: BusyBox v1.7.2 (2008-01-19 19:05:25 CET)
event: $Id: event.c,v 1.12 2003/09/30 05:45:38 obi Exp $
[i2c-8xx]: mpc 8xx i2c init
[i2c-8xx]: adapter: 0
Detected STB:
Vendor: Nokia
Model: D-BOX2
$Id: cam.c,v 1.30 2004/01/10 16:36:34 alexw Exp $
cam: no firmware file found
$Id: avia_napi.c,v 1.18 2003/11/24 09:53:01 obi Exp $
DVB: registering new adapter (C-Cube AViA GTX/eNX with AViA 500/600).
dvb_i2c_bridge: enabled DVB i2c bridge to PowerPC 8xx I2C adapter
$Id: cam_napi.c,v 1.8 2003/09/30 05:45:34 obi Exp $
ifup: can't open '/var/run/ifstate': No such file or directory
avia_av: $Id: avia_av_core.c,v 1.99 2006/01/08 21:36:22 carjay Exp $
avia_av_core.c: avia_av_firmware_read: Unable to load '/var/tuxbox/ucodes/avia50
0.ux'.
avia_av: microcode not found, setting up dummy
avia_av_proc: $Id: avia_av_proc.c,v 1.15 2007/07/29 18:14:12 papst Exp $
avia_gt_core: $Id: avia_gt_core.c,v 1.48 2004/12/20 01:01:22 carjay Exp $
avia_gt_core: autodetecting chip type... GTX
avia_gt_gtx: $Id: avia_gt_gtx.c,v 1.24 2003/09/30 05:45:35 obi Exp $
avia_gt_accel: $Id: avia_gt_accel.c,v 1.19 2003/09/30 05:45:35 obi Exp $
avia_gt_dmx: $Id: avia_gt_dmx.c,v 1.210 2004/06/26 16:08:15 carjay Exp $
avia_gt_core: masking unhandled irq reg 1 bit 11
avia_gt_core: masking unhandled irq reg 1 bit 13
avia_gt_ucode: loaded ucode v0014
avia_gt_ucode: ucode section filters enabled.
avia_gt_dmx: warning, misaligned queue 0 (is 0xFD200, size 65536), aligning...
avia_gt_gv: $Id: avia_gt_gv.c,v 1.39 2004/08/28 16:44:56 carjay Exp $
avia_gt_gv: set_input_size (width=720, height=576)
avia_gt_pcm: $Id: avia_gt_pcm.c,v 1.29 2004/01/29 19:38:20 zwen Exp $
avia_gt_pcm_set_rate(44100)
avia_gt_capture: $Id: avia_gt_capture.c,v 1.32 2003/09/30 05:45:35 obi Exp $
avia_gt_pig: $Id: avia_gt_pig.c,v 1.40 2003/09/30 05:45:35 obi Exp $
avia_gt_vbi: $Id: avia_gt_vbi.c,v 1.26 2003/08/01 17:31:22 obi Exp $
avia_gt_core: Loaded AViA eNX/GTX driver
avia_gt_fb: $Id: avia_gt_fb_core.c,v 1.54 2004/03/17 18:42:18 zwen Exp $
avia_gt_gv: set_input_mode (mode=2)
avia_gt_gv: set_input_size (width=720, height=576)
avia_gt_gv: set_input_mode (mode=2)
avia_gt_gv: set_input_size (width=720, height=576)
avia_gt_gv: set_input_mode (mode=2)
avia_gt_gv: set_input_size (width=720, height=576)
Console: switching to colour frame buffer device 82x32
avia_gt_fb: fb0: AViA eNX/GTX Framebuffer frame buffer device
lcd.o: init lcd driver module
lcd.o: found KS0713/SED153X lcd interface
avia_gt_lirc: $Id: avia_gt_lirc.c,v 1.14 2003/09/30 05:45:35 obi Exp $
avia_gt_ir: $Id: avia_gt_ir.c,v 1.30 2003/09/30 05:45:35 obi Exp $
avia_oss: $Id: avia_gt_oss.c,v 1.26 2004/05/31 22:56:02 carjay Exp $
avia_gt_pcm_set_rate(44100)
avia_gt_v4l2: $Id: avia_gt_v4l2.c,v 1.12 2003/09/30 04:54:03 obi Exp $
DVB: registering frontend 0:0 (VES1893)...
avia_av_napi.c: $Id: avia_av_napi.c,v 1.33 2004/03/11 15:30:27 derget Exp $
avia_gt_napi: $Id: avia_gt_napi.c,v 1.203 2005/01/05 05:49:56 carjay Exp $
...usw.
der fehler vom ersten booten kam danach nicht mehr.
danach lief alles normal (auf den ersten blick).
mir scheint auch das timing schuld daran zu sein.
mfg
wittinobi
-
- Einsteiger
- Beiträge: 116
- Registriert: Montag 29. März 2004, 22:00
Re: [Problem] aktueller CVS Stand
huhu,
hab für meinen teil die optimale lösung gefunden.
ich muss einfach nur in der datei "linux-2.4.36/mm/mmap.c" folgende änderung machen.
aus dem hier (zeile 663):
wir das hier:
damit rennt bei mir alles wieder wie gewohnt.
warum ? ...kein plan, aber funktioniert.
mfg
wittinobi
hab für meinen teil die optimale lösung gefunden.
ich muss einfach nur in der datei "linux-2.4.36/mm/mmap.c" folgende änderung machen.
aus dem hier (zeile 663):
Code: Alles auswählen
if (addr < mmap_min_addr && !capable(CAP_SYS_RAWIO))
return -EPERM;
Code: Alles auswählen
if (addr < mmap_min_addr && !capable(CAP_SYS_RAWIO)) {
/* need more time, ...plz check */
printk("[KERNEL] lowmem patch fix [mmap.c zeile 665]\n");
return -EPERM;
}
warum ? ...kein plan, aber funktioniert.
mfg
wittinobi
-
- Einsteiger
- Beiträge: 204
- Registriert: Dienstag 12. März 2002, 07:40
Re: [Problem] aktueller CVS Stand
Ich verstehe bei dieser mmap-Geschichte so einiges nicht.
Warum gibt es auf einigen Boxen anscheinend ein Timing-Problem, wenn diese if-Abfragen aktiv sind? Wenn ich diese Abfragen auskommentiere läuft auf diesen Boxen alles normal.
Warum gibt es dieses Problem nur bei Selbstcompilaten einiger User? Nehme ich z.B. ein Image von DietmarW, das ja imho unverändert aus dem CVS gebaut wird, habe ich jedenfalls dieses Problem nicht.
Kann dieses vermeintliche Timingproblem vielleicht daran liegen, dass ich ein minimales System baue (ohne IDE, ohne EXT3, ohne XFS, ohne NFSSERVER)? Die bekannten öffentlichen Image-Bauer haben imho zumindest einige dieser Zusätze im Kernel aktiviert.
Ich habe heute Nacht einen Hardcore-Test gemacht und mit einer meiner Problem-Nokias (mmap-Zeilen auskommentiert) mehrere Filme auf einen NFS-Server im Netz aufgenommen. Die Box lief ohne Probleme durch und alle Filme wurden ohne Aussetzer aufgenommen.
Steffi
Warum gibt es auf einigen Boxen anscheinend ein Timing-Problem, wenn diese if-Abfragen aktiv sind? Wenn ich diese Abfragen auskommentiere läuft auf diesen Boxen alles normal.
Warum gibt es dieses Problem nur bei Selbstcompilaten einiger User? Nehme ich z.B. ein Image von DietmarW, das ja imho unverändert aus dem CVS gebaut wird, habe ich jedenfalls dieses Problem nicht.
Kann dieses vermeintliche Timingproblem vielleicht daran liegen, dass ich ein minimales System baue (ohne IDE, ohne EXT3, ohne XFS, ohne NFSSERVER)? Die bekannten öffentlichen Image-Bauer haben imho zumindest einige dieser Zusätze im Kernel aktiviert.
Ich habe heute Nacht einen Hardcore-Test gemacht und mit einer meiner Problem-Nokias (mmap-Zeilen auskommentiert) mehrere Filme auf einen NFS-Server im Netz aufgenommen. Die Box lief ohne Probleme durch und alle Filme wurden ohne Aussetzer aufgenommen.
Steffi
Zuletzt geändert von Steffi am Montag 21. Januar 2008, 10:11, insgesamt 1-mal geändert.
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: [Problem] aktueller CVS Stand
So langsam riecht das nach einem Compilerfehler oder etwas ähnlichem.
Da offensichtlich der Watchdog auslöst sollte man mal untersuchen, warum dieser Watchdog-reset-interrupt nicht aufgerufen wird (oder ob er zwar aufgerufen wird, aber den Watchdog nicht resettet, warum auch immer). Vielleicht brauchen diese Watchdog-writes ja etwas mehr als nur "volatile", vielleicht wollen die ja eine explizite memory barrier. Mit ppc kenne ich mich da aber noch weniger aus, als mit "Industriestandard"-Architekturen.
Da offensichtlich der Watchdog auslöst sollte man mal untersuchen, warum dieser Watchdog-reset-interrupt nicht aufgerufen wird (oder ob er zwar aufgerufen wird, aber den Watchdog nicht resettet, warum auch immer). Vielleicht brauchen diese Watchdog-writes ja etwas mehr als nur "volatile", vielleicht wollen die ja eine explizite memory barrier. Mit ppc kenne ich mich da aber noch weniger aus, als mit "Industriestandard"-Architekturen.
-
- Einsteiger
- Beiträge: 204
- Registriert: Dienstag 12. März 2002, 07:40
Re: [Problem] aktueller CVS Stand
Aber warum haben dann mehrere Leute diesen Compilerfehler? Und warum baut der Compiler anscheinend genau an der gleichen Stelle Mist?
Ich werde es heute abend mal mit einem Suse 10.1-System versuchen.
Ich werde es heute abend mal mit einem Suse 10.1-System versuchen.
-
- Einsteiger
- Beiträge: 133
- Registriert: Sonntag 6. April 2003, 18:26
Re: [Problem] aktueller CVS Stand
Das sit ja das merkwürdige ! Ich sag ja ich baue mindestens alle 3 Tage ein Image zusammen und habe diese Probs nicht beim Bau meines Squashfs Image ! ( Suse 10.2 ) Also es ist echt komisch !Steffi hat geschrieben:Aber warum haben dann mehrere Leute diesen Compilerfehler? Und warum baut der Compiler anscheinend genau an der gleichen Stelle Mist?
Ich werde es heute abend mal mit einem Suse 10.1-System versuchen.
-
- Einsteiger
- Beiträge: 116
- Registriert: Montag 29. März 2004, 22:00
Re: [Problem] aktueller CVS Stand
was für tools haben denn die leute installiert, bei denen dieser fehler nicht auftritt ?
bisher haben sich nur diejenigen gemeldet die den fehler haben.
und komischerweise haben wir die gleichen tools installiert.
ich würd da gerne mal was an meinem system ändern, hab aber so noch keinen plan wo ich anfangen soll.
mfg
wittinobi
bisher haben sich nur diejenigen gemeldet die den fehler haben.
und komischerweise haben wir die gleichen tools installiert.
ich würd da gerne mal was an meinem system ändern, hab aber so noch keinen plan wo ich anfangen soll.
mfg
wittinobi
-
- Einsteiger
- Beiträge: 204
- Registriert: Dienstag 12. März 2002, 07:40
Re: [Problem] aktueller CVS Stand
Wenn ich gerade neu ins Imagebauen einsteigen würde, könnte ich mir das noch erklären. Aber ich erstelle mir seit Jahren meine Images selbst - immer mit der gleichen Entwicklungsumgebung - und hatte noch nie Probleme, die ich nicht irgendwie selbst lösen konnte.
Diese Probleme mit dem Kernel 2.4.36 lassen mich allmählich an meinem Verstand zweifeln.
Diese Probleme mit dem Kernel 2.4.36 lassen mich allmählich an meinem Verstand zweifeln.
-
- Erleuchteter
- Beiträge: 600
- Registriert: Samstag 14. Oktober 2006, 10:53
Re: [Problem] aktueller CVS Stand
Nee, da haste was falsch verstanden. Ich habe weiter oben meine Tools gepostet (identisch mit Deinen, wenn ich mich richtig erinnere) und bei mir klappt alles einwandfrei. Keine Probleme, keine Reboots, alles okay. (SquashFS / Newmake / ybuild) Allerdings habe ich noch die eine oder andere Änderung mit drin... (z.B. diverse Updates in rules-archive/rules-make, die nicht im CVS sind)wittinobi hat geschrieben:was für tools haben denn die leute installiert, bei denen dieser fehler nicht auftritt ?
bisher haben sich nur diejenigen gemeldet die den fehler haben.
und komischerweise haben wir die gleichen tools installiert.
Hier war's: http://forum.tuxbox-cvs.sourceforge.net ... 07#p351207
-
- Erleuchteter
- Beiträge: 450
- Registriert: Sonntag 28. Juli 2002, 01:18
Re: [Problem] aktueller CVS Stand
Die die Probleme haben, können die Archive ja mal neu auschecken, vielleicht war da mal ein "schwarzer Peter" beim Auschecken bei.
-
- Einsteiger
- Beiträge: 116
- Registriert: Montag 29. März 2004, 22:00
Re: [Problem] aktueller CVS Stand
huch ok, dank dir.
hmm, dann weiss ich nimmer weiter.
und für die "watchdog-geschichte" reicht mein wissen definitiv auch nicht aus.
naja muss ich halt in zukunft diesen einen printk in mmap.c reinpatchen, ist ja auch nicht die welt.
aber trotzdem, ...seltsam, seltsam.
hmm, dann weiss ich nimmer weiter.
und für die "watchdog-geschichte" reicht mein wissen definitiv auch nicht aus.
naja muss ich halt in zukunft diesen einen printk in mmap.c reinpatchen, ist ja auch nicht die welt.
aber trotzdem, ...seltsam, seltsam.
-
- Einsteiger
- Beiträge: 116
- Registriert: Montag 29. März 2004, 22:00
Re: [Problem] aktueller CVS Stand
naja, es wurde ja auch schon der ausgepackte und compilierte kernel gedifft und verglichen.AudioSlyer hat geschrieben:Die die Probleme haben, können die Archive ja mal neu auschecken, vielleicht war da mal ein "schwarzer Peter" beim Auschecken bei.
dann wäre das doch da schon aufgefallen, oder nicht ?
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: [Problem] aktueller CVS Stand
Ja, wäre es.wittinobi hat geschrieben:naja, es wurde ja auch schon der ausgepackte und compilierte kernel gedifft und verglichen.
dann wäre das doch da schon aufgefallen, oder nicht ?
Das ist irgendein "Dreckeffekt". Dummerweise sieht es so aus, als ob er durch total unzusammenhängende Änderungen auftaucht und auch wieder verschwindet (deine printk's, die ja nie triggern, ändern wohl nix am timing, aber der Code liegt evtl. anders im Speicher). Insofern ist das sehr schwer zu finden.
Ich persönlich würde drauf tippen, daß das mit dem IO-Zugriff im watchdog-Treiber über "volatile" nicht ganz korrekt ist. Das ist aber nur eine Vermutung, ich habe da keine Ahnung von.
-
- Einsteiger
- Beiträge: 362
- Registriert: Mittwoch 14. Dezember 2005, 03:25
Re: [Problem] aktueller CVS Stand
Hi
verstehe von dem wdt auch nicht viel, was passiert wenn man das speiziale dbox wdt_reset() aus der time.c rausnimmt, evtl das wdt_reset und wdt_get_time_out bleibt weiter von der ppc_ksym.c weiter geführt, habe's auf nicht problem Box probiert und es bootet durch, wdt wird initialisiert wie immer.
verstehe von dem wdt auch nicht viel, was passiert wenn man das speiziale dbox wdt_reset() aus der time.c rausnimmt, evtl das wdt_reset und wdt_get_time_out bleibt weiter von der ppc_ksym.c weiter geführt, habe's auf nicht problem Box probiert und es bootet durch, wdt wird initialisiert wie immer.
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: [Problem] aktueller CVS Stand
probiert's mal damit:
Wenn ich das richtig verstanden habe (und wenn meine Kollegen meine Laienhafte Problembeschreibung verstanden haben ) dann sagt "volatile" nämlich dem Compiler nur, daß der Wert jedes mal neu aus dem "Speicher" (oder I/O-Port) gelesen werden muß, und daß dieser Lesezugriff nicht wegoptimiert werden darf. Über's Schreiben sagt volatile hingegen nichts, und das tun wir hier. Also sollte "barrier();" sicherstellen, daß der Wert auch tatsächlich im Watchdog ankommt. Hoffentlich
Code: Alles auswählen
diff -rup linux-2.4.36-broken/arch/ppc/kernel/m8xx_wdt.c linux-2.4.36/arch/ppc/kernel/m8xx_wdt.c
--- linux-2.4.36-broken/arch/ppc/kernel/m8xx_wdt.c 2008-01-01 13:06:40.000000000 +0100
+++ linux-2.4.36/arch/ppc/kernel/m8xx_wdt.c 2008-01-21 15:24:50.000000000 +0100
@@ -33,7 +33,9 @@ m8xx_wdt_reset(void)
volatile immap_t *imap = (volatile immap_t *) IMAP_ADDR;
imap->im_siu_conf.sc_swsr = 0x556c; /* write magic1 */
+ barrier();
imap->im_siu_conf.sc_swsr = 0xaa39; /* write magic2 */
+ barrier();
}
static void
-
- Einsteiger
- Beiträge: 226
- Registriert: Mittwoch 22. August 2001, 00:00
Re: [Problem] aktueller CVS Stand
nein, einmal mit "alten Archiven" dieses Rebootimage bekommen, das gleiche mit "neuen Archiven"AudioSlyer hat geschrieben:Die die Probleme haben, können die Archive ja mal neu auschecken, vielleicht war da mal ein "schwarzer Peter" beim Auschecken bei.
Re: [Problem] aktueller CVS Stand
@wittinobi
Hi,
ich kann nicht beurteilen, ob Dein Workaround was "sinnvolles" oder "korrektes" ist.
(die Änderung in mmap.c meine ich)
Aber damit funktioniert es bei mir auch wieder ganz normal (bei squashfs und auch bei jffs2 Images).
MfG
Hi,
ich kann nicht beurteilen, ob Dein Workaround was "sinnvolles" oder "korrektes" ist.
(die Änderung in mmap.c meine ich)
Aber damit funktioniert es bei mir auch wieder ganz normal (bei squashfs und auch bei jffs2 Images).
MfG
-
- Einsteiger
- Beiträge: 116
- Registriert: Montag 29. März 2004, 22:00
Re: [Problem] aktueller CVS Stand
huhu,seife hat geschrieben:probiert's mal damit:Wenn ich das richtig verstanden habe (und wenn meine Kollegen meine Laienhafte Problembeschreibung verstanden haben ) dann sagt "volatile" nämlich dem Compiler nur, daß der Wert jedes mal neu aus dem "Speicher" (oder I/O-Port) gelesen werden muß, und daß dieser Lesezugriff nicht wegoptimiert werden darf. Über's Schreiben sagt volatile hingegen nichts, und das tun wir hier. Also sollte "barrier();" sicherstellen, daß der Wert auch tatsächlich im Watchdog ankommt. HoffentlichCode: Alles auswählen
diff -rup linux-2.4.36-broken/arch/ppc/kernel/m8xx_wdt.c linux-2.4.36/arch/ppc/kernel/m8xx_wdt.c --- linux-2.4.36-broken/arch/ppc/kernel/m8xx_wdt.c 2008-01-01 13:06:40.000000000 +0100 +++ linux-2.4.36/arch/ppc/kernel/m8xx_wdt.c 2008-01-21 15:24:50.000000000 +0100 @@ -33,7 +33,9 @@ m8xx_wdt_reset(void) volatile immap_t *imap = (volatile immap_t *) IMAP_ADDR; imap->im_siu_conf.sc_swsr = 0x556c; /* write magic1 */ + barrier(); imap->im_siu_conf.sc_swsr = 0xaa39; /* write magic2 */ + barrier(); } static void
hab das eben mal getestet.
leider kein erfolg, reboots bleiben.
mfg
wittinobi