Thank you very much for your reply.
On Wed May 13, 2015 at 22:23:18 +0800, Youren Shen wrote:
I'm trying to booting L4Android in Exynos 5250 platform. I got some questions. If anyone can give me any direction or document, It will be
very
helpful.
1, How to edit this vbus and devs file to match my platform? For example, if I want replace the MOUSE in vbus with TOUCHSCREEN, what should I write to determine the driver of the touchscreen, and the
register
address of the driver? It seems the .hid can assign the driver? And the MMio can remap the
address
of the IO for driver?
A vbus defines the resources (IRQs and MMIO) for a whole client, i.e. it's not per driver but per client (e.g. L4Linux). For the touchscreen you need to give the MMIO regions and IRQs that the touchscreen driver is using.
2, As for GUI driver, what the mag and fb-drv do ? Should I write one
The fb-drv is the framebuffer driver, i.e. the driver that maps some memory in such a way to the framebuffer hardware that something appears on the screen. mag is a small window manager that makes multiple windows, that you can drag around, out of the single hardware framebuffer.
driver in L4RE or I can reuse the driver in Linux?
Reusing the driver from L4Linux is possible but typically framebuffer drivers are reasonable small to be implemented standalone.
*For this two question I just need some guide*, I can't find details explanation of the file or tutorial in Wiki page.
Thank you very much!
Also I got some new error when booting. The system mount failed. Would
you
mind to take a look?
RAMDISK: Loading 1024KiB [1 disk] into ram disk... done.
EXT4-fs (ram0): couldn't mount as ext3 due to feature incompatibilities
EXT4-fs (ram0): mounting ext2 file system using the ext4 subsystem
EXT4-fs warning (device ram0): ext4_update_dynamic_rev:701: updating to
rev
1 bd EXT4-fs (ram0): mounted filesystem without journal. Opts: (null)
VFS: Mounted root (ext2 filesystem) on device 1:0.
Freeing unused kernel memory: 164K (02356000 - 0237f000)
init: cannot open '/initlogo.rle'
EXT4-fs (ram0): re-mounted. Opts: (null)
init: Unable to open persistent property directory /data/property errno:
2
init (1): /proc/1/oom_adj is deprecated, please use /proc/1/oom_score_adj inste. init: cannot find '/system/bin/servicemanager', disabling
'servicemanager'
init: cannot find '/system/bin/vold', disabling 'vold'
Looks like the system partition could not be mounted. Where should it be?
I'm using the image and config files that L4Android.org supplied.
I copied the two image file(root-arm-ginger.img and system-arm-ginger.img) to l4/build/bin/$arch/l4f
So here is the module list:
*entry l4android-arm* *roottask moe rom/l4_gingerbread-arm.cfg* *kernel fiasco -serial_esc* *module l4re* *module ned* *module io* *module mag* *module fb-drv* *module l4_gingerbread-arm.cfg* *module arm-rv-eb.devs* *module l4_android-arm.vbus* *module vmlinuz.android* *module root-arm-ginger.img* *module system-arm-ginger.img*
And here is the parameter of loader:start in ned script.
*"rom/" .. lxname .. " console=ttyLv0 androidboot.console=ttyLv0 mem=256M l4bdds.add=rom/system-arm-ginger.img,rw boot=local android.ril=ttyLv1 ip=dhcp l4x_rd=rom/root-arm-ginger.img rw root=1:0 ramdisk_size=1500 init=/init --debug l4fb.touchscreen=1*
In the root-arm-ginger.img file, the init script should mount the /system:
*mount cramfs /l4bdds0 /system **mount cramfs /l4bdds0 /system ro remount **mount tmpfs tmpfs /data size=32M*
But it failed.
I check the CRAMFS and it's enable in Linux kernel. Then I have no idea about what can cause this /system mount error.
Thank you very much for your help!
On Wed May 20, 2015 at 11:08:00 +0800, Youren Shen wrote:
On Wed May 13, 2015 at 22:23:18 +0800, Youren Shen wrote:
I'm trying to booting L4Android in Exynos 5250 platform. I got some questions. If anyone can give me any direction or document, It will be
very
helpful.
1, How to edit this vbus and devs file to match my platform? For example, if I want replace the MOUSE in vbus with TOUCHSCREEN, what should I write to determine the driver of the touchscreen, and the
register
address of the driver? It seems the .hid can assign the driver? And the MMio can remap the
address
of the IO for driver?
A vbus defines the resources (IRQs and MMIO) for a whole client, i.e. it's not per driver but per client (e.g. L4Linux). For the touchscreen you need to give the MMIO regions and IRQs that the touchscreen driver is using.
2, As for GUI driver, what the mag and fb-drv do ? Should I write one
The fb-drv is the framebuffer driver, i.e. the driver that maps some memory in such a way to the framebuffer hardware that something appears on the screen. mag is a small window manager that makes multiple windows, that you can drag around, out of the single hardware framebuffer.
driver in L4RE or I can reuse the driver in Linux?
Reusing the driver from L4Linux is possible but typically framebuffer drivers are reasonable small to be implemented standalone.
*For this two question I just need some guide*, I can't find details explanation of the file or tutorial in Wiki page.
Thank you very much!
Also I got some new error when booting. The system mount failed. Would
you
mind to take a look?
RAMDISK: Loading 1024KiB [1 disk] into ram disk... done.
EXT4-fs (ram0): couldn't mount as ext3 due to feature incompatibilities
EXT4-fs (ram0): mounting ext2 file system using the ext4 subsystem
EXT4-fs warning (device ram0): ext4_update_dynamic_rev:701: updating to
rev
1 bd EXT4-fs (ram0): mounted filesystem without journal. Opts: (null)
VFS: Mounted root (ext2 filesystem) on device 1:0.
Freeing unused kernel memory: 164K (02356000 - 0237f000)
init: cannot open '/initlogo.rle'
EXT4-fs (ram0): re-mounted. Opts: (null)
init: Unable to open persistent property directory /data/property errno:
2
init (1): /proc/1/oom_adj is deprecated, please use /proc/1/oom_score_adj inste. init: cannot find '/system/bin/servicemanager', disabling
'servicemanager'
init: cannot find '/system/bin/vold', disabling 'vold'
Looks like the system partition could not be mounted. Where should it be?
I'm using the image and config files that L4Android.org supplied.
I copied the two image file(root-arm-ginger.img and system-arm-ginger.img) to l4/build/bin/$arch/l4f
So here is the module list:
*entry l4android-arm* *roottask moe rom/l4_gingerbread-arm.cfg* *kernel fiasco -serial_esc* *module l4re* *module ned* *module io* *module mag* *module fb-drv* *module l4_gingerbread-arm.cfg* *module arm-rv-eb.devs* *module l4_android-arm.vbus* *module vmlinuz.android* *module root-arm-ginger.img* *module system-arm-ginger.img*
And here is the parameter of loader:start in ned script.
*"rom/" .. lxname .. " console=ttyLv0 androidboot.console=ttyLv0 mem=256M l4bdds.add=rom/system-arm-ginger.img,rw boot=local android.ril=ttyLv1 ip=dhcp l4x_rd=rom/root-arm-ginger.img rw root=1:0 ramdisk_size=1500 init=/init --debug l4fb.touchscreen=1*
In the root-arm-ginger.img file, the init script should mount the /system:
*mount cramfs /l4bdds0 /system **mount cramfs /l4bdds0 /system ro remount **mount tmpfs tmpfs /data size=32M*
But it failed.
I check the CRAMFS and it's enable in Linux kernel. Then I have no idea about what can cause this /system mount error.
Hmm. Debugging Android at those early stages always felt tricky to me. What you should check is whether the system-img could mount at all. For that you can replace root-arm-ginger.img with ramdisk-arm.rd and see whether mounting l4bdds0 is ok in itself my mounting it by hand.
Adam
l4-hackers@os.inf.tu-dresden.de