Dear all,
I have compiled couple of days ago l4android for arm architecture, and now I want to boot it on Nexus S, however, I couldn't find a way to tun bootstrapLinuxAndroid.elf file on arm based architecture. I have already seen in some research papers (one of them is as follows).
http://www.isti.tu-berlin.de/fileadmin/fg214/liebergeld/spsm03-lange.pdf
How could be l4android booted on the Nexus S?
Thanks, Best Regards, Cem Akpolat
Hi,
On Tue Oct 21, 2014 at 18:10:46 +0200, cem akpolat wrote:
I have compiled couple of days ago l4android for arm architecture, and now I want to boot it on Nexus S, however, I couldn't find a way to tun bootstrapLinuxAndroid.elf file on arm based architecture. I have already
How could be l4android booted on the Nexus S?
I do not have particular experience with the Nexus S in this regard. Typically, when doing such work, a working UART and/or JTAG interface is essential to have. To get access to those, given they are accessible on the PCB, one has to solder some cables or do similar things. The UART can also be exposed via the USB port, typically using some special cable which triggers this mode. With a working JTAG connection and setup one can load the image into the device and also debug it from there including getting UART-like messages. Without JTAG, loading the image might be tricky, and cumbersome. Flashing via Download/Recovery mode is one option, or having a boot loader on the device that can do USB (such as u-boot). Now when there's code running, some device-specific drivers are necessary, such as input (buttons, touch) and display. You're lucky when the boot loader left the display and framebuffer logic intact so you can just use it already properly configured. If not, there's some more work to do. And then it goes on...
Using a dev-board is much more convenient here as it has far better accessibility to debugging connectors and very likely a usable boot-loader with regard to loading images (network, USB).
Adam
Hi,
On 10/22/2014 12:01 AM, Adam Lackorzynski wrote:
Hi,
On Tue Oct 21, 2014 at 18:10:46 +0200, cem akpolat wrote:
I have compiled couple of days ago l4android for arm architecture, and now I want to boot it on Nexus S, however, I couldn't find a way to tun bootstrapLinuxAndroid.elf file on arm based architecture. I have already
How could be l4android booted on the Nexus S?
I do not have particular experience with the Nexus S in this regard. Typically, when doing such work, a working UART and/or JTAG interface is essential to have. To get access to those, given they are accessible on the PCB, one has to solder some cables or do similar things. The UART can also be exposed via the USB port, typically using some special cable which triggers this mode.
Given the Nexus S was built by Samsung the USB port seems promising. However, there is a third option using the audio jack [0].
With a working JTAG connection and setup one can load the image into the device and also debug it from there including getting UART-like messages. Without JTAG, loading the image might be tricky, and cumbersome. Flashing via Download/Recovery mode is one option, or having a boot loader on the device that can do USB (such as u-boot). Now when there's code running, some device-specific drivers are necessary, such as input (buttons, touch) and display. You're lucky when the boot loader left the display and framebuffer logic intact so you can just use it already properly configured. If not, there's some more work to do. And then it goes on...
Using a dev-board is much more convenient here as it has far better accessibility to debugging connectors and very likely a usable boot-loader with regard to loading images (network, USB).
Matthias.
[0] http://www.accuvant.com/blog/building-a-nexus-4-uart-debug-cable
Hello Matthias,
On Mon, Oct 27, 2014 at 10:30:03AM +0100, Matthias Lange wrote:
Given the Nexus S was built by Samsung the USB port seems promising. However, there is a third option using the audio jack [0].
[...]
[0] http://www.accuvant.com/blog/building-a-nexus-4-uart-debug-cable
Looks pretty weird but incredibly helpful too. Do you know if a similar approach was discovered for the Exynos5-based Nexus 10?
Regards
Hello Christian,
On 10/28/2014 08:46 AM, Christian Helmuth wrote:
Hello Matthias,
On Mon, Oct 27, 2014 at 10:30:03AM +0100, Matthias Lange wrote:
Given the Nexus S was built by Samsung the USB port seems promising. However, there is a third option using the audio jack [0].
[...]
[0] http://www.accuvant.com/blog/building-a-nexus-4-uart-debug-cable
Looks pretty weird but incredibly helpful too. Do you know if a similar approach was discovered for the Exynos5-based Nexus 10?
None that I am aware of. But given the information from the above blog post, it may be worthwhile to dig through the Linux source tree of the Nexus 10. However, a blind guess would make me search for a USB connector multiplexer like the MAX14577 or similar.
Best, Matthias.
Hi,
Thank you first of ally your responses. I haven't unfortunately JTAG component right now and also the equipment like Matthias mentioned. How about the fastboot? Is it also possible to use fastboot for sending android image? l4 generates bootstrap_L4LinuxARM.elf file, and we can convert this image file into the u-boot image file as explained in [1] with the following command.
mkimage -A arm -a 0x48000000 -e 0x48000000 -C none -A arm -T kernel -O qnx -d INPUT_FILE OUTPUT_FILE
I converted it but it seems that either the given address is not true or this method doesn't work.
Do you have any idea?
Sincerely, Cem
Cem Akpolat
On Tue, Oct 28, 2014 at 10:49 AM, Matthias Lange < matthias.lange@kernkonzept.com> wrote:
Hello Christian,
On 10/28/2014 08:46 AM, Christian Helmuth wrote:
Hello Matthias,
On Mon, Oct 27, 2014 at 10:30:03AM +0100, Matthias Lange wrote:
Given the Nexus S was built by Samsung the USB port seems promising. However, there is a third option using the audio jack [0].
[...]
[0] http://www.accuvant.com/blog/building-a-nexus-4-uart-debug-cable
Looks pretty weird but incredibly helpful too. Do you know if a similar approach was discovered for the Exynos5-based Nexus 10?
None that I am aware of. But given the information from the above blog post, it may be worthwhile to dig through the Linux source tree of the Nexus 10. However, a blind guess would make me search for a USB connector multiplexer like the MAX14577 or similar.
Best, Matthias.
-- Matthias Lange, matthias.lange@kernkonzept.com, +49 - 351 - 41 88 86 14
Kernkonzept GmbH. Sitz: Dresden. Amtsgericht Dresden, HRB 31129. Geschäftsführer: Dr.-Ing. Michael Hohmuth
l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
On Thu Oct 30, 2014 at 13:11:24 +0100, cem akpolat wrote:
Thank you first of ally your responses. I haven't unfortunately JTAG component right now and also the equipment like Matthias mentioned. How about the fastboot? Is it also possible to use fastboot for sending android image? l4 generates bootstrap_L4LinuxARM.elf file, and we can convert this image file into the u-boot image file as explained in [1] with the following command.
There's a fastboot make target, so you can just issue: make fastboot E=... and it will load the rawimage using fastboot.
I converted it but it seems that either the given address is not true or this method doesn't work.
Typically rawimage must be used with fastboot but there are also cases for uimages (use 'make fastboot_uimage' then), it depends. In your case it loads fine but then nothing happens on the target? If that's the case it's just guessing what could be the cause...
Adam
Cem Akpolat
On Sat, Nov 1, 2014 at 10:21 AM, Adam Lackorzynski < adam@os.inf.tu-dresden.de> wrote:
On Thu Oct 30, 2014 at 13:11:24 +0100, cem akpolat wrote:
Thank you first of ally your responses. I haven't unfortunately JTAG component right now and also the equipment like Matthias mentioned. How about the fastboot? Is it also possible to use fastboot for sending
android
image? l4 generates bootstrap_L4LinuxARM.elf file, and we can convert
this
image file into the u-boot image file as explained in [1] with the following command.
There's a fastboot make target, so you can just issue: make fastboot E=... and it will load the rawimage using fastboot.
I converted it but it seems that either the given address is not true or
this method doesn't work.
Typically rawimage must be used with fastboot but there are also cases for uimages (use 'make fastboot_uimage' then), it depends. In your case it loads fine but then nothing happens on the target? If that's the case it's just guessing what could be the cause...
I used fastboot and the message whet I try to load the image is as below
akpolat@akpolatX240:~/mysvn/arm_l4android/src/l4$ make fastboot -C /home/akpolat/mysvn/arm_l4android/src/l4/ elfimage E=L4LinuxARM O=/home/akpolat/mysvn/arm_l4android/src/build/l4/ make: Entering directory `/home/akpolat/mysvn/arm_l4android/src/l4' make[1]: Entering directory `/home/akpolat/mysvn/arm_l4android/src/l4/pkg/bootstrap/server/src' make[2]: Entering directory `/home/akpolat/mysvn/arm_l4android/src/build/l4/pkg/bootstrap/server/src/OBJ-arm_armv7a' Image size(s) in bytes: bootstrap_L4LinuxARM.elf: 9970040 bootstrap.raw: 9936896 Start address: 0x71000000 --> Build-Nr: 27 make[2]: Leaving directory `/home/akpolat/mysvn/arm_l4android/src/build/l4/pkg/bootstrap/server/src/OBJ-arm_armv7a' make[1]: Leaving directory `/home/akpolat/mysvn/arm_l4android/src/l4/pkg/bootstrap/server/src' creating boot image... creating boot image - 9938944 bytes downloading 'boot.img'... OKAY [ 1.540s] booting...
Considering the given output, it seems that the boot.img is loaded but booting process cannot start. I applied the same steps for uimage instead of elfimage and the result is again the same as below.
akpolat@akpolatX240:~/mysvn/arm_l4android/src/l4$ make fastboot -C /home/akpolat/mysvn/arm_l4android/src/l4/ uimage E=L4LinuxARM O=/home/akpolat/mysvn/arm_l4android/src/build/l4/ make: Entering directory `/home/akpolat/mysvn/arm_l4android/src/l4' make[1]: Entering directory `/home/akpolat/mysvn/arm_l4android/src/l4/pkg/bootstrap/server/src' make[2]: Entering directory `/home/akpolat/mysvn/arm_l4android/src/build/l4/pkg/bootstrap/server/src/OBJ-arm_armv7a' Image size(s) in bytes: bootstrap_L4LinuxARM.elf: 9970040 bootstrap.raw: 9936896 Start address: 0x71000000 --> Build-Nr: 27 make[2]: Leaving directory `/home/akpolat/mysvn/arm_l4android/src/build/l4/pkg/bootstrap/server/src/OBJ-arm_armv7a' make[1]: Leaving directory `/home/akpolat/mysvn/arm_l4android/src/l4/pkg/bootstrap/server/src' creating boot image... creating boot image - 9938944 bytes downloading 'boot.img'... OKAY [ 1.540s] booting...
These outputs raise of course some questions such as I really load the image into the right address or I use the right command for the compilation.
In all above mentioned cases, what I am see is only the Google log along with a lock on the screen.
Thanks again for your quick reply. Cem
Adam
Adam adam@os.inf.tu-dresden.de Lackorzynski http://os.inf.tu-dresden.de/~adam/
l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
On Mon Nov 03, 2014 at 10:50:05 +0100, cem akpolat wrote:
On Sat, Nov 1, 2014 at 10:21 AM, Adam Lackorzynski < adam@os.inf.tu-dresden.de> wrote:
On Thu Oct 30, 2014 at 13:11:24 +0100, cem akpolat wrote:
Thank you first of ally your responses. I haven't unfortunately JTAG component right now and also the equipment like Matthias mentioned. How about the fastboot? Is it also possible to use fastboot for sending
android
image? l4 generates bootstrap_L4LinuxARM.elf file, and we can convert
this
image file into the u-boot image file as explained in [1] with the following command.
There's a fastboot make target, so you can just issue: make fastboot E=... and it will load the rawimage using fastboot.
I converted it but it seems that either the given address is not true or
this method doesn't work.
Typically rawimage must be used with fastboot but there are also cases for uimages (use 'make fastboot_uimage' then), it depends. In your case it loads fine but then nothing happens on the target? If that's the case it's just guessing what could be the cause...
I used fastboot and the message whet I try to load the image is as below
akpolat@akpolatX240:~/mysvn/arm_l4android/src/l4$ make fastboot -C /home/akpolat/mysvn/arm_l4android/src/l4/ elfimage E=L4LinuxARM O=/home/akpolat/mysvn/arm_l4android/src/build/l4/ make: Entering directory `/home/akpolat/mysvn/arm_l4android/src/l4' make[1]: Entering directory `/home/akpolat/mysvn/arm_l4android/src/l4/pkg/bootstrap/server/src' make[2]: Entering directory `/home/akpolat/mysvn/arm_l4android/src/build/l4/pkg/bootstrap/server/src/OBJ-arm_armv7a' Image size(s) in bytes: bootstrap_L4LinuxARM.elf: 9970040 bootstrap.raw: 9936896 Start address: 0x71000000 --> Build-Nr: 27 make[2]: Leaving directory `/home/akpolat/mysvn/arm_l4android/src/build/l4/pkg/bootstrap/server/src/OBJ-arm_armv7a' make[1]: Leaving directory `/home/akpolat/mysvn/arm_l4android/src/l4/pkg/bootstrap/server/src' creating boot image... creating boot image - 9938944 bytes downloading 'boot.img'... OKAY [ 1.540s] booting...
Considering the given output, it seems that the boot.img is loaded but booting process cannot start. I applied the same steps for uimage instead of elfimage and the result is again the same as below.
The process of fastboot looks ok to me.
These outputs raise of course some questions such as I really load the image into the right address or I use the right command for the compilation.
In all above mentioned cases, what I am see is only the Google log along with a lock on the screen.
It will be stuck somewhere. For this case you need the UART (or JTAG) to see what's going on. Further, to see something on the display, there need to be proper drivers for this particular device. I'd guess those are not there?
Adam
Thanks Adam, I will try to figure out it and inform you about the last status. Your guess can be true, but I have to find out too what drivers are missing. As you mentioned, firstly I have to see what is going on.
Cem
Cem Akpolat
On Mon, Nov 3, 2014 at 11:41 PM, Adam Lackorzynski < adam@os.inf.tu-dresden.de> wrote:
On Mon Nov 03, 2014 at 10:50:05 +0100, cem akpolat wrote:
On Sat, Nov 1, 2014 at 10:21 AM, Adam Lackorzynski < adam@os.inf.tu-dresden.de> wrote:
On Thu Oct 30, 2014 at 13:11:24 +0100, cem akpolat wrote:
Thank you first of ally your responses. I haven't unfortunately JTAG component right now and also the equipment like Matthias mentioned.
How
about the fastboot? Is it also possible to use fastboot for sending
android
image? l4 generates bootstrap_L4LinuxARM.elf file, and we can convert
this
image file into the u-boot image file as explained in [1] with the following command.
There's a fastboot make target, so you can just issue: make fastboot E=... and it will load the rawimage using fastboot.
I converted it but it seems that either the given address is not true
or
this method doesn't work.
Typically rawimage must be used with fastboot but there are also cases for uimages (use 'make fastboot_uimage' then), it depends. In your case it loads fine but then nothing happens on the target? If that's the
case
it's just guessing what could be the cause...
I used fastboot and the message whet I try to load the image is as
below
akpolat@akpolatX240:~/mysvn/arm_l4android/src/l4$ make fastboot -C /home/akpolat/mysvn/arm_l4android/src/l4/ elfimage E=L4LinuxARM O=/home/akpolat/mysvn/arm_l4android/src/build/l4/ make: Entering directory `/home/akpolat/mysvn/arm_l4android/src/l4' make[1]: Entering directory `/home/akpolat/mysvn/arm_l4android/src/l4/pkg/bootstrap/server/src' make[2]: Entering directory
`/home/akpolat/mysvn/arm_l4android/src/build/l4/pkg/bootstrap/server/src/OBJ-arm_armv7a'
Image size(s) in bytes: bootstrap_L4LinuxARM.elf: 9970040 bootstrap.raw: 9936896 Start address: 0x71000000 --> Build-Nr: 27 make[2]: Leaving directory
`/home/akpolat/mysvn/arm_l4android/src/build/l4/pkg/bootstrap/server/src/OBJ-arm_armv7a'
make[1]: Leaving directory `/home/akpolat/mysvn/arm_l4android/src/l4/pkg/bootstrap/server/src' creating boot image... creating boot image - 9938944 bytes downloading 'boot.img'... OKAY [ 1.540s] booting...
Considering the given output, it seems that the boot.img is loaded but booting process cannot start. I applied the same steps for uimage instead of elfimage and the result is again the same as below.
The process of fastboot looks ok to me.
These outputs raise of course some questions such as I really load the image into the right address or I use the right command for the compilation.
In all above mentioned cases, what I am see is only the Google log along with a lock on the screen.
It will be stuck somewhere. For this case you need the UART (or JTAG) to see what's going on. Further, to see something on the display, there need to be proper drivers for this particular device. I'd guess those are not there?
Adam
Adam adam@os.inf.tu-dresden.de Lackorzynski http://os.inf.tu-dresden.de/~adam/
l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
l4-hackers@os.inf.tu-dresden.de