yashsingh1/xdaforums huggingface dataset:
[Gen8 General] letama:
Hi Scholbert!

I've been doing the same for my kernels, it compiles and runs fine, wifi loads without any particular tweak with the original Archos compiled module, but I didn't check hdmi as I don't have cable for it. I'm using a cm7 toolchain to build it (arm-eabi-4.4.3) though.

My setup is a bit different since I patched bootloader: I have my "stable" build on normal boot (/rawfs/init) and my dev build on sde (/rawfs/custom), and I flash my kernel directly from my stable build without going through recovery.

I just do adb push kernel and initrd, then directly on device a "kd_flasher -k kernel -i initrd", and I reboot from normal to sde with a "reboot_into sde". It's really quick this way, I just have a script on my linux box to do all this.

I believe you can do the same without patched bootloader with a temproot on secure archos build.

Yes, I'm playing with it. I don't know what device you have, but mine (A70S) was not finished in Archos sources: board-archos-a70s is almost empty, panel wasn't finished... I add stuff slowly (still learning Omap, I know Qualcomm better), my kernel boots, I currently have framebuffer, internal mmc and usb working.
[Gen8 General] scholbert:
Hi letama!

Cool that's nice information.

Interesting that the tiwlan_drv.ko loads without problems.

Just to start an experiment, i started to shrink down the buildroot setup from Archos and built the gcc 4.4.1 toolchain only.

But it's not finished yet...

O.k. i see, sounds like a clean environment this way.

In fact there's no need for this sqashfs thing anymore...

I already got the SDE's avboot version installed. This version is little bigger in size and obviously got some add-on's.

The same byte signature could be found here, so i guess the hack would match this avboot version as well.

Maybe i give it a try.

Cool, sounds like a nice development platform this way.

Mmmh i thought about using it from UrukDroid...

Anyway, the way you do it sounds more elegant.

I got an A101... looks little better here, but i did not compile the kernel yet.

Anyway, would be nice to have a complete kernel (incl. wireless and HDMI base code) in the end which compiles fine with latest gcc and runs out of the box :D

Thanks a lot for your extensive reply!!!

Regards,

scholbert
[Gen8 General] letama:
Yes, it's the same signature, I verified it with IDA before installing sde, only location differs. You should be fine as long as you don't have multiple matches. If you want my code to patch it, let me know... You'd have to adapt the offsets but it would be probably safer than doing it manually.

Regarding kernel development, I forgot one big advantage to have patched bootloaders: ram_console! I built my "stable" and "dev" kernels with it, so I just have to make my dev kernel to crash to reboot and get the full dmesg with "cat /proc/last_kmsg" even if framebuffer or usb don't work :).

Yes, gen9 sources look better for A101, I took them as base for my A70 and it's almost ok. I took away hdmi as it seems a bit too hackish, I'll see later . I also had some issue with gp timers that wouldn't use 32K clock, I'd be curious to see a dmesg on a gen9 tablet.

Right now I'm fighting with usb that kills video driver :) looonng way to go before having a fully functional kernel.
[Gen8 General] scholbert:
Thanks for offering your tool.

Guess it's the same you once posted in that thread about changing bootlogo.

I had a look at the soruces once.

Anyway i already prepared a patched bootblock. Did not re-write it yet :o

Time is lacking...

Yupp that's nice... have you seen my UART hack?

Guess i will try to compile this kernel soon.

No time for that right now.

Made some efforts to built special toolchain.

See the upcoming post...

Big thanks for participating!!!

Regards,

scholbert
[Gen8 General] scholbert:
Ready to use Archos specific toolchain

Hi again,

three simple steps to build UrukDroid custom kernel/modules:

1. Grab my customized toolchain and install it (see first post).

The toolchain is configured to work on mostly any 32Bit linux host (min. libc 2.3.6, should work down to Debian 4.0, Ubuntu 8.04 and similar).

The toolchain must be extracted and placed at /opt on your host machine (x86).

To run it as a user you might change the properties for /opt directory to match the user's rights.

You also could extract the archive as root and run:

chown -R 1000:1000 /opt/arm-archos

To make it more comfortable:

Modify user's .bashrc file to include the path to the toolchain:

export PATH=$PATH:/opt/arm-archos/usr/bin

2. Grab UrukDroid kernel sources and compile.

UrukDroid kernel sources could be found here:

http://sauron.pourix.com/UrukDroid/UrukDroid-1.5/UrukDroid-1.5.1-kernelsrc.tar.bz2

You might extract the sources anywhere you like.

After this has been done, step into the kernel source root directory.

Modify Makefile to use the Archos toolchain (line 199):

...
# Alternatively CROSS_COMPILE can be set in the environment.
# Default value for CROSS_COMPILE is not to prefix executables
# Note: Some architectures assign CROSS_COMPILE in their arch/*/Makefile
export KBUILD_BUILDHOST := $(SUBARCH)
ARCH	?= $(SUBARCH)
CROSS_COMPILE	?= arm-linux-uclibcgnueabi-
...

cp linux.config .config

make oldconfig

make zImage

make modules

make modules_install INSTALL_MOD_PATH=/my_kernel/modules/

3. Transfer the binaries to your Archos device.

Right now there's no need to exchange the kernel, because we use $auron's base setup for the kernel.

Place your custom modules at /lib/modules

TBC

scholbert
[Gen8 General] letama:
Yes, it's roughly the same code. You did patch both location ?

Yes, saw it, it would be very nice to have console on serial, but I don't want to open my A70 yet as it's still has warranty running. I may try that if I can find parts and if I get a gen9 as "main".

Great! Let me know if you have something, I'd be very interested in a dmesg.

I somehow "fixed" my video driver problem (well, not really fixed, adding traces made it go away :)), now I'm trying to get SurfaceFlinger works. Sgx driver doesn't seem to play nice with .29 userspace binaries, I'm not sure I'd be able to go much further without new binaries.

Nice! I'll try to take a look at it when I find some time.
[Gen8 General] scholbert:
Hey letama,

sorry for the delay... ;)

Yepp, both locations are patched.

As we already pointed out, there the rawfs header contains some checksums and avboot is the first file in there.

What do you think, if i manually change some bytes in avboot and leave the checksum untouched, will there be any problems?

O.k. if there's warranty on your device, i totally agree.

Need more time :rolleyes:

Yeah guess there are some changes in the drivers API.

So far i tested it, the toolchain works out very nice.

Concerning kernel compilation:

It seems the binaries are quite well optimized in size. No problems so far.

I found out that in stock ROM they used some strip command to make the modules even smaller.

Anyway won't speed things up significantly i guess...

Concerning userland apps:

Though my genereated uClibc is little bigger in size, i noticed no problems so far. A binary comparison between the libaries (stock vs mine), shows little differences though.

Anyway, would be nice if people use it and report... :)

Have a nice day!

scholbert
[Gen8 General] letama:
Hi Scholbert!

:) No problem, I'm also busy as hell...

Well, I didn't touch checksums either, and it seems they're not checked anywhere else, so you should be good. As long as you patched both location before reboot, you should be ok.

I made some progress there, I took LG P970 3D binaries with driver source code from their cm7 kernel (they also have a 2.6.35) and I was able to boot up to launcher. I had to fiddle a bit with audio runtime as phone audio won't work, but low level audio driver is working too. Next step is touchscreen... And probably doing a proper cm7 build, I'm running a frankenstein mix of cm7 for nook tablet :)

I tried it briefly yesterday as I borked my kernel config at some point and it was crashing my usual toolchain, it doesn't run on my comp: "error while loading shared libraries: libmpfr.so.1: wrong ELF class: ELFCLASS64". Ubuntu 11.10 64 bits...

Best,

LeTama
[Gen8 General] scholbert:
Yeah guessed so... the russian guy who first tried this hack also never mentioned anything like this. So it'll be safe then.

Wow sounds pretty like a "frankengenius" software design.

Good work!

Have you seen that Archos released part of the hdmi code as external driver code. So the kernel is even more open now (speaking of 2.6.29).

Sometimes their cooperation is very nice.

About two weeks ago i contact the author at NXP, then last week i wrote to Archos and on thursday they released it. Not bad...

Anyway they ought to release the source, even without mentioning it.

It's just GPL code.

Sure the toolchain is compiled for 32Bit systems, forgot to mention this.

So it will never work on a 64Bit system.... sorry :rolleyes:

Cheers,

scholbert
[Gen8 General] letama:
Didn't see it, very nice! HDMI is a low on my priority list, but it's good to have source code, it will help porting it. Even though my efforts on this kernel will slow a bit as I purchased today a gen9 and ICS source code is out :).

At first glance, boot process and layout looks very similar to our gen8, same rawfs, a custom file that would indicate that we should get SDE, so far so good. Need to spend some quality time with hex editor and IDA now :).

Damn work, I need 72 hours days!

No problem, just wanted to give a bit of feedback.
[Gen8 General] fzelle:
@letama:

Wouldn't it be alot more productive for you and us if you would somehow join your affort with the guys from openaos?

cm7 and then cm9 would be here faster the more experienced devs are helping.
[Gen8 General] letama:
Hi fzelle,

Well, I'm only learning slowly, they're far more experienced than me on Archos. My main goal is to understand omap platform, that's why I'm toying with the 2.6.35 kernel. Cm7 is only a convenient for way me to make sure the kernel behaves well. I don't seek a perfect cm7/archos experience for all devices as they do, but if at some point I learned enough, I may try to help if I can.

LeTama
[Gen8 General] fzelle:
CM7 for Archos atm is based on the 2.6.29 kernel delivered from Archos, so your kernel is far more advanced.

And if you got 2.6.35 to work properly, the guys over at openaos would probably be happy to use that.
[Gen8 General] letama:
Yes, 2.6.35 should match better gingerbread code. If I can go somewhere, I'll share it. Currently, I'm far from that, still having troubles with usb and a big piece will be power management. We'll see, but I'm a bit out of free time.
[Gen8 General] scholbert:
Hey letama,

i guess fzelle is right.

AFAIK, the openaos developers concentrate on the Android part for gen8. As stated they still use 2.6.29 and this no problem so far.

But a kernel project might run in parallel.

Would be nice to get the new kernel working at least for A70 and A101.

I started a build for A101 (...and still compiling), maybe we could share our .config file :rolleyes:

EDIT: Aaaaaargh, still fighting with the kernel config/compile errors.

Wifi/BT framework issue.... RFKILL_STATE_UNBLOCKED etc. seems not to be implemented anymore...

The SGX part is an open issue i guess, but there's some support form Ti as well. E.g.: https://gforge.ti.com/gf/project/openmax/frs/

Remember the Beagleboard-XM is very similar to what we got on our devices.

Also Zoom3 platform, so maybe their repository is a good starting point for these addon's as well.

In fact using the OMAP might be a benefit in general, because there are so many opensource projects covering this architecture :D

Happy hacking!

scholbert
[Gen8 General] letama:
Hi Scholbert,

Agreed! It would be nice if we could develop both A70 and A101 in parallel, sharing will speed things up.

I attached my current one, I added one config option that you don't have, CONFIG_MUSB_ERRATA_445, you can remove the line. I'm not sure I have the config right, but it boots and has quite a lot of stuff working. You need to re-add A10IT board though.

Well, for me it's no longer an issue, I think what I did is the best we can do until we can get a hand on Archos binaries for 3630. The issue is that you have to have proprietary binaries, they must match driver version, and the binaries I have from P920 works fine even though maybe not as recent as Archos ones. There is no open source implementation afaik. OpenMax is only for video codec, not 3D.

Thanks, you too! You have a mission now! Let's get this kernel running on A101 :)
[Gen8 General] scholbert:
Hi letama!

To be honest i meant developing openaos and kernel in parallel. Who ever does it :D

Anyway, as i wrote it... i started to play around with the new kernel.

It's hard for me these days to find some time for hacking and i'm not a genius in modifying kernel drivers and stuff.

So in fact i don't know how far i will get things rollin' :rolleyes:

Thanks a lot. I will compare your config with my setup.

Already found some missing parts in the board file...

Ah i see, so i'll take a look at the binaries.

I guess you meant P970, as stated earlier.

Haha, as stated above... nice mission anyway ;)

BTW, did you see there are some nice projects at gitorious.

A 2.6.37 kernel port for A43 and A101 had also been started already.

I had a short look at some parts... don't know about the exact state of the code.

Let's stay in touch!

Best regards,

scholbert
[Gen8 General] fzelle:
That's the problem with opensource.

Everything is there but so much energie is wasted because nearly nothing gets coordinated.
[Gen8 General] scholbert:
Agreed... that's why we try to communicate here ;)

On the long run, we should open a rep at gitorius as well...

Unfortunately i got no working git-infrastructure right now.

@letama:

Do you have working wifi on your A70?

The question for me is, if i try to integrate Ti's new framework (a.k.a. KIM, used on the gen9) or stick with RF_KILL....

Maybe you could make a short list of what is supported already... if you find a time slot.

Don't hurry, the cold and dark winter is yet to come :p

EDIT:

More info about 2.6.37 kernel hosted at gitorious:

http://dev.openaos.org/wiki/Gen8Linux2.6.37?version=18

Most of the dev's will know i guess.

Greets,

scholbert
[Gen8 General] letama:
I don't agree. That's problem and strength of enthusiasts hacking, not really an opensource problem. Opensource doesn't equal dis-organisation, there are plenty of well structured opensource projects around the globe. Here we're just hacking for pleasure at "low scale".

Don't forget that most of us are doing this as a leisure, not as work. Software development is my job but what I do on my Archos is only for pleasure and educational purpose, and on my free time. You can't direct and organize free time or else it becomes a job :).

---------- Post added at 04:59 PM ---------- Previous post was at 04:58 PM ----------

On my side, what I did is in a git branch, I'll push it probably on Gitorious someday, I already have an account there.

No, no wifi yet, I didn't have a look at it but if it's possible, I'd like to stay as close as possible to Archos sources. They are pushing fixes and have access to stuff we don't have, so we'll get benefits if we stay close to them.

:)

Here is what I have working from memory:

- Frame Buffer and panel

- 3D

- Sound

- Buttons

- Probably accelero

- sdcard

- usb gadget

- android adb/mass storage

- ram console

What I didn't check and could work:

- OMX

- usb host

- Battery/charging

- Power Management

What does not work/probably doesn't:

- Touchscreen

- Wifi

- hdmi

- Camera

Yes, I checked this kernel, interesting one indeed. The advantage of starting from Archos one though is that they have "modern" drivers and we benefit from their underlying work on Gen9/Future Gen8.5 (3630 A70S2/H2,..). I don't know if they plan to release Gingerbread/ICE on 8.0, but they'll probably do something on S2/H2 and we could eventually push it to 8.0.
[Gen8 General] scholbert:
Hi letama!

Of course your right...

To be exactely, i "Agreed..." in this particular case, Archos kernel development.

There are already many branches of the stock one on gitorious and you'll have to find out yourself what has been changed, because of missing documentation and stuff.

Anyway, as you stated these are hobbyist projects.

Nice...

Yeah that's what i thought.

In fact on gen9 there's a new framework replacing RFKILL, because it will become obsolete in newer kernels. We should use KIM for gen8 as well.

Thanks a lot for the list. I must admit that i'm lacking time to implement A101 drivers and missing parts right now. Let's see what happens the next weeks :o

I was able to compile a 2.6.35 kernel with a modified config based on my first attempt and the config you posted here. I did not test it on my A101 yet, but sooner or later i will... :rolleyes:

See above... KIM is the best example.

BTW, do you know this page:

http://www.droid-developers.org/wiki/How_to_load_mbmloader_from_SD_card

Had a look into the 1st stage loader again, and apart from rawfs it supports also fat filesystem. I found a configuration setup in the disassembly which might switch to initialize MMC1 (external MicroSD slot) instead of MMC2 (onboard eMMC).

So by using the scratchpad memory and a tweaked 1st stage loader it should be possible to completely boot from external media even without hacking the hardware. I will check this out the next days.

I know that only a few around would benefit, but this way the gen8 devices would be even more like a developer platform :D.

Right now i'm in the progress of enhancing some IDA scripts for OMAP3 (based on the ones xvilka once published). I hope this will give me even more insights of the bootcode disassembly.

O.k. i see you made good progress on hacking the gen9, keep on your great work and stay clean ;)

Best regards,

scholbert
[Gen8 General] letama:
Hi Scholbert!

Wow, interesting material there! I keep that in my archives, I'll try to take a look someday.

Sorry to hijack the thread a bit: I had a question for you, I noticed this in A101 board source code:

/* UART configuration */
if (hardware_rev >= 2) {
if (uart3_on_usb) {
/* configure padmux to route uart3 to usb-otg dp/dm */
omap_mux_init_signal("uart3_rx_irrx.safe_mode",
OMAP_PIN_INPUT_PULLDOWN);
omap_mux_init_signal("usba0_otg_dm.uart3_tx_irtx",
OMAP_PIN_INPUT | OMAP_PIN_OFF_INPUT_PULLUP);
omap_mux_init_signal("usba0_otg_dp.uart3_rx_irrx",
OMAP_PIN_INPUT_PULLUP | OMAP_PIN_OFF_INPUT_PULLUP);

If I'm reading it well, it means that I could have console on otg usb port ?

I don't have the right cable so I couldn't test, but I presume that it's raw serial on usb pins? So I probably need an appropriate driver for that, I saw Cisco routers do have this kind of thing. Did you came across anything like this ?

:) Will do. Gen9 is an easy platform compared to Gen8 finally.

Best,

LeTama
[Gen8 General] scholbert:
Good morning letama!

Yupp these guys rock... i once had contact with xvilka during intensive JTAG hacking on my milestone.

O.k. no problem... i can tell you from OMAP3 point of view.

The USB OTG can be swapped to UART3 function.

These functionality is shared on the same pins.

It depends on the hardware design how they treated these pins, but by using a simple logic converter to put the IO to RS232 you'll be in.

Of course you'll have to set up UART3 as shown in the sources.

EDIT

Found it... see the padmux section at page 3473 (control module) in OMAP4460_ES1.x_PUBLIC_TRM_vK.pdf:

CONTROL_CORE_PAD0_USBA0_OTG_CE_PAD1_USBA0_OTG_DP[31:16] 0x194 usba0_otg_dp uart3_rx_irrx uart2_rx safe_mode
CONTROL_CORE_PAD0_USBA0_OTG_DM_PAD1_FREF_CLK1_OUT[15:0] 0x198 usba0_otg_dm uart3_tx_irtx uart2_tx safe_mode

For some background you might grab some datasheets about 4430 or 4460 over here:

http://www.ti.com/general/docs/wtbu/wtbudocumentcenter.tsp?templateId=6123&navigationId=12667

This page is sometimes hard to find, but it's all there :D

Yeah guess i'll buy one sooner or later, looks like a nice device.

How about the displays on gen9?

Do they use higher quality panels now?

Have a nice day,

scholbert
[Gen8 General] letama:
Ok, the omap part was what I understood. Regarding electrical, it can't be a simple straight usb cable hooked to PC usb ? Too bad. I was hoping for something simple there :). Worth the effort though, my last kernel doesn't boot and doesn't crash, can't see any log without console. Thanks for the hints.

Yes, it's quite nice even though not perfect, but for the price I believe it has no match currently on the market. Display is not as nice as IPS like in Samsung or Acer, but it's much better than my A70 (that I already liked better than Gen8 A101).

I use it almost only for hacking pleasure so I don't have much user experience on it, but during the small time I actually used it, it behaved well.
[Gen8 General] alex@debi:
The toolchain works Ok on current stable Debian x86 as Virtualbox guest on the x86_64 host. It's a pity it doesn't work on x86_64 directly... Maybe it can work on 64bit with 32bit libs installed, but I didn't try that.
[Gen8 General] scholbert:
Hey alex@debi!

Thanks for the feedback!

The toolchain had been compiled on a 32-Bit host... to make it work for a 64Bit system you'll have to recompile that stuff.

I guess there's no other way.

EDIT:

I prepared a 64Bit toolchain in the meantime... i will put a link here for download soon!!

No problem to use the full blown buildroot environment though.

Regards,

scholbert
[Gen8 General] alex@debi:
You're welcome

Unfortunately I'm too lazy to build my own toolchain... So I have to use a ready-made one from Emdebian.org, it works on 64bit.
[Huawei Ideos X5 U8800] toopp:
Good day all, I need the opinion of professionals in this field.

So there I U8800 which is not included.

Mashines came from China, normally turned on and worked with the impurity operator but the lack of Russian language does not suit me.

I have attempted to flash the phone yourself an official firmware, which was taken from huaweidevice.com

attempt was the following: the internal memory files were recorded and selected the firmware update from the phone menu, it perergruzilsya, something began to unpack, and then went to reboot and it has not returned from ......

Now when you turn it vibrates just slightly and all, black screen, no LEDs are lit, the connection charge only responds to vibration.

WHAT SHOULD I DO?
[Huawei Ideos X5 U8800] katu2006:
Which Rom did you try to install?

Is yours a U8800? or a U8800Pro?
[Huawei Ideos X5 U8800] NForce25:
you might wanna rewrite your post in your native language too, because even google translate sucks sometimes
[Huawei Ideos X5 U8800] toopp:
1. U8800 V100R001C00B138SP04(Normal) installed in the internal memory :mad:

2. U8800+

sorry for my English, I use Google translator ...
[Huawei Ideos X5 U8800] toopp:
Итак имеется у меня "кирпич" U8800 который еще 2 дня назад таковым не был.

Пришел апарат из китая, нормально включился и работал с месным оператором но отсутсвие русского языка меня не устраивало.

Мною была предпринята попытка самостоятельно прошить телефон официальной прошивкой, которая была взята из huaweidevice.com

попытка заключалась в следующем: во ВНУТРЕННЮЮ память были записаны файлы и выбран пункт обновление прошивки из меню телефона, он перергрузился, начал что-то распаковывать, после чего ушел в ребут и из него не возвратился......

теперь при включении он только слегка вибрирует и все, экран черный, никакие светодиоды не горят, на подсоединение зарядки реагирует только вибрацией.

в итоге - извечный вопрос: (кто виноват я знаю) и ЧТО ДЕЛАТЬ?
[Huawei Ideos X5 U8800] NForce25:
Твоей главной ошибкой было то, что ты выбрал прошивку для U8800, хотя аппарат твой U8800Pro. Если не включается режим розового экрана (зажать обе кнопки громкости и кнопку включения одновременно на несколько секунд) - у тебя кирпич. У нас в литве много кто от этого пострадал, в СЦ телефоны заменили на новенькие. У тебя выход - искать СЦ у которого есть в наличии оборудование JTAG, либо отсылать его обратно в китай, может заменят