Building LeMaker Android 4.2 from Source
129
52829
|
For the GMAC, that other source (zrox) worked out of the box. (showed MAC)
I didn't need to change the code at all.
That download should be available in dlanors post.
Then, should be able to copy over the gmac code |
|
|
|
|
|
|
|
Ok, will compare to find the strict minimum change necessary. Thanks. |
|
|
|
|
|
|
|
Yeh.
Unfortunately I got a bit "trigger happy" with my clean out and deleted the repo for it  |
|
|
|
|
|
|
|
Edited by liab at Sat Dec 13, 2014 22:11
After some days of hard work I now have - for me - the best android image build I ever had. Benchmark for me is a perfect streaming in hd with the app vu+.
- My new build use this U-Boot 2011.09-rc1-00003-ge89ab14-dirty (Jan 03 2014 - 12:57:33) Allwinner Technology.
- The console supports commands repeat mode
- No problem with 1080 x
- No problem with the screen trimming
- No terrible Lemaker default wallpaper
- Build for sugar-lemaker and sugar-bpi are possible, last has a better performance, hd streaming with vu+ CPU lower than 18 %
- WLAN Stick 8192cu is working
The way was:
- git from 05.12.14, I think it's the same like the actual git
- git matthuismen from the 30.11.14
and mix them.
- Use in the actual git the lichee from the matthuismen
and delete in the current git the folder frameworks and insert the folder frameworks from the matthuismen git
- To make both, bpi and lemaker some adaptations in android/device and lichee/tools are necessary.
- make clean and make
Edit:
It gives the same good result to take the matthuismen git as basis and delete the folder device and insert the folder device from the actual git.
The effect is a better report from the console with command repeat.
|
|
|
|
|
|
|
|
Interesting.
Actually I made a lot of tentative to include drivers from older git repository (I finally found out that one of my test VM still had a copy on it), but I losed so many time to struggle with dependencies that I gave out for now. The driver structure between both git repo is just slighly different enough so that making a proper fix is far beyond my poor experience in that area.
So I am now trying to integrate the bsp kernel generation from Lemaker with our android generation sources, to make android to use 3.4.103 kernel. The issue I got now is I dunno what is the u-boot format provided by the SDK and how to replace it by the u-boot generated by lemaker-bsp. The u-boot used by pack is stored at this place: /android/lichee/tools/pack/chips/sun7i/bin/u-boot-sun7i.bin |
|
|
|
|
|
|
|
But I will try yours as a branch in the ctual git  |
|
|
|
|
|
|
|
Edited by ChrisP at Tue Dec 16, 2014 23:50
Ok, gone a bit further in lemaker 3.4.103 integration. The image have kernel, modules and u-boot integrated on the image, but still can't boot, I'm stuck at u-boot level, complaining he can't read filessystems.
And I still have to refine a clean .config to avoid to include allmost every modules possible, and to refine the build_kernel script. For now I just used wiki instructions. A last issue I found, is that in the same way as the 4.4 beta 1 image, the battery level is considered too low at first boot, it's necessary to do a reset using the button, then the boot continue.
The modification are shown on a specific branch here: https://github.com/ChrisP-Androi ... /lemaker-bsp-kernel
When loading, I have the following messages on UART:
Any idea and feedback to fix this issue are warmly wellcome  - HELLO! BOOT0 is starting!
- boot0 version : 2.0.0
- try dram para.
- dram driver version: 1.15
- dram size =1024MB
- 0xffffffff
- super_standby_flag = 0
- boot card number =0
- sdcard 0 init ok
- The size of Boot1 is 0x00048000.
- Succeed in loading boot1 from sdmmc flash.
- Ready to disable icache.
- Succeed in loading Boot1.
- Jump to Boot1.
- [ 0.165] boot1 version : 2.0.0
- [ 0.165] script installed early ok
- [ 0.166] pmu type = 3
- [ 0.270] bat vol = 6 mv
- [ 0.282] axi:ahb:apb=4:2:2
- [ 0.282] set dcdc2=1400mv, clock=912M successed
- [ 0.284] key
- [ 0.297] no key found
- [ 0.297] flash init start
- [ 0.311] flash init finish
- [ 0.313] fs init ok
- [ 0.314] fattype FAT16
- [ 0.314] fs mount ok
- [ 0.317] storage_type=1
- [ 0.327] 0
- [ 0.327] set pc
- [ 0.328] usbdc_vol = 4000, usbdc_cur = 0
- [ 0.329] usbpc_vol = 4400, usbpc_cur = 0
- [ 0.334] init to usb pc
- [ 0.336] set pc
- [ 0.418] battery enough
- [ 0.418] power_start=0x00000000
- [ 0.419] pre sys mode
- [ 0.422] key value = 0
- [ 0.424] recovery key high 6, low 4
- [ 0.445] show pic finish
- [ 0.445] load kernel start
- [ 0.460] load kernel successed
- [ 0.460] start address = 0x4a000000
- [ 1.098] power exit detect
- [ 1.098] usb exit detect
- [ 1.098] jump to
- U-Boot 2014.04-10733-gbb5691c (Dec 14 2014 - 20:10:24) Allwinner Technology
- CPU: Allwinner A20 (SUN7I)
- Board: BananaPi
- I2C: ready
- DRAM: 1 GiB
- MMC: SUNXI SD/MMC: 0
- *** Warning - bad CRC, using default environment
- In: serial
- Out: serial
- Err: serial
- Net: dwmac.1c50000
- Hit any key to stop autoboot: 0
- reading uEnv.txt
- ** Unable to read file uEnv.txt **
- Failed to mount ext2 filesystem...
- ** Unrecognized filesystem type **
- Failed to mount ext2 filesystem...
- ** Unrecognized filesystem type **
- reading boot.scr
- ** Unable to read file boot.scr **
- Failed to mount ext2 filesystem...
- ** Unrecognized filesystem type **
- Failed to mount ext2 filesystem...
- ** Unrecognized filesystem type **
- Failed to mount ext2 filesystem...
- ** Unrecognized filesystem type **
- reading script.bin
- ** Unable to read file script.bin **
- Failed to mount ext2 filesystem...
- ** Unrecognized filesystem type **
- sun7i#
Copy the Code In addition, in the UART console, I can see the env used:- sun7i# env print
- autoboot=run loadkernel && run setargs && true && bootm 0x48000000
- baudrate=115200
- boot_ram=saved_stdout=$stdout;setenv stdout nc;if iminfo 0x41000000; then true; setenv stdout $saved_stdout; source 0x41000000;else setenv stdout $saved_stdout;fi
- bootcmd=if run loadbootenv; then echo Loaded environment from ${bootenv};env import -t ${scriptaddr} ${filesize};fi;if test -n "${uenvcmd}"; then echo Running uenvcmd ...;run uenvcmd;fi;if run loadbootscr; then echo Jumping to ${bootscr};source ${scriptaddr};fi;run autoboot;
- bootdelay=2
- bootenv=uEnv.txt
- bootm_size=0x10000000
- bootscr=boot.scr
- console=ttyS0,115200
- device=mmc
- ethact=dwmac.1c50000
- ethaddr=02:51:0b:c2:0d:4d
- kernel=uImage
- loadbootenv=fatload $device $partition $scriptaddr ${bootenv} || ext2load $device $partition $scriptaddr boot/${bootenv} || ext2load $device $partition $scriptaddr ${bootenv}
- loadbootscr=fatload $device $partition $scriptaddr ${bootscr} || ext2load $device $partition $scriptaddr boot/${bootscr} ||ext2load $device $partition $scriptaddr ${bootscr}
- loadkernel=if bootpath=/boot/ && ext2load $device $partition 0x43000000 ${bootpath}${script} && ext2load $device $partition 0x48000000 ${bootpath}${kernel};then true; elif bootpath=/ && fatload $device $partition 0x43000000 ${script} && fatload $device $partition 0x48000000 ${kernel};then true; elif bootpath=/ && ext2load $device $partition 0x43000000 ${bootpath}${script} && ext2load $device $partition 0x48000000 ${bootpath}${kernel};then true; else false;fi
- loglevel=8
- panicarg=panic=10
- partition=0:1
- script=script.bin
- scriptaddr=0x44000000
- setargs=if test -z \\"$root\\"; then if test \\"$bootpath\\" = "/boot/"; then root="/dev/mmcblk0p1 rootwait"; else root="/dev/mmcblk0p2 rootwait"; fi; fi; setenv bootargs console=${console} root=${root} loglevel=${loglevel} ${panicarg} ${extraargs}
- stderr=serial
- stdin=serial
- stdout=serial
- Environment size: 1919/131068 bytes
Copy the Code I suspect that ext4 should be supported instead of ext2, but not really sure. |
|
|
|
|
|
|
|
At least initial battery status seems to be fixed now. But still can't boot  |
|
|
|
|
|
|
|
Edited by liab at Thu Jan 15, 2015 10:55
The work of my last days was to make, when using a hdmi2dvi cable, AUDIO_CODEC (audio jack) as default. So I changed .../device/softwinner/common/hardware/audio/audio_hw.c.
Now sound goes to the audio jack as default. The name in the settings "Audio output mode" is AUDIO_HDMI. The name of the ordinary HDMI sound is AUDIO_HDMI2, but now it's not default!
https://www.dropbox.com/s/mhf8vifm984k0wc/audio.tar.gz?dl=0 |
|
|
|
|
|
|
|
Well, the answer was just in front of me and I didn't see it: the env used for uboot is not the one I was expecting to boot android. I have to find where is this env define to try to adapt the one in pack config. |
|
|
|
|
|
|