Hello All,
I am working on porting Fiasco.OC to openrisc (or1k), but are stucked at booting the kernel. The problem is that the addr in boot_info.kernel_start is pointing to the beginning of the bootsrap, and therefore it will not start the kernel. In startup.cc there is the mbi, mb_info and mb_mod, which I suppose is the place where the addr is coming from. But where is it set exactly?
For or1k IMAGE_MODE is used. The output of the bootstrapping is at the end.
Thanks a lot for the help, Tobias
" Loading fiasco [0x1103000-0x1104000] [0x1104000-0x11040ac] [0x11040ac-0x112c340] [0x112c340-0x1134468] [0x1135000-0x1135a84] [0x1135a84-0x1136000] boot_info.kernel_start 100 Loading sigma0 [0x100000-0x107ff4] [0x108000-0x10c17c] Loading foo find kernel info page... found kernel info page at 0x1103000 Regions of list 'regions' [ 100, 1d403] { 1d304} Boot bootstrap [ 128ac, 1291e] { 73} Boot mbi [ 17000, 171ab] { 1ac} Root Multiboot info [ 1d058, 1d0af] { 58} Boot mbi [ 100000, 10c17b] { c17c} Sigma0 sigma0 [ 1100000, 11001d3] { 1d4} Root Module [ 1103000, 1135fff] { 33000} Kern fiasco API Version: (87) experimental Sigma0 config ip:00100344 sp:0001b040 Roottask config ip:00000000 sp:00000000 Starting kernel fiasco at 00000100 "
Hi,
On Tue Oct 07, 2014 at 13:29:24 +0000, Wölfel, Tobias wrote:
I am working on porting Fiasco.OC to openrisc (or1k), but are stucked at booting the kernel. The problem is that the addr in boot_info.kernel_start is pointing to the beginning of the bootsrap, and therefore it will not start the kernel. In startup.cc there is the mbi, mb_info and mb_mod, which I suppose is the place where the addr is coming from. But where is it set exactly?
It is set in bootstrap by looking at the ELF info of the file. What's the entry point of the binary (readelf -h fiasco)?
Adam
Hi,
On Tue Oct 07, 2014 at 13:29:24 +0000, Wölfel, Tobias wrote:
I am working on porting Fiasco.OC to openrisc (or1k), but are stucked at booting the kernel. The problem is that the addr in boot_info.kernel_start is pointing to the beginning of the bootstrap, and therefore it will not start the kernel. In startup.cc there is the mbi, mb_info and mb_mod, which I suppose is the place where the addr is coming from. But where is it set exactly?
It is set in bootstrap by looking at the ELF info of the file. What's the entry point of the binary (readelf -h fiasco)?
It is at 0x100. That is also the value which I found with readelf. But when fiasco is linked into bootstrap, that's not where it will be. When bootstraping, it will be moved to a different location in memory? But then the starting addr should be something else?
Thanks, Tobias
Hi,
On Thu Oct 09, 2014 at 13:47:48 +0000, Wölfel, Tobias wrote:
On Tue Oct 07, 2014 at 13:29:24 +0000, Wölfel, Tobias wrote:
I am working on porting Fiasco.OC to openrisc (or1k), but are stucked at booting the kernel. The problem is that the addr in boot_info.kernel_start is pointing to the beginning of the bootstrap, and therefore it will not start the kernel. In startup.cc there is the mbi, mb_info and mb_mod, which I suppose is the place where the addr is coming from. But where is it set exactly?
It is set in bootstrap by looking at the ELF info of the file. What's the entry point of the binary (readelf -h fiasco)?
It is at 0x100. That is also the value which I found with readelf. But when fiasco is linked into bootstrap, that's not where it will be. When bootstraping, it will be moved to a different location in memory? But then the starting addr should be something else?
It's true that when the fiasco image is embedded into the bootstrap image, it is at a different location. But for actually running it it is moved to the location where it was linked to. So I think you need to adapt the final link address of the fiasco binary to a position that works in your setup.
Adam
l4-hackers@os.inf.tu-dresden.de