
Hi Hannes,
On Mon, Sep 28, 2015 at 5:28 PM, Hannes Schmelzer Hannes.Schmelzer@br-automation.com wrote:
Hi Hannes,
Hi,
On Mon, Sep 28, 2015 at 5:17 PM, Hannes Schmelzer Hannes.Schmelzer@br-automation.com wrote:
Hi Hannes,
Hi Bin, thanks for reply.
On Mon, Sep 28, 2015 at 4:33 PM, Hannes Schmelzer oe5hpm@oevsv.at
wrote:
Since we don't have for sure a valid IP-setup during board_late_init(...) because it maybe allready stored in
environment
or
not, we cannot form a proper vxWorks bootline at this place.
So we move to the way, forming the bootline just before executing/launching vxWorks with "go <address>". At this time we have a valid IP-setup for sure because it is either
in
environment or defined through CONFIG_PREBOOT command.
To do this, we overload the __weak function "do_go_exec(...)" with
our
own and do the job.
Signed-off-by: Hannes Schmelzer oe5hpm@oevsv.at
I don't understand the technical details here on this board, but can we use the generic 'bootvx' command to handle the VxWorks bootline?
At first i had a look to this, but unfortunately it is not useable for
my
case, because we are passing serveral things more through the bootline to our vxWorks kernel. Especially o=... contains several information like framebuffer
address,
factory-settings address and so on. Further we have FTP-Filesystem, so we pass additional arguments ( u=vxWorksFTP pw=vxWorks).
Could you please try this patch series [1] instead?
With that series, we can construct VxWorks bootline from U-Boot env. Like you can store your additional bootline info to U-Boot env variable "othbootargs", like
=> setenv othbootargs u=vxWorksFTP pw=vxWorks o=fb_addr=xxx
factory_setting=yyy I will have a closer look to this. The framebuffer base is stored at this time in gd->fb_base
sprintf(vxworksbootline, "%s h=%s e=%s:%s g=%s %s o=0x%08x;0x%08x;0x%08x;0x%08x", DEFAULT_BOOTLINE, getenv("serverip"), getenv("ipaddr"), getenv("netmask"), getenv("gatewayip"), VXWORKS_USER, (unsigned int) gd->fb_base-0x20, (u32)getenv_ulong("vx_memtop", 16, gd->fb_base-0x20), (u32)getenv_ulong("vx_romfsbase", 16, 0), (u32)getenv_ulong("vx_romfssize", 16, 0));
do you thank that i cal realize a bootline like this with current tools?
Yes, I think you can do something like setenv("othbootargs", addtional_bootlines) where addtional_bootlines holds the value for frame buffer address from gd->fb_base.
Regards, Bin