Login
Username:

Password:

Remember me



Lost Password?

Register now!
Main Menu
Who's Online
15 user(s) are online (14 user(s) are browsing Forum)

Members: 0
Guests: 15

more...

Browsing this Thread:   1 Anonymous Users



« 1 (2) 3 4 5 ... 12 »


Re: Native port for Raspberry Pi

Joined:
2008/2/5 6:58
From Sunny Finland
Group:
Member
Posts: 870
Offline
Phew, finally!

Making kernel-kernel in rom/kernel
Compiling rom/kernel/kernel_panic.c
Compiling rom/kernel/kernel_mm.c
Compiling rom/kernel/allocpages.c
Compiling rom/kernel/freepages.c
Compiling rom/kernel/initmemory.c
Compiling rom/kernel/statmemory.c
Building AROS/Devs/kernel.resource ...

Now some "sudo rm -rf's"

Posted on: 2012/11/5 13:57
Transfer the post to other applications Transfer


Re: Native port for Raspberry Pi

Joined:
2012/1/25 8:06
Group:
Member
Posts: 20
Offline
Great Job!

Unless you are targeting linux-hosted you still need the boot code. Fortunately RPi firmware is ELF aware so you can just try to get away with some simple code. Fortunately you don't have tricky initialization stuff like PCI bus etc (although GPIO drivers for AROS would be extremely cool).

The big problem will be GPU driver obviously and only userland RPC has been made opensource recently which is not that helpful after all.

Anyway I think this is great project and I keep my fingers crossed.

Posted on: 2012/11/5 14:32
Transfer the post to other applications Transfer


Re: Native port for Raspberry Pi

Joined:
2008/2/5 6:58
From Sunny Finland
Group:
Member
Posts: 870
Offline
Well... I would not hold my breath unless dear Doktor makes this happen, he has done a great job regarding Arm port, I wouldn't even know where to start otherwise.

RPi uses some closed source loaders and at some point it loads a binary blob named "kernel.img" at 0x8000, at that point there would be a rudimentary Aros alive. If one wants to use the SD-card then there would have to be a driver for the interface and a fat filesystem handler (SD-card has to be formatted to fat filesystem)

Boot code and kernel are now linked together and made into that binary blob, just for starters.

Posted on: 2012/11/5 16:37
Transfer the post to other applications Transfer


Re: Native port for Raspberry Pi

Joined:
2008/2/5 6:58
From Sunny Finland
Group:
Member
Posts: 870
Offline
Well, it runs and runs and runs....

[BOOT] AROS for Raspberry Pi bootstrap
[BOOT] Bootstrap @ 00008000-000a8e18
[BOOT] Topmost address for kernel: 3f372000
[BOOT] getElfSize(0000b014): ro=00000000, rw=00000000
[BOOT] Physical address of kernel: 3f372000
[BOOT] Virtual address of kernel: 3f372000
[BOOT] loadElf(0000b014)
[BOOT] Kernel taglist contains 75 entries
[BOOT] Bootstrap wasted 0 bytes of memory for kernels use
[BOOT] Heading over to AROS kernel @ 3f[BOOT] AROS for Raspberry Pi bootstrap
[BOOT] Bootstrap @ 00008000-000a8e18
[BOOT] Topmost address for kernel: 3f372000
[BOOT] getElfSize(0000b014): ro=00000000, rw=00000000
[BOOT] Physical address of kernel: 3f372000
[BOOT] Virtual address of kernel: 3f372000
[BOOT] loadElf(0000b014)
[BOOT] Kernel taglist contains 78 entries
[BOOT] Bootstrap wasted 0 bytes of memory for kernels use
[BOOT] Heading over to AROS kernel @ 3f[BOOT] AROS for Raspberry Pi bootstrap
[BOOT] Bootstrap @ 00008000-000a8e18
[BOOT] Topmost address for kernel: 3f372000
[BOOT] getElfSize(0000b014): ro=00000000, rw=00000000
[BOOT] Physical address of kernel: 3f372000
[BOOT] Virtual address of kernel: 3f372000
[BOOT] loadElf(0000b014)
[BOOT] Kernel taglist contains 81 entries
[BOOT] Bootstrap wasted 0 bytes of memory for kernels use
[BOOT] Heading over to AROS kernel @ 3f[BOOT] AROS for Raspberry Pi bootstrap
[BOOT] Bootstrap @ 00008000-000a8e18
[BOOT] Topmost address for kernel: 3f372000
[BOOT] getElfSize(0000b014): ro=00000000, rw=00000000
[BOOT] Physical address of kernel: 3f372000
[BOOT] Virtual address of kernel: 3f372000
[BOOT] loadElf(0000b014)
[BOOT] Kernel taglist contains 84 entries
[BOOT] Bootstrap wasted 0 bytes of memory for kernels use
[BOOT] Heading over to AROS kernel @ 3f[BOOT] AROS for Raspberry Pi bootstrap
[BOOT] Bootstrap @ 00008000-000a8e18
[BOOT] Topmost address for kernel: 3f372000
[BOOT] getElfSize(0000b014): ro=00000000, rw=00000000
[BOOT] Physical address of kernel: 3f372000
[BOOT] Virtual address of kernel: 3f372000
[BOOT] loadElf(0000b014)
[BOOT] Kernel taglist contains 87 entries
[BOOT] Bootstrap wasted 0 bytes of memory for kernels use
[BOOT] Heading over to AROS kernel @ 3f[BOOT] AROS for Raspberry Pi bootstrap
[BOOT] Bootstrap @ 00008000-000a8e18
[BOOT] Topmost address for kernel: 3f372000
[BOOT] getElfSize(0000b014): ro=00000000, rw=00000000
[BOOT] Physical address of kernel: 3f372000
[BOOT] Virtual address of kernel: 3f372000
[BOOT] loadElf(0000b014)
[BOOT] Kernel taglist contains 90 entries
[BOOT] Bootstrap wasted 0 bytes of memory for kernels use
[BOOT] Heading over to AROS kernel @ 3f[BOOT] AROS for Raspberry Pi bootstrap
[BOOT] Bootstrap @ 00008000-000a8e18
[BOOT] Topmost address for kernel: 3f372000
[BOOT] getElfSize(0000b014): ro=00000000, rw=00000000
[BOOT] Physical address of kernel: 3f372000
[BOOT] Virtual address of kernel: 3f372000
[BOOT] loadElf(0000b014)
[BOOT] Kernel taglist contains 93 entries
[BOOT] Bootstrap wasted 0 bytes of memory for kernels use
[BOOT] Heading over to AROS kernel @ 3f[BOOT] AROS for Raspberry Pi bootstrap
[BOOT] Bootstrap @ 00008000-000a8e18
[BOOT] Topmost address for kernel: 3f372000
[BOOT] getElfSize(0000b014): ro=00000000, rw=00000000
[BOOT] Physical address of kernel: 3f372000
[BOOT] Virtual address of kernel: 3f372000
[BOOT] loadElf(0000b014)
[BOOT] Kernel taglist contains 96 entries
[BOOT] Bootstrap wasted 0 bytes of memory for kernels use
[BOOT] Heading over to AROS kernel @ 3f[BOOT] AROS for Raspberry Pi bootstrap
[BOOT] Bootstrap @ 00008000-000a8e18
[BOOT] Topmost address for kernel: 3f372000
[BOOT] getElfSize(0000b014): ro=00000000, rw=00000000
[BOOT] Physical address of kernel: 3f372000
[BOOT] Virtual address of kernel: 3f372000
[BOOT] loadElf(0000b014)
[BOOT] Kernel taglist contains 99 entries
[BOOT] Bootstrap wasted 0 bytes of memory for kernels use
[BOOT] Heading over to AROS kernel @ 3f[BOOT] AROS for Raspberry Pi bootstrap
[BOOT] Bootstrap @ 00008000-000a8e18
[BOOT] Topmost address for kernel: 3f372000
[BOOT] getElfSize(0000
b014): ro=00000000, rw=00000000
[BOOT] Physical address of kernel: 3f372000
[BOOT] Virtual address of kernel: 3f372000
[BOOT] loadElf(0000b014)
[BOOT] Kernel taglist contains 102 entries
[BOOT] Bootstrap wasted 0 bytes of memory for kernels use
[BOOT] Heading over to AROS kernel @ 3f[BOOT] AROS for Raspberry Pi bootstrap
[BOOT] Bootstrap @ 00008000-000a8e18
[BOOT] Topmost address for kernel: 3f372000
[BOOT] getElfSize(0000b014): ro=00000000, rw=00000000
[BOOT] Physical address of kernel: 3f372000
[BOOT] Virtual address of kernel: 3f372000
[BOOT] loadElf(0000b014)
[BOOT] Kernel taglist contains 105 entries
[BOOT] Bootstrap wasted 0 bytes of memory for kernels use
[BOOT] Heading over to AROS kernel @ 3f[BOOT] AROS for Raspberry Pi bootstrap
[BOOT] Bootstrap @ 00008000-000a8e18
[BOOT] Topmost address for kernel: 3f372000
[BOOT] getElfSize(0000b014): ro=00000000, rw=00000000
[BOOT] Physical address of kernel: 3f372000
[BOOT] Virtual address of kernel: 3f372000
[BOOT] loadElf(0000b014)
[BOOT] Kernel taglist contains 108 entries
[BOOT] Bootstrap wasted 0 bytes of memory for kernels use
[BOOT] Heading over to AROS kernel @ 3f[BOOT] AROS for Raspberry Pi bootstrap
[BOOT] Bootstrap @ 00008000-000a8e18
[BOOT] Topmost address for kernel: 3f372000
[BOOT] getElfSize(0000b014): ro=00000000, rw=00000000
[BOOT] Physical address of kernel: 3f372000

This is basicly Efika code (butchered just bootstrap, serial debug and some sort of kernel. ExecBase is where?...) running on Raspberry Pi

Posted on: 2012/11/6 7:39
_________________
Jyrki.J.Koivisto
Transfer the post to other applications Transfer


Re: Native port for Raspberry Pi

Joined:
2012/1/25 8:06
Group:
Member
Posts: 20
Offline
Great progress!!! Does the Efika code is in the git repository or can it be found somewhere else?

As for RPi boot process is is being described quite well - if you need a hint just let me know. Please remember that there were some important changes in how firmware loads kernel therefore you can now change it through config file.

Keep my fingers crossed! AROS on RPi would one of most coolest OS platforms besides Risc OS.

Posted on: 2012/11/6 11:39
Transfer the post to other applications Transfer


Re: Native port for Raspberry Pi

Joined:
2008/2/5 6:58
From Sunny Finland
Group:
Member
Posts: 870
Offline
Raspberry Pi uses u-boot as bootloader, there's already some code in the Efika port for that. Maybe it can load our packages as well. Never used it before.

You can find Efika port from arch implementations, some hacking is needed for the mmakefile.src'es as I assume they date back before the Aros crosstool era or else you get some wierd errors while building. You also need to code the bootstrap and serial handling.

Edit:

[BOOT] Parsing ATAGS
[BOOT] 54410001: IGN...
[BOOT] 54410002: Memory (00000000-0effffff)
[BOOT] 54410009: CMDLine: "dma.dmachans=0x7f35 bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2708.boardrev=0x2 bcm2708.serial=0x69ece345 smsc95xx.macaddr=B8:27:EB:EC:E3:45 dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait"
[BOOT] AROS Raspberry Pi bootstrap
[BOOT] Bootstrap @ 00008000-00099e20

Works pretty well!

Posted on: 2012/11/6 12:37

Edited by DizzyOfCRN on 2012/11/6 13:07:04
_________________
Jyrki.J.Koivisto
Transfer the post to other applications Transfer


Re: Native port for Raspberry Pi

Joined:
2012/1/25 8:06
Group:
Member
Posts: 20
Offline
Awesome - thank for the info :)

Posted on: 2012/11/6 13:59
Transfer the post to other applications Transfer


Re: Native port for Raspberry Pi

Joined:
2008/2/5 6:58
From Sunny Finland
Group:
Member
Posts: 870
Offline
At the moment it seems that a fastest route for the native build would be to make one binary blob without using the package system. Raspberry's memory layout is pretty simple and if the implemented u-boot doesn't support loading other modules then there's no cause to use packages, also I don't belief that the Raspberry platform is going to ever support add on peripherals that are needed at boot time.

Posted on: 2012/11/7 3:38
_________________
Jyrki.J.Koivisto
Transfer the post to other applications Transfer


Re: Native port for Raspberry Pi

Joined:
2008/2/5 6:58
From Sunny Finland
Group:
Member
Posts: 870
Offline
Good news! U-boot bends to our will...

[BOOT] Parsing ATAGS
[BOOT] 54410001: IGN...
[BOOT] 54410002: Memory (000000
00-0effffff)
[BOOT] 54420005: RAMDISK: (00800000-0080a5c3)
[BOOT] 54410009: CMDLine: "dma.dmachans=0x7f35 bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2708.boardrev=0x2 bcm2708.serial=0x69ece345 smsc95xx.macaddr=B8:27:EB:EC:E3:45 dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait"
[BOOT] AROS Raspberry Pi bootstrap
[BOOT] Bootstrap @ 00008000-00099e20
[BOOT] Topmost address for kernel: 0f000000
[BOOT] getElfSize(0000c010): ro=00000000, rw=00000000
[BOOT] Kernel image is a package:
[BOOT] Package size: 41KB
[BOOT] oop.library [BOOT] getElfSize(0080001c): ro=000036e0, rw=00000008
[BOOT] i2c.hidd [BOOT] getElfSize(00805300): ro=000038b8, rw=00000014
[BOOT] Physical address of kernel: 0eff6000
[BOOT] Virtual address of kernel: 0eff6000
[BOOT] loadElf(0000c010)
[BOOT] Kernel image is a package:
[BOOT] Package size: 41KB
[BOOT] oop.library [BOOT] loadElf(0080001c)
[BOOT] ELF: RO section loaded at 0eff6000 (Virtual addr: 0eff6000)
[BOOT] ELF: RO section loaded at 0eff92dc (Virtual addr: 0eff92dc)
[BOOT] ELF: RW section loaded at 0effe000 (Virtual addr: 0effe000)
[BOOT] ELF: RW section loaded at 0effe004 (Virtual addr: 0effe004)
[BOOT] i2c.hidd [BOOT] loadElf(00805300)
[BOOT] ELF: RO section loaded at 0eff96e0 (Virtual addr: 0eff96e0)
[BOOT] ELF: RO section loaded at 0effcb1c (Virtual addr: 0effcb1c)
[BOOT] ELF: RW section loaded at 0effe008 (Virtual addr: 0effe008)
[BOOT] ELF: RW section loaded at 0effe00c (Virtual addr: 0effe00c)
[BOOT] Kernel taglist contains 7 entries
[BOOT] Bootstrap wasted 288 bytes of memory for kernels use
[BOOT] Heading over to AROS kernel @ 0eff6000
[BOOT] Heading over to AROS kernel @ 0eff6000
[BOOT] Heading over to AROS kernel @ 0eff6000
[BOOT] Back? Something wrong happened...


"initramfs kernel.pkg 0x00800000" was added in the bottom of config.txt file

Instead of jumping to Kernel it jumps to oop... I got pretty good mess going on my hard drive with the mmakefiles :)

Posted on: 2012/11/7 4:04
Transfer the post to other applications Transfer


Re: Native port for Raspberry Pi

Joined:
2008/11/15 15:27
Group:
Member
Posts: 514
Offline
Have fun!

Posted on: 2012/11/7 10:59
Transfer the post to other applications Transfer



« 1 (2) 3 4 5 ... 12 »



You can view topic.
You cannot start a new topic.
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.

[Advanced Search]


Search
Top Posters
1 paolone
paolone
3630
2 nikolaos
nikolaos
3451
3 phoenixkonsole
phoenixkonsole
2959
4 magorium
magorium
2849
5 deadwood
deadwood
2300
6 mazze
mazze
2055
7 clusteruk
clusteruk
2052
8 ncafferkey
ncafferkey
2047
9 damocles
damocles
1787
10 Kalamatee
Kalamatee
1709
© 2004-2013 AROS Exec