I'm try to get a basic Genode setup working on a Beaglebone Black (TI AM335x processor). I'm using a version of u-boot specifically built for the Beaglebone Black from Robert Nelson's eewiki pages. The only modification I made was to allow for elf file commands.
Carefully following how the PandaBoard and the imx53 platforms were build I successfully built from base-hw an elf image for run/nested_init and loaded that onto an SDCard which contained the two stages of u-boot. (Previously, I had succesfuly built a helloworld test version of Fiasco.OC and successfully manually booted it from an SDCard with the same MLO and u-boot.img files. So the basic process of booting an elf image file works.)
The elf image is built to load and 0x81000000 with u-boot using the space from start of SDRAM at 0x80000000. The elf file header has an entry point address of 0x81004DC0. Booting the Beagleboard into u-boot from the SDCard, manually loading the elf image file to the load address above, and giving it a"go" command to the entry point address, I get an "application terminated" message as shown below in the console output through minicom: . . . *U-Boot# load mmc 0 0x81000000 image.elf** **reading image.elf** **604700 bytes read in 73 ms (7.9 MiB/s)** **U-Boot# go 0x81004dc0** **## Starting application at 0x81004DC0 ...** **## Application terminated, rc = 0x8108C004** **U-Boot# *
At termination, the output above shows rc to be pointed at 4 bytes beyond the start of the bss section of the image.
I would have expected to see at least some Genode core debugging messages, at least. Is core not being executed at the entry point?
I believe I have the Board_base stucture and cores cpu, pic, platform_support, timer and tlb files correctly set up for the AM335x.
Thank you for any help you can provide.
Bob Stewart
On Sun, Aug 25, 2013 at 8:18 PM, Bob Stewart <robjsstewart@...196...>wrote:
I'm try to get a basic Genode setup working on a Beaglebone Black (TI AM335x processor). I'm using a version of u-boot specifically built for the Beaglebone Black from Robert Nelson's eewiki pages. The only modification I made was to allow for elf file commands.
I would suggest taking a look at github.com/ksys-labs, we should have a tree that supports Omap3
Carefully following how the PandaBoard and the imx53 platforms were build I successfully built from base-hw an elf image for run/nested_init and loaded that onto an SDCard which contained the two stages of u-boot. (Previously, I had succesfuly built a helloworld test version of Fiasco.OC and successfully manually booted it from an SDCard with the same MLO and u-boot.img files. So the basic process of booting an elf image file works.)
The elf image is built to load and 0x81000000 with u-boot using the space from start of SDRAM at 0x80000000. The elf file header has an entry point address of 0x81004DC0. Booting the Beagleboard into u-boot from the SDCard, manually loading the elf image file to the load address above, and giving it a"go" command to the entry point address, I get an "application terminated" message as shown below in the console output through minicom: .
I would suppose you are expected to do a "bootelf 0x81000000" to let u-boot properly align the ELF sections. Otherwise, it should be possible to add the "u-boot" to build.conf flags to build an uImage. Either way, what I did was to take the image.bin.gz, ungzip it and substract 0x8000 bytes from the address. So, I loaded it to the address "0x80ff8000". Then, you can either "go" or "bootz" (if your u-boot supports it). Take a look around here for details http://allsoftwaresucks.blogspot.ru/2013/05/porting-genode-to-commercial-har...
. . *U-Boot# load mmc 0 0x81000000 image.elf** **reading image.elf** **604700 bytes read in 73 ms (7.9 MiB/s)** **U-Boot# go 0x81004dc0** **## Starting application at 0x81004DC0 ...** **## Application terminated, rc = 0x8108C004** **U-Boot# *
At termination, the output above shows rc to be pointed at 4 bytes beyond the start of the bss section of the image.
I would have expected to see at least some Genode core debugging messages, at least. Is core not being executed at the entry point?
I believe I have the Board_base stucture and cores cpu, pic, platform_support, timer and tlb files correctly set up for the AM335x.
Thank you for any help you can provide.
Bob Stewart
Introducing Performance Central, a new site from SourceForge and AppDynamics. Performance Central is your source for news, insights, analysis and resources for efficient Application Performance Management. Visit us today! http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clk... _______________________________________________ Genode-main mailing list Genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
2013/8/25 Alexander Tarasikov <alexander.tarasikov@...9...>
On Sun, Aug 25, 2013 at 8:18 PM, Bob Stewart <robjsstewart@...196...>wrote:
I'm try to get a basic Genode setup working on a Beaglebone Black (TI AM335x processor). I'm using a version of u-boot specifically built for the Beaglebone Black from Robert Nelson's eewiki pages. The only modification I made was to allow for elf file commands.
I would suggest taking a look at github.com/ksys-labs, we should have a tree that supports Omap3
Also you can look at https://github.com/decaprox/genode/tree/am33xx Add "uboot" string to etc/specs.conf file in your build directory for build uimage
Carefully following how the PandaBoard and the imx53 platforms were build I successfully built from base-hw an elf image for run/nested_init and loaded that onto an SDCard which contained the two stages of u-boot. (Previously, I had succesfuly built a helloworld test version of Fiasco.OC and successfully manually booted it from an SDCard with the same MLO and u-boot.img files. So the basic process of booting an elf image file works.)
The elf image is built to load and 0x81000000 with u-boot using the space from start of SDRAM at 0x80000000. The elf file header has an entry point address of 0x81004DC0. Booting the Beagleboard into u-boot from the SDCard, manually loading the elf image file to the load address above, and giving it a"go" command to the entry point address, I get an "application terminated" message as shown below in the console output through minicom: .
I would suppose you are expected to do a "bootelf 0x81000000" to let u-boot properly align the ELF sections. Otherwise, it should be possible to add the "u-boot" to build.conf flags to build an uImage. Either way, what I did was to take the image.bin.gz, ungzip it and substract 0x8000 bytes from the address. So, I loaded it to the address "0x80ff8000". Then, you can either "go" or "bootz" (if your u-boot supports it). Take a look around here for details
http://allsoftwaresucks.blogspot.ru/2013/05/porting-genode-to-commercial-har...
. . *U-Boot# load mmc 0 0x81000000 image.elf** **reading image.elf** **604700 bytes read in 73 ms (7.9 MiB/s)** **U-Boot# go 0x81004dc0** **## Starting application at 0x81004DC0 ...** **## Application terminated, rc = 0x8108C004** **U-Boot# *
At termination, the output above shows rc to be pointed at 4 bytes beyond the start of the bss section of the image.
I would have expected to see at least some Genode core debugging messages, at least. Is core not being executed at the entry point?
I believe I have the Board_base stucture and cores cpu, pic, platform_support, timer and tlb files correctly set up for the AM335x.
Thank you for any help you can provide.
Bob Stewart
Introducing Performance Central, a new site from SourceForge and AppDynamics. Performance Central is your source for news, insights, analysis and resources for efficient Application Performance Management. Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clk... _______________________________________________ Genode-main mailing list Genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
-- Regards, Alexander
Introducing Performance Central, a new site from SourceForge and AppDynamics. Performance Central is your source for news, insights, analysis and resources for efficient Application Performance Management. Visit us today! http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clk... _______________________________________________ Genode-main mailing list Genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
On 08/25/2013 01:56 PM, Alexander Tarasikov wrote:
On Sun, Aug 25, 2013 at 8:18 PM, Bob Stewart <robjsstewart@...196... mailto:robjsstewart@...196...> wrote:
I'm try to get a basic Genode setup working on a Beaglebone Black (TI AM335x processor). I'm using a version of u-boot specifically built for the Beaglebone Black from Robert Nelson's eewiki pages. The only modification I made was to allow for elf file commands.
I would suggest taking a look at github.com/ksys-labs http://github.com/ksys-labs, we should have a tree that supports Omap3
Carefully following how the PandaBoard and the imx53 platforms were build I successfully built from base-hw an elf image for run/nested_init and loaded that onto an SDCard which contained the two stages of u-boot. (Previously, I had succesfuly built a helloworld test version of Fiasco.OC and successfully manually booted it from an SDCard with the same MLO and u-boot.img files. So the basic process of booting an elf image file works.) The elf image is built to load and 0x81000000 with u-boot using the space from start of SDRAM at 0x80000000. The elf file header has an entry point address of 0x81004DC0. Booting the Beagleboard into u-boot from the SDCard, manually loading the elf image file to the load address above, and giving it a"go" command to the entry point address, I get an "application terminated" message as shown below in the console output through minicom: .
I would suppose you are expected to do a "bootelf 0x81000000" to let u-boot properly align the ELF sections. Otherwise, it should be possible to add the "u-boot" to build.conf flags to build an uImage. Either way, what I did was to take the image.bin.gz, ungzip it and substract 0x8000 bytes from the address. So, I loaded it to the address "0x80ff8000". Then, you can either "go" or "bootz" (if your u-boot supports it). Take a look around here for details http://allsoftwaresucks.blogspot.ru/2013/05/porting-genode-to-commercial-har...
. . *U-Boot# load mmc 0 0x81000000 image.elf** **reading image.elf** **604700 bytes read in 73 ms (7.9 MiB/s)** **U-Boot# go 0x81004dc0** **## Starting application at 0x81004DC0 ...** **## Application terminated, rc = 0x8108C004** **U-Boot# * At termination, the output above shows rc to be pointed at 4 bytes beyond the start of the bss section of the image. I would have expected to see at least some Genode core debugging messages, at least. Is core not being executed at the entry point? I believe I have the Board_base stucture and cores cpu, pic, platform_support, timer and tlb files correctly set up for the AM335x. Thank you for any help you can provide. Bob Stewart ------------------------------------------------------------------------------ Introducing Performance Central, a new site from SourceForge and AppDynamics. Performance Central is your source for news, insights, analysis and resources for efficient Application Performance Management. Visit us today! http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk _______________________________________________ Genode-main mailing list Genode-main@lists.sourceforge.net <mailto:Genode-main@lists.sourceforge.net> https://lists.sourceforge.net/lists/listinfo/genode-main
-- Regards, Alexander
Introducing Performance Central, a new site from SourceForge and AppDynamics. Performance Central is your source for news, insights, analysis and resources for efficient Application Performance Management. Visit us today! http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clk...
Thanks for the reply Alexander. I'll build it with the u-boot in spec.conf and try loading the uImage. "bootelf" on the loadaddr resulted in a data abort crash.
Bob
Genode-main mailing list Genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
On 08/25/2013 02:15 PM, Nikolay Golikov wrote:
2013/8/25 Alexander Tarasikov <alexander.tarasikov@...9... mailto:alexander.tarasikov@...9...>
On Sun, Aug 25, 2013 at 8:18 PM, Bob Stewart <robjsstewart@...196... <mailto:robjsstewart@...196...>> wrote: I'm try to get a basic Genode setup working on a Beaglebone Black (TI AM335x processor). I'm using a version of u-boot specifically built for the Beaglebone Black from Robert Nelson's eewiki pages. The only modification I made was to allow for elf file commands. I would suggest taking a look at github.com/ksys-labs <http://github.com/ksys-labs>, we should have a tree that supports Omap3
Also you can look at https://github.com/decaprox/genode/tree/am33xx Add "uboot" string to etc/specs.conf file in your build directory for build uimage
Carefully following how the PandaBoard and the imx53 platforms were build I successfully built from base-hw an elf image for run/nested_init and loaded that onto an SDCard which contained the two stages of u-boot. (Previously, I had succesfuly built a helloworld test version of Fiasco.OC and successfully manually booted it from an SDCard with the same MLO and u-boot.img files. So the basic process of booting an elf image file works.) The elf image is built to load and 0x81000000 with u-boot using the space from start of SDRAM at 0x80000000. The elf file header has an entry point address of 0x81004DC0. Booting the Beagleboard into u-boot from the SDCard, manually loading the elf image file to the load address above, and giving it a"go" command to the entry point address, I get an "application terminated" message as shown below in the console output through minicom: . I would suppose you are expected to do a "bootelf 0x81000000" to let u-boot properly align the ELF sections. Otherwise, it should be possible to add the "u-boot" to build.conf flags to build an uImage. Either way, what I did was to take the image.bin.gz, ungzip it and substract 0x8000 bytes from the address. So, I loaded it to the address "0x80ff8000". Then, you can either "go" or "bootz" (if your u-boot supports it). Take a look around here for details http://allsoftwaresucks.blogspot.ru/2013/05/porting-genode-to-commercial-hardware.html . . *U-Boot# load mmc 0 0x81000000 image.elf** **reading image.elf** **604700 bytes read in 73 ms (7.9 MiB/s)** **U-Boot# go 0x81004dc0** **## Starting application at 0x81004DC0 ...** **## Application terminated, rc = 0x8108C004** **U-Boot# * At termination, the output above shows rc to be pointed at 4 bytes beyond the start of the bss section of the image. I would have expected to see at least some Genode core debugging messages, at least. Is core not being executed at the entry point? I believe I have the Board_base stucture and cores cpu, pic, platform_support, timer and tlb files correctly set up for the AM335x. Thank you for any help you can provide. Bob Stewart ------------------------------------------------------------------------------ Introducing Performance Central, a new site from SourceForge and AppDynamics. Performance Central is your source for news, insights, analysis and resources for efficient Application Performance Management. Visit us today! http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk _______________________________________________ Genode-main mailing list Genode-main@lists.sourceforge.net <mailto:Genode-main@lists.sourceforge.net> https://lists.sourceforge.net/lists/listinfo/genode-main -- Regards, Alexander ------------------------------------------------------------------------------ Introducing Performance Central, a new site from SourceForge and AppDynamics. Performance Central is your source for news, insights, analysis and resources for efficient Application Performance Management. Visit us today! http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk _______________________________________________ Genode-main mailing list Genode-main@lists.sourceforge.net <mailto:Genode-main@lists.sourceforge.net> https://lists.sourceforge.net/lists/listinfo/genode-main
Introducing Performance Central, a new site from SourceForge and AppDynamics. Performance Central is your source for news, insights, analysis and resources for efficient Application Performance Management. Visit us today! http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clk...
Thanks for the reply, Nikolay. I appreciate the link to the am33xx tree. I try the uImage and see if that works. I better try to understand what that 0x8000 offset adjustment Alexander mentioned is doing as I do see why the bootelf won't work.
Bob.
Genode-main mailing list Genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
From the run script, I can see that every application is started by the <strat> </start>
can I decide which applicaton is started first, which is started seconde and which is no started? Can i decide the order of applications started dynamically?
Hello,
From the run script, I can see that every application is started by the <strat> </start> can I decide which applicaton is started first, which is started seconde and which is no started?
all subsystems specified in the '<start>' nodes are started in parallel. The only point for which the order of the entries is important is the assignment of RAM quota. If the specified amount of RAM exceeds the RAM available of init, init will assign its remaining amount to the child. All subsequent '<start>' entries won't receive any RAM. If you specifly an overly large amount of RAM to last entry, the corresponding subsystem will get all remaining unused RAM resources.
For which reason do you need a specific start order?
Can i decide the order of applications started dynamically?
There are several ways:
demo/src/app/launchpad: Graphical launcher of Genode subsystems that runs directly on the Nitpicker GUI server.
libports/src/app/qt5/qt_launchpad: Qt5-based version of launchpad.
os/src/app/cli_monitor: Command-line-based tool for starting and killing subsystems.
os/src/server/loader: Service for starting and stopping subsystems driven by a client program.
You will find ready-to-use run scripts for each of those mechanisms in their respective '<repository>/run/' directories.
Regards Norman
hi, At 2013-08-27 16:29:24,"Norman Feske" <norman.feske@...1...> wrote:
Hello,
From the run script, I can see that every application is started by the <strat> </start> can I decide which applicaton is started first, which is started seconde and which is no started?
all subsystems specified in the '<start>' nodes are started in parallel. The only point for which the order of the entries is important is the assignment of RAM quota. If the specified amount of RAM exceeds the RAM available of init, init will assign its remaining amount to the child. All subsequent '<start>' entries won't receive any RAM. If you specifly an overly large amount of RAM to last entry, the corresponding subsystem will get all remaining unused RAM resources.
For which reason do you need a specific start order?
Can i decide the order of applications started dynamically?
What i want to do is that I want to use an applicaton to start another application. For example, I have two application, named applicaton A and application B. I just want to use application A to start application B, what can i do?
From the source code of genode, I know the init('os/src/init/main.cc') start all the application in the config file. After starting all the applications, the init process waits for the sign of the config file changed. Can i change the config file dynamically to make one applicaton to start another applicaton? For example, First, I use a the config file with only application A. so that the init process can start the application A. After the init process starts all the applications in the config file, application A changes the config file to make the config file contains with the applicaton B, then the init process gets the signal of config file changed, and start application B?
Hello,
What i want to do is that I want to use an applicaton to start another application. For example, I have two application, named applicaton A and application B. I just want to use application A to start application B, what can i do?
there are several ways to do that. You could start B as a child process of A. Alternatively, you could use the "Loader" service to let A start B. A would be the client of the loader and B would then be a child process of the loader. You can find an example for using both techniques at 'os/src/test/failsafe'. There is also a ready-to-use run script at 'os/run/failsafe.run'.
From the source code of genode, I know the init('os/src/init/main.cc') start all the application in the config file. After starting all the applications, the init process waits for the sign of the config file changed. Can i change the config file dynamically to make one applicaton to start another applicaton? For example, First, I use a the config file with only application A. so that the init process can start the application A. After the init process starts all the applications in the config file, application A changes the config file to make the config file contains with the applicaton B, then the init process gets the signal of config file changed, and start application B?
Init is indeed capable to respond to configuration changes. The first instance of init (started directly by core) is meant to have a static configuration. But you can spawn futher instances of init and supply their respective configurations dynamically. To explore the mechanism for suppling dynamic configurations to processes, you might find the examples at 'os/src/dynamic_config/' useful. There are the following run scripts available for experimentation, located at 'os/run':
'dynamic_config.run': A program obtains its config from a ROM service that updates the configuration at runtime.
'dynamic_config_slave.run': Program A starts program B as a child process and pushes configuration updates to B. B responds to those updates.
'dynamic_config_loader.run': Program A starts program B via the loader and supplies configuration updates via the loader session.
Regards Norman