From: "Zatkovský Dušan" <msk.conf@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] "Embedding" default script with uboot image
Date: Fri, 2 Oct 2015 11:55:03 +0200 [thread overview]
Message-ID: <560E5477.8070108@gmail.com> (raw)
In-Reply-To: <560E33BF.1030904@samsung.com>
Hi,
thx for answer.
My colleague found a way that he:
- converts txt script to u-boot form (by mkimage)
- converts uboot script to .o object ($(OBJCOPY) -I binary -O
elf32-littlearm -B arm --rename-section .data=.rodata boot_script
boot_script.o)
- then:
extern unsigned char _binary_boot_script_start;
setenv_hex("boot_script_addr", (ulong)&_binary_boot_script_start);
run_command_list("source ${boot_script_addr}", -1, 0);
Seems it works OK. Thx you and also him :D
bye
--
Dusan
D?a 2. 10. 2015 o 9:35 Przemyslaw Marczak nap?sal(a):
> Hi,
>
> On 09/30/2015 10:06 AM, Zatkovsk? Du?an wrote:
>> Really nobody?
>>
>> --
>> Dusan
>>
>> D?a 22. 9. 2015 o 14:20 Zatkovsk? Du?an nap?sal(a):
>>> Hi all,
>>>
>>> Excuse my question if it was solved somewhere in forum, but I didn't
>>> found an answer yet (maybe I can't find the right keywords).
>>>
>>> I am building the uboot with yocto for imx6 board. I have started with
>>> some freescale defaults,
>>> edited environment for my needs, saved environment etc ... Now I want
>>> to create a custom
>>> "default" boot script, that will do some "heurestics", such as "look
>>> if usb stick is present, then boot from it, else boot from emmc,
>>> etc...".
>>> Currently I am storing that script on first partition on emmc and
>>> loading it with ext2load.
>>>
>>> But it has drawbacks:
>>> - user should delete that file -> brick
>>> - user should broke entire filesystem -> brick
>>>
>>> I want this script to be "embedded" somehow with uboot image (which is
>>> placed outside partition table on device), but I didn't found any doc
>>> how to do that.
>>> Currently I use CONFIG_EXTRA_ENV_SETTINGS for some basic stuffbut it
>>> is unmaintainable for bigger scripts.
>>>
>>> Any suggestions?
>>>
>>> Thank you.
>>> --
>>> Dusan
>>>
>>
>> _______________________________________________
>> U-Boot mailing list
>> U-Boot at lists.denx.de
>> http://lists.denx.de/mailman/listinfo/u-boot
>
> The ELCE is coming, so probably people are busy.
>
> Please check those few suggestions, which can help you:
> - you can "cat" the binaries of U-Boot and your script into one binary
> - you can get the address of your script in the code with few lines:
>
> unsigned long *ptr = (unsigned long *)&_end; - start address of your DTB
>
> ptr += fdt_totalsize(ptr) >> 2; - start address of your script
>
> - you can add some header with "magic code" before your script binary
>
> - check the size limit of your u-boot binary, because your script can
> be broken if the output binary exceeds the size, which can be loaded
> to RAM by SPL.
>
> - also check if your bigger binary will not overwrite something on the
> flash layout
>
> - to execute the script at every boot, you can modify same late
> function, like autoboot_command in common/autoboot.c ?
>
> - so at this point, you can check your script's magic code - if added
>
> - run script with:
>
> char cmd[64];
>
> sprintf(cmd, "source %p", ptr);
> run_command(cmd, 0);
>
> If you add some logic for checking if the script is valid (e.g. header
> with size and crc ?), then I think you can be sure, that it will work.
>
> Best regards,
prev parent reply other threads:[~2015-10-02 9:55 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-22 12:20 [U-Boot] "Embedding" default script with uboot image Zatkovský Dušan
2015-09-30 8:06 ` Zatkovský Dušan
2015-10-02 7:35 ` Przemyslaw Marczak
2015-10-02 9:55 ` Zatkovský Dušan [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=560E5477.8070108@gmail.com \
--to=msk.conf@gmail.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox