Quantcast

octeon: ksyms: Symbol table not valid

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

octeon: ksyms: Symbol table not valid

Oliver Marugg
Hi
Just installed 6.1-beta from snapshot Mar 14 on Edgerouter Lite 3 with
original U-Boot.
Loaded bootcmd 'usb reset; fatload usb 0 $loadaddr bsd; bootoctlinux
rootdev=sd0 coremask=0x3'

1. Installation just went through with the new installion routine as
described in INSTALL.octeon. Many thanks!

2.  Used Snapshot OpenBSD 6.1-beta (GENERIC) #0: Tue Mar 14 21:24:42 UTC
2017
screen during boot showed me those errors:

...
/dev/ksyms: Symbol table not valid.
savecore: /bsd: kvm_read: version misread
kvm_mkdb: can't open /dev/ksyms
...
full dmesg below

Does this happen because of U-Boot ksyms(4) because of bug in mmap(2)?

3. I set coremask=0x3 to boot mp, in dmseg only 1 cpu is shown, but its
a dual core.
Tried with a changed bootcmd to bsd.mp
bootcmd 'usb reset; fatload usb 0 $loadaddr bsd.mp; bootoctlinux
rootdev=sd0 coremask=0x3'
No success for second core shown. Switched back to bsd, that works.

-oliver

-- dmesg ----

OpenBSD 6.1-beta (GENERIC) #0: Tue Mar 14 21:24:42 UTC 2017
     visa@octeon:/usr/src/sys/arch/octeon/compile/GENERIC
real mem = 536870912 (512MB)
avail mem = 524238848 (499MB)
warning: no entropy supplied by boot loader
mainbus0 at root
cpu0 at mainbus0: CN50xx CPU rev 0.1 500 MHz, Software FP emulation
cpu0: cache L1-I 32KB 4 way D 8KB 64 way, L2 128KB 8 way
clock0 at mainbus0: int 5
iobus0 at mainbus0
dwctwo0 at iobus0 base 0x1180068000000 irq 56
usb0 at dwctwo0: USB revision 2.0
uhub0 at usb0 configuration 1 interface 0 "Octeon DWC2 root hub" rev
2.00/1.00 addr 1
octrng0 at iobus0 base 0x1400000000000 irq 0
cn30xxgmx0 at iobus0 base 0x1180008000000
cnmac0 at cn30xxgmx0: RGMII, address 04:18:d6:83:1c:5d
atphy0 at cnmac0 phy 7: AR8035 10/100/1000 PHY, rev. 2
cnmac1 at cn30xxgmx0: RGMII, address 04:18:d6:83:1c:5e
atphy1 at cnmac1 phy 6: AR8035 10/100/1000 PHY, rev. 2
cnmac2 at cn30xxgmx0: RGMII, address 04:18:d6:83:1c:5f
atphy2 at cnmac2 phy 5: AR8035 10/100/1000 PHY, rev. 2
uartbus0 at mainbus0
com0 at uartbus0 base 0x1180000000800 irq 34: ns16550a, 64 byte fifo
com0: console
com1 at uartbus0 base 0x1180000000c00 irq 35: ns16550a, 64 byte fifo
/dev/ksyms: Symbol table not valid.
umass0 at uhub0 port 1 configuration 1 interface 0 "SanDisk Cruzer Fit"
rev 2.10/1.00 addr 2
umass0: using SCSI over Bulk-Only
scsibus0 at umass0: 2 targets, initiator 0
sd0 at scsibus0 targ 1 lun 0: <SanDisk, Cruzer Fit, 1.00> SCSI4 0/direct
removable serial.07815571271129122290
sd0: 15264MB, 512 bytes/sector, 31260672 sectors
vscsi0 at root
scsibus1 at vscsi0: 256 targets
softraid0 at root
scsibus2 at softraid0: 256 targets
boot device: sd0
root on sd0a (59b18176ad90ac10.a) swap on sd0b dump on sd0b
WARNING: No TOD clock, believing file system.
WARNING: CHECK AND RESET THE DATE!

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: octeon: ksyms: Symbol table not valid

Visa Hankala-2
On Fri, Mar 17, 2017 at 10:16:59PM +0100, Oliver Marugg wrote:

> 2.  Used Snapshot OpenBSD 6.1-beta (GENERIC) #0: Tue Mar 14 21:24:42 UTC
> 2017
> screen during boot showed me those errors:
>
> ...
> /dev/ksyms: Symbol table not valid.
> savecore: /bsd: kvm_read: version misread
> kvm_mkdb: can't open /dev/ksyms
> ...
> full dmesg below
>
> Does this happen because of U-Boot ksyms(4) because of bug in mmap(2)?

The behaviour is normal on this system. U-Boot does not preserve
the kernel's symbol table.

> 3. I set coremask=0x3 to boot mp, in dmseg only 1 cpu is shown, but its
> a dual core.
> Tried with a changed bootcmd to bsd.mp
> bootcmd 'usb reset; fatload usb 0 $loadaddr bsd.mp; bootoctlinux
> rootdev=sd0 coremask=0x3'
> No success for second core shown. Switched back to bsd, that works.

Are you sure you tried the correct kernel?

Octeon ubnt_e100# bootoctlinux rootdev=sd0 coremask=3
...
OpenBSD 6.1-beta (GENERIC.MP) #0: Tue Mar 14 21:35:59 UTC 2017
    visa@octeon:/usr/src/sys/arch/octeon/compile/GENERIC.MP
real mem = 536870912 (512MB)
avail mem = 524173312 (499MB)
warning: no entropy supplied by boot loader
mainbus0 at root
cpu0 at mainbus0: CN50xx CPU rev 0.1 500 MHz, Software FP emulation
cpu0: cache L1-I 32KB 4 way D 8KB 64 way, L2 128KB 8 way
cpu1 at mainbus0: CN50xx CPU rev 0.1 500 MHz, Software FP emulation
cpu1: cache L1-I 32KB 4 way D 8KB 64 way, L2 128KB 8 way
clock0 at mainbus0: int 5
iobus0 at mainbus0

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: octeon: ksyms: Symbol table not valid

Oliver Marugg
On 18 Mar 2017, at 11:43, Visa Hankala wrote:

> On Fri, Mar 17, 2017 at 10:16:59PM +0100, Oliver Marugg wrote:
Understood about ksyms.

>> 3. I set coremask=0x3 to boot mp, in dmseg only 1 cpu is shown, but
>> its
>
>
> Are you sure you tried the correct kernel?
>
> Octeon ubnt_e100# bootoctlinux rootdev=sd0 coremask=3

Yes I did several fresh USB installs (INSTALL.octeon-default
installation), each step I did in various combinations, also with bsd.mp
installed or not. I changed also the mirror and used 2 ERL compatible
usb sticks.

bsd.rd boot to intall
fatload usb 0 $loadaddr bsd.rd
bootoctlinux rootdev=rd0 coremask=0x3

I tried with coremask or bootctolinux only (and booted with coremask=0x3
or even 3, both tested).

setenv old_bootcmd "${bootcmd}"
setenv bootcmd 'usb reset; fatload usb 0 $loadaddr bsd; bootoctlinux
rootdev=sd0 coremask=0x3'
setenv bootdelay 5
saveenv

I tried each commands above as single commands as well as setenv as
above, I also tried with "fatload usb 0 $loadaddr bsd.mp" then "## No
elf image at address 0x09f00000" which sounds clear for me, but could be
a variant.

Also did changes after boot: mv/cp bsd.mp to bsd. Tried boot.conf and
without. Each combination with/without tested, no success to boot .MP. I
read bootconf

Core args will be loaded:
boot_desc->argv[0] = bootoctlinux
boot_desc->argv[1] = rootdev=sd0
boot_desc->argv[2] = coremask=3
Initial setup done, switching console.
boot_desc->desc_ver:7
boot_desc->desc_size:400
boot_desc->stack_top:0
boot_desc->heap_start:0
boot_desc->heap_end:0
boot_desc->argc:3
boot_desc->flags:0x5
boot_desc->core_mask:0x3


Does my Edgerouter Lite have two cores? ;-)

-oliver

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: octeon: ksyms: Symbol table not valid

Visa Hankala-2
On Sat, Mar 18, 2017 at 03:12:14PM +0100, Oliver Marugg wrote:

> Core args will be loaded:
> boot_desc->argv[0] = bootoctlinux
> boot_desc->argv[1] = rootdev=sd0
> boot_desc->argv[2] = coremask=3
> Initial setup done, switching console.
> boot_desc->desc_ver:7
> boot_desc->desc_size:400
> boot_desc->stack_top:0
> boot_desc->heap_start:0
> boot_desc->heap_end:0
> boot_desc->argc:3
> boot_desc->flags:0x5
> boot_desc->core_mask:0x3
>
>
> Does my Edgerouter Lite have two cores? ;-)

It does because the firmware lets you use coremask=0x3. If there was
only one core, the system should refuse to boot the kernel with
that parameter.

Note that U-Boot loads the kernel from a separate MSDOS partition.
You have to put the multiprocessor kernel there, and check that
GENERIC.MP shows up in dmesg. The firmware cannot read the root
filesystem because it does not understand the format.

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: octeon: ksyms: Symbol table not valid

Oliver Marugg
On 18 Mar 2017, at 17:09, Visa Hankala wrote:

>> Does my Edgerouter Lite have two cores? ;-)
>
> It does because the firmware lets you use coremask=0x3. If there was
> only one core, the system should refuse to boot the kernel with
> that parameter.
>
> Note that U-Boot loads the kernel from a separate MSDOS partition.
> You have to put the multiprocessor kernel there, and check that
> GENERIC.MP shows up in dmesg. The firmware cannot read the root
> filesystem because it does not understand the format.

Superb, works. Many thanks. Default install makes this msdos partition
but moving/copying the bsd.mp in there, I didnt realize (but is clear).
I suggest to include your advise with some additions in INSTALL.octeon
to clarify:

-- INSTALL.octeon ---
On the EdgeRouter Lite, bootcmd may also reset the USB controller for
more reliable USB device detection:

usb reset; fatload usb 0 $loadaddr bsd; bootoctlinux rootdev=sd0
coremask=0x3

Note that U-Boot loads the bsd.mp kernel from a separate MSDOS
partition. Put in the multiprocessor kernel there, and check that
GENERIC.MP shows up in dmesg. The firmware cannot read the root
filesystem because it does not understand the format.
-----

Loading...