* Problem with cuImage Linux entry from old U-boot
@ 2008-07-21 20:39 Stephen Horton
2008-07-22 18:05 ` Scott Wood
0 siblings, 1 reply; 5+ messages in thread
From: Stephen Horton @ 2008-07-21 20:39 UTC (permalink / raw)
To: linuxppc-embedded
[-- Attachment #1: Type: text/plain, Size: 8742 bytes --]
Hello folks,
As I have posted recently before, in a current work project, I have
inherited a compactPCI board that has an mpc7447/7448 powerpc processor
as well as a Marvell system controller, model mv64462 (stripped down
mv64460). The board has a somewhat working Gentoo Linux port running on
it from long ago and a company far far away (kernel version 2.6.9 built
using arch/ppc). To prepare for an upcoming deployment, I would like to
bring the OS up-to-date on this board with a newer kernel (targeting
2.6.24r3).
I have made great strides with help from this mailing list and its
archives. I now have a compiled cuImage ready to boot from my older
working u-boot 1.1.2. I now seem to be stuck at the kernel entry point.
I'm not sure if I'm trying to jump into the kernel at the wrong address,
or if I have a serial console issue that prevents me from seeing anymore
progress. Here is my output:
debug> bootm
## Booting image at 00800000 ...
Image Name: Linux-2.6.24-gentoo-r3
Image Type: PowerPC Linux Kernel Image (gzip compressed)
Data Size: 1515921 Bytes = 1.4 MB
Load Address: 00400000
Entry Point: 0040095c
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
## Transferring control to Linux (at address 0040095c) ...
Memory <- <0x0 0x10000000> (256MB)
ENET0: local-mac-address <- 00:a0:d6:62:38:89
CPU clock-frequency <- 0x3b9ac9d8 (1000MHz)
CPU timebase-frequency <- 0x27bc86a (42MHz)
CPU bus-frequency <- 0x9ef21aa (167MHz)
zImage starting: loaded at 0x00400000 (sp: 0x0febfa38)
Allocating 0x35f040 bytes for kernel ...
gunzipping (0x00000000 <- 0x0040d000:0x00735db0)...done 0x312b34 bytes
Linux/PowerPC load: ip=bootp root=/dev/nfs rw nfsroot=/opt/gentoo
console=ttyMM0,9600n8
Finalizing device tree... flat tree at 0x7423a0
------
If I run 'nm' on my elf image, I expect to find some entry point address
that corresponds to 0x7423a0, but this is not the case. See nm output
below. Does anyone know what I might be doing wrong?
[root@blade3 boot]# nm cuImage.giganew.elf
00736060 b alloc_min
00736058 b alloc_tbl
00400838 T backwards_memcpy
0073606c b bd
00736000 b bridge_base
00736000 A __bss_start
00736010 b chr1
00736014 b chr2
0040aadc d cmdline
00741ee0 B console_ops
00404620 t copy_val
00736018 b cpcr
00736004 b cpld_base
004060f4 t cpm1_cmd
00406174 t cpm2_cmd
00736028 b cpm_cmd
00405d84 T cpm_console_init
00406440 t cpm_serial_getc
00406334 t cpm_serial_open
004062c0 t cpm_serial_putc
00405d3c t cpm_serial_tstc
00405c60 T cuboot_init
00741c14 b cxt
0040a1e4 d dbase.1092
0040a1a4 d dext.1093
0073603c b disable_port
00741d30 b discard_buf.1378
00409922 d distfix.1169
004022e8 T __div64_32
00736034 b do_cmd
0040c098 A _dtb_end
0040ace0 A _dtb_start
00404c38 T dt_fixup_clock
00404cbc T dt_fixup_cpu_clocks
00404aec T dt_fixup_mac_address
00404b7c T __dt_fixup_mac_addresses
00404dec T dt_fixup_memory
00404500 T dt_get_reg_format
00404584 T dt_is_compatible
00741ef4 B dt_ops
00404684 t dt_xlate
00404a00 T dt_xlate_addr
00404a80 T dt_xlate_reg
00736000 A _edata
00736038 b enable_port
00742000 A _end
00408c98 A _etext
00400108 t exit
00401640 t exit
00402420 t exit
004044c4 t exit
00401cac t fdtm_create_node
00401c10 t fdtm_finalize
00401de4 t fdtm_finddevice
00401c54 t fdtm_find_node_by_prop_value
00401cf4 t fdtm_get_parent
00401bc0 t fdtm_get_path
00401d8c t fdtm_getprop
00401d34 t fdtm_setprop
00400000 t finddevice
00401e28 t finddevice
0040430c t finddevice
004050b8 t find_node_by_devtype
004000b0 t find_node_by_prop_value
0040446c t find_node_by_prop_value
0040092c T flush_cache
004073ac T ft_add_rsvmap
004077d4 T ft_begin
00408024 T ft_begin_node
004078b0 T ft_begin_tree
004080c4 T ft_create_node
004072d8 T ft_del_prop
004069b0 T ft_end_node
00406b7c T ft_end_tree
00407428 T ft_find_descendent
004075ec T ft_find_device
004079f0 T __ft_find_node_by_prop_value
00407af8 T ft_find_node_by_prop_value
00407b88 T __ft_get_parent
00407c74 T ft_get_parent
004078c4 T ft_get_path
00406890 t ft_get_phandle
00406ab4 t __ft_get_prop
00406e4c T ft_get_prop
00401b24 T ft_init
00406f48 t ft_make_space
004069d4 t ft_next
0040690c t ft_node_ph2node
00406938 t ft_node_update_after
004081b4 T ft_nop
00407674 T ft_open
00407cdc T ft_prop
00407f84 T ft_prop_int
00407fc8 T ft_prop_str
00406edc t ft_put_bin
00407e44 T ft_set_prop
00406c78 t ft_shuffle
00404414 t get_parent
00400058 t getprop
00401e80 t getprop
00404364 t getprop
00404fec t getprop
004057e8 t getprop
00405ce4 t getprop
0040820c t getprop
0040023c t giganew_fixups
00400530 t giganew_reset
0040aadc D __got2_end
0040a6e0 D __got2_start
004025dc T gunzip_discard
00402574 T gunzip_exactly
0040251c T gunzip_finish
0040245c T gunzip_partial
0040264c T gunzip_start
007364a4 b gzstate
00408804 T inflate_fast
00736000 A _initrd_end
00736000 A _initrd_start
0040a262 d lbase.1090
004099a2 d lenfix.1168
0040a224 d lext.1091
00741eb0 B loader_info
004008dc T memchr
00400904 T memcmp
00400780 T memcpy
00400778 T memmove
0040071c T memset
0040650c T mpc5200_psc_console_init
00736008 b mpsc_base
004058e8 T mpsc_console_init
00405a68 t mpsc_getc
00405840 t mpsc_get_virtreg_of_phandle
0073600c b mpscintr_base
00405b64 t mpsc_open
00405ae4 t mpsc_putc
00405c14 t mpsc_tstc
00736030 b muram_offset
0073602c b muram_start
0040520c T mv64x60_cfg_read
004052f8 T mv64x60_cfg_write
00405288 T mv64x60_config_cpu2pci_window
004055cc T mv64x60_config_ctlr_windows
00405408 T mv64x60_config_pci_windows
0040a4a4 d mv64x60_cpu2mem
0040a6a0 D mv64x60_cpu2pci_io
0040a6c0 D mv64x60_cpu2pci_mem
0040a59c d mv64x60_dram_selects
0040a5ac d mv64x60_enet2mem
00405134 T mv64x60_get_bridge_base
004051a0 T mv64x60_get_bridge_pbase
0040536c T mv64x60_get_mem_size
0040a60c d mv64x60_idma2mem
00405044 T mv64x60_is_coherent
0040a5dc d mv64x60_mpsc2mem
0040a564 d mv64x60_pci2mem
0040a584 d mv64x60_pci2reg
0040a4d4 d mv64x60_pci_acc
0040a63c d mv64x60_pci_cfgio
00736064 b next_base
00406980 t next_start
004082c0 T ns16550_console_init
004083f0 t ns16550_getc
00408264 t ns16550_open
00408464 t ns16550_putc
00408394 t ns16550_tstc
00400abc t number
004098fc d order.1221
0073601c b param
00402854 T parse_elf32
004027b4 T parse_elf64
00400144 T platform_init
00741ec4 B platform_ops
w _platform_stack_top
004014c8 T printf
00741db0 b prop_buf
00736048 b psc
00406614 t psc_getc
004064b0 t psc_open
004065b8 t psc_putc
004064c0 t psc_tstc
00736040 B rbdf
0073604c b reg_base
00736050 b reg_base
00736054 b reg_shift
00736024 b scc
00406258 t scc_disable_port
004061f0 t scc_enable_port
00741d1c b serial_cd
00401f84 t serial_close
00401fd4 T serial_console_init
004021a8 t serial_edit_cmdline
00401ed8 t serial_open
00401f20 t serial_write
004015e8 t setprop
004043bc t setprop
0040868c T simple_alloc_init
004085d4 t simple_find_entry
00408658 t simple_free
004084d0 t simple_malloc
00408754 t simple_realloc
00400a78 t skip_atoi
00736020 b smc
0040608c t smc_disable_port
00406024 t smc_enable_port
00736068 b space_left
007360a4 b sprint_buf
00401574 T sprintf
0040167c T start
00400000 A _start
0040aadc A __start___builtin_cmdline
0040acdc A __stop___builtin_cmdline
0040066c T strcat
00400698 T strchr
004006b8 T strcmp
00400628 T strcpy
00400704 T strlen
004006dc T strncmp
00400644 T strncpy
00400a44 T strnlen
00736044 B tbdf
0073605c b tbl_entries
0040a69c D timebase_period_ns
004066c4 T uartlite_console_init
004067d0 t uartlite_getc
00406678 t uartlite_open
00406834 t uartlite_putc
00406784 t uartlite_tstc
00402384 T udelay
004023b0 t .udelay_not_601
00735db0 A _vmlinux_end
0040d000 A _vmlinux_start
00400dd4 T vsprintf
00400968 W _zimage_start
00400968 T _zimage_start_lib
00400958 T _zimage_start_opd
004028f4 t zlib_adler32
00402dc0 T zlib_inflate
00402bb4 T zlib_inflateEnd
00402cf8 T zlib_inflateIncomp
00402b1c T zlib_inflateInit2
00402a90 T zlib_inflateReset
00403dd4 T zlib_inflate_table
00402a7c T zlib_inflate_workspacesize
00402be0 t zlib_updatewindow
[-- Attachment #2: Type: text/html, Size: 42482 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Problem with cuImage Linux entry from old U-boot
2008-07-21 20:39 Problem with cuImage Linux entry from old U-boot Stephen Horton
@ 2008-07-22 18:05 ` Scott Wood
2008-07-22 18:13 ` Mike Timmons
2008-07-22 19:23 ` Stephen Horton
0 siblings, 2 replies; 5+ messages in thread
From: Scott Wood @ 2008-07-22 18:05 UTC (permalink / raw)
To: Stephen Horton; +Cc: linuxppc-embedded
On Mon, Jul 21, 2008 at 03:39:55PM -0500, Stephen Horton wrote:
> I have made great strides with help from this mailing list and its
> archives. I now have a compiled cuImage ready to boot from my older
> working u-boot 1.1.2. I now seem to be stuck at the kernel entry point.
> I'm not sure if I'm trying to jump into the kernel at the wrong address,
> or if I have a serial console issue that prevents me from seeing anymore
> progress.
Most likely the latter, or some other issue that prevents the kernel from
booting to the point where the serial console functions.
> Linux/PowerPC load: ip=bootp root=/dev/nfs rw nfsroot=/opt/gentoo
> console=ttyMM0,9600n8
> Finalizing device tree... flat tree at 0x7423a0
>
>
>
> ------
>
>
>
> If I run 'nm' on my elf image, I expect to find some entry point address
> that corresponds to 0x7423a0, but this is not the case.
Why would you expect that? It's a dynamically allocated chunk of memory
that holds the device tree that is passed to the kernel. It's not an entry
point; the entry point to the kernel is zero.
-Scott
^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: Problem with cuImage Linux entry from old U-boot
2008-07-22 18:05 ` Scott Wood
@ 2008-07-22 18:13 ` Mike Timmons
2008-07-22 18:20 ` Scott Wood
2008-07-22 19:23 ` Stephen Horton
1 sibling, 1 reply; 5+ messages in thread
From: Mike Timmons @ 2008-07-22 18:13 UTC (permalink / raw)
To: Scott Wood, Stephen Horton; +Cc: linuxppc-embedded
Related question: I'm using a newer U-boot and managing the load of the
kernel and the device tree from separate partitions of my boot media.
Having the two partitions and managing the kernel and the tree
separately is a bit cumbersome, or maybe I'm just lazy. Regardless, can
I just use that "static" file name option when I build the kernel, load
the cuImage, and just invoke=20
bootm <cuImageLoadAddress> ?
Will it work to just leave off the - <device tree Ram address>
I think I had it set-p right yesterday and I gave it a try, but no joy.
Can it be this simple to statically link the device tree with the kernel
build? For my application I don't see a benefit in keeping them separate
(the kernel and the tree).
Thanks,
Mike
-----Original Message-----
From: linuxppc-embedded-bounces+mike_timmons=3Dtrimble.com@ozlabs.org
[mailto:linuxppc-embedded-bounces+mike_timmons=3Dtrimble.com@ozlabs.org]
On Behalf Of Scott Wood
Sent: Tuesday, July 22, 2008 1:05 PM
To: Stephen Horton
Cc: linuxppc-embedded@ozlabs.org
Subject: Re: Problem with cuImage Linux entry from old U-boot
On Mon, Jul 21, 2008 at 03:39:55PM -0500, Stephen Horton wrote:
> I have made great strides with help from this mailing list and its
> archives. I now have a compiled cuImage ready to boot from my older
> working u-boot 1.1.2. I now seem to be stuck at the kernel entry
point.
> I'm not sure if I'm trying to jump into the kernel at the wrong
address,
> or if I have a serial console issue that prevents me from seeing
anymore
> progress.
Most likely the latter, or some other issue that prevents the kernel
from
booting to the point where the serial console functions.
> Linux/PowerPC load: ip=3Dbootp root=3D/dev/nfs rw =
nfsroot=3D/opt/gentoo
> console=3DttyMM0,9600n8
> Finalizing device tree... flat tree at 0x7423a0
>=20
> =20
>=20
> ------
>=20
> =20
>=20
> If I run 'nm' on my elf image, I expect to find some entry point
address
> that corresponds to 0x7423a0, but this is not the case.=20
Why would you expect that? It's a dynamically allocated chunk of memory
that holds the device tree that is passed to the kernel. It's not an
entry
point; the entry point to the kernel is zero.
-Scott
_______________________________________________
Linuxppc-embedded mailing list
Linuxppc-embedded@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-embedded
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Problem with cuImage Linux entry from old U-boot
2008-07-22 18:13 ` Mike Timmons
@ 2008-07-22 18:20 ` Scott Wood
0 siblings, 0 replies; 5+ messages in thread
From: Scott Wood @ 2008-07-22 18:20 UTC (permalink / raw)
To: Mike Timmons; +Cc: Stephen Horton, linuxppc-embedded
Mike Timmons wrote:
> Related question: I'm using a newer U-boot and managing the load of the
> kernel and the device tree from separate partitions of my boot media.
>
> Having the two partitions and managing the kernel and the tree
> separately is a bit cumbersome, or maybe I'm just lazy. Regardless, can
> I just use that "static" file name option when I build the kernel, load
> the cuImage, and just invoke
>
> bootm <cuImageLoadAddress> ?
>
> Will it work to just leave off the - <device tree Ram address>
>
> I think I had it set-p right yesterday and I gave it a try, but no joy.
>
> Can it be this simple to statically link the device tree with the kernel
> build? For my application I don't see a benefit in keeping them separate
> (the kernel and the tree).
Yes, you can use cuImage to bundle the device tree with the kernel (note
that the type of image you use *must* match the type of bootm command
you use), though it's not recommended if you have a u-boot that can
properly pass a device tree. cuImage relies on the bd_t to get
information from u-boot, and this is a very fragile structure, and
contains less information than the device tree.
-Scott
^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: Problem with cuImage Linux entry from old U-boot
2008-07-22 18:05 ` Scott Wood
2008-07-22 18:13 ` Mike Timmons
@ 2008-07-22 19:23 ` Stephen Horton
1 sibling, 0 replies; 5+ messages in thread
From: Stephen Horton @ 2008-07-22 19:23 UTC (permalink / raw)
To: Scott Wood; +Cc: linuxppc-embedded
Thanks Scott for the tip. I'll redouble my efforts to compare the code
in my older 1.1.2 U-boot source (that the board boots from) with my new
.dts and cuboot source.
-----Original Message-----
From: Scott Wood [mailto:scottwood@freescale.com]=20
Sent: Tuesday, July 22, 2008 1:05 PM
To: Stephen Horton
Cc: linuxppc-embedded@ozlabs.org
Subject: Re: Problem with cuImage Linux entry from old U-boot
On Mon, Jul 21, 2008 at 03:39:55PM -0500, Stephen Horton wrote:
> I have made great strides with help from this mailing list and its
> archives. I now have a compiled cuImage ready to boot from my older
> working u-boot 1.1.2. I now seem to be stuck at the kernel entry
point.
> I'm not sure if I'm trying to jump into the kernel at the wrong
address,
> or if I have a serial console issue that prevents me from seeing
anymore
> progress.
Most likely the latter, or some other issue that prevents the kernel
from
booting to the point where the serial console functions.
> Linux/PowerPC load: ip=3Dbootp root=3D/dev/nfs rw =
nfsroot=3D/opt/gentoo
> console=3DttyMM0,9600n8
> Finalizing device tree... flat tree at 0x7423a0
>=20
> =20
>=20
> ------
>=20
> =20
>=20
> If I run 'nm' on my elf image, I expect to find some entry point
address
> that corresponds to 0x7423a0, but this is not the case.=20
Why would you expect that? It's a dynamically allocated chunk of memory
that holds the device tree that is passed to the kernel. It's not an
entry
point; the entry point to the kernel is zero.
-Scott
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2008-07-22 19:23 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-07-21 20:39 Problem with cuImage Linux entry from old U-boot Stephen Horton
2008-07-22 18:05 ` Scott Wood
2008-07-22 18:13 ` Mike Timmons
2008-07-22 18:20 ` Scott Wood
2008-07-22 19:23 ` Stephen Horton
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).