PDA

View Full Version : Linux on HTC Hermes


pof
09-08-2006, 11:54 PM
Hello,

Anyone interested in porting linux to HTC Hermes? The Samsung processor is currently supported by vanilla 2.6 kernel :D

I tried running GNU HaRET 2006070419 version, here's the output of some commands:


# telnet 192.168.1.23 9999
Trying 192.168.1.23...
Connected to 192.168.1.23.
Escape character is '^]'.
Welcome, this is GNU/HaRET running on WindowsCE v5.1
PocketPC
HERM200
Minimal virtual address: 00010000, maximal virtual address: 7fffffff
CPU is ARM ARM arch 4T stepping 0 running in system mode
Enter 'HELP' for a short command summary.

-----------------
FB1: form=1 bpp=16 fbaddr=4E800000/10800000 x=240/2 y=320/480
FB0: form=160 bpp=16 fbaddr=4E800000/10800000 x=240/480 y=320/480
HaRET(1)# dump wince
Wince information
curr_perm: 00010001, memdiv: rdisk= 64 ram= 12493 pagesize= 4096
memdiv1: rdisk= 64 of 14612 ram= 12493 of 12493
memdiv2: 3 rdisk= 64 of 14612 ram= 12493 of 12493
OEMINFO: ncha=9
OEMINFO: HERM200
OEMINFO: HERM200

PLATFORMTYPE: PocketPC
PLATFORMTYPE: PocketPC

machine_id:0
audio_innum=1, audio_outnum=1
32snapshot failed


I don't think the Samsung SC32442A-400MHz processor is supported by this version of HaRET, but I found a page in russian (http://linux.sp.ru/) where there is a version of HaRET for s3c2442 processors available!! :)

Here is some interesting output of this haret version:


# telnet 192.168.1.23 9999
Trying 192.168.1.23...
Connected to 192.168.1.23.
Escape character is '^]'.
Welcome, this is HaRET running on WindowsCE v5.1
Minimal virtual address: 00010000, maximal virtual address: 7fffffff
CPU is ARM ARM arch 4T stepping 0 running in system mode
Enter 'HELP' for a short command summary.
HaRET(1)# cpudetect
Warning: Detected CPU family: S3C24XX
HaRET(2)# cpuwgpio 1
Warning: Ready to watch s3c24xx GPIO
f0004 - GPA: 1
f0014 - GPB: 4e
f0024 - GPC: 3621
f0034 - GPD: 0
f0044 - GPE: f7e8
f0054 - GPF: d3
f0064 - GPG: 24be
f0074 - GPH: 7f
f00d4 - GPJ: 14b0
GPE changed to 0000f7e8
GPE changed to 0000f7c8
GPE changed to 0000f7e8
[...]
HaRET(3)# dump mmu mmu.txt


The MMU dump hungs the device :(

Samsung has also published manuals and datasheet of the processor, available here:

http://www.samsung.com/products/semiconductor/MobileSoC/ApplicationProcessor/ARM9Series/SC32442/SC32442.htm

More information and kernel patches for Samsung SC32442A procesor can be found here:

http://www.fluff.org/ben/linux/

So, we have a lot of work to do... any developers able to help?

pof
10-08-2006, 01:31 AM
I've created a page on the wiki for the Hermes Linux port here:

http://wiki.xda-developers.com/index.php?pagename=Hermes_Linux

goestoeleven
10-08-2006, 04:05 AM
Forgive me for asking, but why would you want to put Linux on this device?

We've got enough issues getting support for the WM5 ROMs, don't you think?

If there's a good reason, I'd love to know what it is!

Syphon Filter
10-08-2006, 08:09 AM
Forgive me for asking, but why would you want to put Linux on this device?

We've got enough issues getting support for the WM5 ROMs, don't you think?

If there's a good reason, I'd love to know what it is!

If there's a mountain to be climbed... :wink:

goestoeleven
10-08-2006, 12:32 PM
That's what I figured... Good luck!

vincefer
13-08-2006, 11:43 AM
Well, may be climbing that mountain is the main reason. But here you have another, in my opinion, interesting reason:

http://www.linuxdevices.com/articles/AT7937511405.html

cr2
23-09-2006, 09:34 PM
The MMU dump hungs the device :(


What about running the "DUMP MMU" with gnuharet ? You can also try other commands
(POWERMON 10; NLED*)
They are ported from itsutils and should not depend on the CPU.

pof
08-10-2006, 03:57 AM
Hey cr2! Sorry for the late reply but I didn't see your post before :(

With gnuharet, powermon 10 works, shows this:

HaRET(4)# powermon 10
2146258 1 70 % 3792 359 0 410 0 0 -1 -1 0 255 255 0 -1 -1 0 0 0 4
2147264 1 70 % 3792 359 0 410 0 0 -1 -1 0 255 255 0 -1 -1 0 0 0 4
[...]

Also nled* commands work, I can make the device vibrate with "nled on 1" and stop it with "nledoff 1", etc..

The MMU DUMP was ok with gnuharet, see attached file! :)

I also updated the wiki page (http://wiki.xda-developers.com/index.php?pagename=Hermes_Linux) with some info about the Hermes hardware, as there are now pictures of the chipsets available, see this post:
http://forum.xda-developers.com/showthread.php?t=279151

lkcl
25-11-2006, 07:13 PM
got one. busy with htc sable. start when i'm done or bored.

pof
06-12-2006, 03:45 AM
Glad to see that lkcl and cr2 got an Hermes too :)

This sure means we'll see a linux kernel booting soon! :rolleyes:

BRad Barnett
06-12-2006, 05:25 AM
Glad to see that lkcl and cr2 got an Hermes too :)

This sure means we'll see a linux kernel booting soon! :rolleyes:

It sure would be damned sweet to get rid of M$'s OS on this device! By the way, how is Qtopia and other Linux PDA "stuff" doing these days? The last time I tried it was back on my IPAQ in... 2001 I think.

pof
06-12-2006, 09:05 AM
You have GPE (http://gpe.handhelds.org/) and Opie (http://opie.handhelds.org/) as the main graphic environment used in handheld devices those days.
It seems that soon a new environment called OpenMoko (http://www.openmoko.com/press/index.html) will be released under a free license too, this one is more phone-focused than the others.

N2h
08-12-2006, 02:05 PM
pof
thanks for the post , im glad i came across it,
somethings been on my mind for the last few days, a mate at work is always on about Linux so it got me thinking, id like to give it a try on my TyTN
Iv got 2 questions for you,
first is there a newbie guid to running Linux on PDA's il have a look on wiki next im sure il find something. is there any that you guys can recommand which you have found helpfull.

2nd Now this is the question thats bugging me,,,,,
Can we run 2 OS on a PDA????
is this poss? to have a dual boot option when the PDA starts so we can select either Linux or WM05, both on there own will run on the device, how about installing both at the same time, and then being able to boot with one,

just some thoughts>?

I might start another thread on this just incase this thread isnt getting anymore traffic

well time to get back to work and start doing the job im actually getting paid to do

pof
08-12-2006, 02:34 PM
first is there a newbie guid to running Linux on PDA's il have a look on wiki next im sure il find something. is there any that you guys can recommand which you have found helpfull.

Depends very much on which device you want to run linux, on the Hermes is not possible yet. But for the Universal or BlueAngel you have some guides here:

http://www.handhelds.org/moin/moin.cgi/Universal
http://www.handhelds.org/moin/moin.cgi/UniversalHowtoInstallLinux

http://www.handhelds.org/moin/moin.cgi/BlueAngel



Can we run 2 OS on a PDA????
is this poss? to have a dual boot option when the PDA starts so we can select either Linux or WM05, both on there own will run on the device, how about installing both at the same time, and then being able to boot with one,

You have WM5 on your flash, and Linux on the SD card. You start your pda with WinCE and then browse to storage card and run gnuharet.exe which will "destroy" WinCE and boot the Linux kernel and initrd found on FAT32 partition of SD card. Then from initrd, you mount the root filesystem on another partiton of the SD card... :)

N2h
08-12-2006, 04:16 PM
pof thanks for the quick reply
il b ereading up on the guide links you have given,
also just to clarfy point 2

-----------------------
You have WM5 on your flash, and Linux on the SD card. You start your pda with WinCE and then browse to storage card and run gnuharet.exe which will "destroy" WinCE and boot the Linux kernel and initrd found on FAT32 partition of SD card. Then from initrd, you mount the root filesystem on another partiton of the SD card...
Today 02:05 PM
------------------------

by this means can we boot with WM and then run Linux from SD card once this is run would WM be completey wiped from device memory? so any data we had on the device for WM will be lost,
just so im explaing myself propley, i was wondering if you can keep both OS on the device and SD card boot from WM when you need that and when you want to use Linux boot with Linux but without losing you WM5 data etc.
same as some of the apple macs that can boot with windows and apple oc from the same machine and switch between the differnt OS's

thanks for the quick reply,

Iv got a collegue with universal I wonder if he will let me borrow his Universal??? lol

pof
08-12-2006, 05:03 PM
You can boot linux from SD card and you don't loose any data on WM5 when you shutdown linux and go back to WM5.

N2h
08-12-2006, 05:24 PM
pof thanks mate,

il be hopefully running Linux on my Tytn,
you never know,,,,,,,,,,, by the time i learn and update myself on linux it may running on our devices
all the best to anyone else also trying!!!

elysion
16-12-2006, 10:10 PM
I would love to try and help you guys, but i haven't got much experience in these kind of stuff. Where should i start looking for more info on the project?

pof
17-12-2006, 03:59 AM
The status of hermes linux port is always updated at this wiki page:
http://wiki.xda-developers.com/index.php?pagename=Hermes_Linux

All development happens at #htc-linux in freenode irc server, but unfortunately as of now there's not a booting kernel yet for the Hermes, so you need some knowledge of low level programming to help at this stage.

elysion
17-12-2006, 02:11 PM
i actually have studied low level programming with assembly and c, but i'm not that familiar with kernels :-/.

samjam
18-12-2006, 01:26 PM
I have an Orange M3100 and kernel hacking experience under a different name.

I'll get the wiki-linked gnuharet and see if I can fail to boot linux blue-angel-style sometime today.

Can anyone share .config files being used as a current kernel start point?

Final question, is there anywhere debug output can go? If it helps I can write an encoder/decoder that uses hermes LEDs and a webcam on a PC to decode ascii text.

...

Sam

cr2
18-12-2006, 01:32 PM
If it helps I can write an encoder/decoder that uses hermes LEDs and a webcam on a PC to decode ascii text.


Switching vibra "on" from a standalone haret payload is good enough:
http://wiki.xda-developers.com/index.php?pagename=HermesGPIO

It is not yet known how to control the LEDs.

samjam
18-12-2006, 05:51 PM
So we're still trying to get haret to start to boot kernel, rather than adjust the booting kernel to boot properly?

elysion
19-12-2006, 10:55 PM
I've done some testing with the haret and it seems that the keyboard is connected to the spi. Pressing a button on the keyboard also changes the states of gpe 0x1000 and 0x2000 values. Also i found out that when i use the touch screen it requests an iic interupt, but i'm really not sure what that means, because if i connect the pda to the charger it no more requests the interupt every time i touch the screen :-/. Any ideas why this happens?

Any suggestions what kind of research would be beneficial for the project at this stage?

one thing i found out also is that timer0 controls the pwm signal of the backlight... but that's a software thing, so not much benefit from knowing that as timers 0,1,2,3 at least support pwm. It's still somehow kinda neat to dim the backlight using haret :D.

samjam
20-12-2006, 07:48 AM
About the iic interrupt; in your backlight settings do you have "turn off backlight if not used" disabled when not on battery power?

I guess so, and that the interrupt is to reset the backlight timeout.

Sam

cr2
20-12-2006, 09:13 AM
I've done some testing with the haret and it seems that the keyboard is connected to the spi.

Can you determine the SPI clock speed ?


Also i found out that when i use the touch screen it requests an iic interupt, but i'm really not sure what that means, because if i connect the pda to the charger it no more requests the interupt every time i touch the screen :-/. Any ideas why this happens?

My first guess was that the "click" sound is sent to the speakers on a touch.
Can you trace the I2C datastream ?
On PXA there is an I2C monitor register at 0x40301688.


Any suggestions what kind of research would be beneficial for the project at this stage?

It is necessary to dump the CPU core settings like serial speeds, SPI speed, I2C ids and so on.

samjam
20-12-2006, 09:23 AM
About the iic interrupt; in your backlight settings do you have "turn off backlight if not used" disabled when not on battery power?

I guess so, and that the interrupt is to reset the backlight timeout.

Sam

Or maybe it's to stop the auto-poweroff, which is also disabled by default when not running on battery.

I can help more, I've read the haret docs, but I still don't know how you used haret to get the results you did. I feel like a guy with his first lock-pick set.

Please could you post a step-by-step of how you used haret to find out about the interrupt? That should be enough to get me started.

I've reverse engineered memory maps for the old 2-line sharp pocket computers and such, I just need an introduction to effective use of these tools.

Thanks



Sam

elysion
20-12-2006, 12:12 PM
Well, i just watched the interupt controllers source pending (srcpnd) register. Hope this is ok? The register is located at 0x4A000000 and i added the watch like this on the haret:
addwatch p2v(0x4A000000)

How can you use the haret while connected with an usb cable? I was able to figure out the ip address, but telnet cannot connect to port 9999 :-/.

samjam
21-12-2006, 08:00 AM
How can you use the haret while connected with an usb cable? I was able to figure out the ip address, but telnet cannot connect to port 9999 :-/.

What kernel do you have?
Are you using rndis or the old ipaq drivers? Have you got the pls tools working?

Sam

elysion
21-12-2006, 05:26 PM
I dumped the pin config of the gpio ports, and got these results:

gpacon: 00000000111111110011111111111110
gpa0: output
gpa1: addr16
gpa2: addr17
gpa3: addr18
gpa4: addr19
gpa5: addr20
gpa6: addr21
gpa7: addr22
gpa8: addr23
gpa9: addr24
gpa10: addr25
gpa11: addr26
gpa12: nGCS[1]
gpa13: nGCS[2]
gpa14: output
gpa15: output
gpa16: nGCS[5]
gpa17: CLE
gpa18: ALE
gpa19: nFWE
gpa20: nFRE
gpa21: nRSTOUT
gpa22: nFCE
gpa23: reserved
gpa24: reserved


gpbcon: 01 01 01 01 01 01 01 01 01 00 10
gpb0: TOUT0? (10)
gpb1: Input
gpb2: Output
gpb3: Output
gpb4: Output
gpb5: Output
gpb6: Output
gpb7: Output
gpb8: Output
gpb9: Output
gpb10: Output


gpccon: 01 01 01 00 01 01 01 01 01 01 01 01 01 01 01 01
gpc0: Output
gpc1: Output
gpc2: Output
gpc3: Output
gpc4: Output
gpc5: Output
gpc6: Output
gpc7: Output
gpc8: Output
gpc9: Output
gpc10: Output
gpc11: Output
gpc12: Input
gpc13: Output
gpc14: Output
gpc15: Output


gpdcon: 01 01 01 01 01 01 11 01 01 01 01 01 01 01 11 11
gpd0: nSPICS1
gpd1: SPICLK1
gpd2: Output
gpd3: Output
gpd4: Output
gpd5: Output
gpd6: Output
gpd7: Output
gpd8: Output
gpd9: SPIMOSI1
gpd10: Output
gpd11: Output
gpd12: Output
gpd13: Output
gpd14: Output
gpd15: Output


gpecon: 10 10 10 10 10 10 10 10 10 10 10 01 00 01 01 01
gpe0: Output
gpe1: Output
gpe2: Output
gpe3: Input
gpe4: Output
gpe5: SDCLK
gpe6: SDCMD
gpe7: SDDATA0
gpe8: SDDATA1
gpe9: SDDATA2
gpe10: SDDATA3
gpe11: SPIMISO0
gpe12: SPIMODI0
gpe13: SPICLK0
gpe14: IICSCL (open-drain)
gpe15: IICSDA (open-drain)


gpfcon: 10 10 00 10 10 00 10 10
gpf0: EINT[0]
gpf1: EINT[1]
gpf2: Input
gpf3: EINT[3]
gpf4: EINT[4]
gpf5: Input
gpf6: EINT[6]
gpf7: EINT[7]


gpgcon: 00 00 00 00 00 10 00 00 00 10 10 10 10 10 10 00
gpg0: Input
gpg1: EINT[9]
gpg2: EINT[10]
gpg3: EINT[11]
gpg4: EINT[12]
gpg5: EINT[13]
gpg6: EINT[14]
gpg7: Input
gpg8: Input
gpg9: Input
gpg10: EINT[18]
gpg11: Input
gpg12: Input
gpg13: Input
gpg14: Input
gpg15: Input


gphcon: 00 00 00 00 00 01 01 01 10 10 10 10 01 01 01 01
gph0: Output
gph1: Output
gph2: Output
gph3: Output
gph4: TXD[1]
gph5: RXD[1]
gph6: TXD[2]
gph7: RXD[2]
gph8: Output
gph9: Output
gph10: Output


gpjcon: 00 00 00 00 00 00 01 01 01 01 01 01 00 01 01 01
gpj0: Output
gpj1: Output
gpj2: Output
gpj3: Input
gpj4: Output
gpj5: Output
gpj6: Output
gpj7: Output
gpj8: Output
gpj9: Output
gpj10: Input
gpj11: Input
gpj12: Input


Some of the results make a lot of sense, some a bit less and some no at all. I'll double check the values, and see if i read the settings correctly.

cr2
23-12-2006, 02:04 PM
Some of the results make a lot of sense, some a bit less and some no at all. I'll double check the values, and see if i read the settings correctly.

Please, add this data to wiki.

vlahokel
26-12-2006, 09:57 AM
Hello there,

I have an Imate jasjam (aka tytn) and would love to see linux running on this device. I think the device has great potential and the M$ operating system lets it down.

I am sure I am not the only one waiting for someone to 'make it boot linux' to a useable level (eg phone, mp3, camera, bluetooth etc working). I would like to contribute but I am not sure how to do so.

Maybe we could set up a donations page?

Regards,

Kelly

jasjamming
27-12-2006, 08:54 AM
it will ge nice to see a version of Ubuntu for the Tytn... Maybe the biollionaire who financially suports Ubunto and ships it for free could do something...

renatostore
28-12-2006, 10:56 AM
Hi,
I'm near to receive a P3600 (Trinity) device and It seems to have the same hardware of Hermes. If so we can have only one thread to port linux on these devices. Can someone confirm my assunption?
Thanks

cr2
05-01-2007, 11:25 PM
Is there an ascii registry dump somewhere ?
The serial port (s) speed settings do not make much sense to me ;-)

PS. Can confirm that the OHCI is used and running (also on Trinity),
so it seems very similar to the Universal's setup.

pof
06-01-2007, 12:15 AM
PS. Can confirm that the OHCI is used and running
do u mean we can access it from USB already ??

cr2
06-01-2007, 03:16 PM
do u mean we can access it from USB already ??
There is only 1 port (AFAIK) and it is used for UMTS data.
On pxa27x there are 3 host ports. 1 is used for UMTS, the 3 is unused.
We all hope that 2 can be convinced to access the external USB :)

daveh85
17-01-2007, 09:59 PM
I guess it will now be easier to get this done now that the bootloader is unlocked :)

pof
18-01-2007, 06:55 AM
No, linux is not flashed on NAND but booted from SD card.

elfwine
01-02-2007, 02:58 AM
any update on porting linux in Hermes?

rmorby
01-02-2007, 10:22 AM
Spotted this and my eyes nearly fell out

http://linuxdevices.com/news/NS9228125055.html

Linux on Hermes would be indeed very interesting. There is, however, clearly a big gap in the linux development community for smartphone. If only I'd stayed in IT.......

elysion
04-02-2007, 03:07 PM
Wow! That project seems to have gotten quite far. Isn't it so that G500 has quite the same hardware in it as hermes?

btw. what's the status on the hermes kernel?

vlahokel
22-02-2007, 06:20 AM
Is anybody still working on this project? If so what is the status?

Cant wait till my jasjam is booting linux :)

john_van_v
10-03-2007, 06:08 PM
The phone industry has to change; the phone monopolies have been broken up, but the corporate minds are still missing the empathic facilities-- that is a genetic defect that allows corporations to operate without morality.

It is also possible that Linux is not necessarily the best OS for the project. Phones have no harddrives; Linux is a server system.

Trancecoder
10-03-2007, 06:17 PM
Phones have no harddrives; Linux is a server system.

There are RTOS versions of Linux, you know. One example is http://www.lynuxworks.com/

cr2
18-03-2007, 11:32 PM
I dumped the pin config of the gpio ports, and got these results:


elysion,
i have put your data into wiki and added some other pins from my own
research. The I2S and CIF pin settings are still missing from the list.

cr2
07-04-2007, 02:46 PM
The kernel boots on hermes, but there are some differences between the HERM100 and HERM200 behaviour.
Does anybody have a HERM300 to check ?

scorpio16v
07-04-2007, 04:00 PM
The kernel boots on hermes, but there are some differences between the HERM100 and HERM200 behaviour.
Does anybody have a HERM300 to check ?

Hi cr2
I wish I could help. The only thing I have is a HERM300 aka MDA Vario II.
Unfortunately I have zero Linux knowledge. But anyway please could you explain the steps to boot the kernal and what we need to do this.
I think GnuHaret and a Telnet session are the simpliest things. Hope you show us M$ zombies the right way. :D

cr2
07-04-2007, 04:45 PM
You need to put 3 files somewhere on wince in one directory:

zImage
haret.exe
default.txt

The first one is here http://handhelds.org/~koconnor/HTCHermes/zImage
The second one is here http://handhelds.org/~koconnor/haret
(take the latest version)
default.txt is a simple text file

set KERNEL zImage
bootlinux

Then start the haret.exe program, and press the Run button.

scorpio16v
07-04-2007, 05:45 PM
Thanks for your reply.
Unfortunately booting stopps before the login prompt appears.:(

cr2
07-04-2007, 06:06 PM
Unfortunately booting stopps before the login prompt appears.:(

How did it stop ? Do you see the penguin ? Has the kernel crashed ?

scorpio16v
07-04-2007, 06:13 PM
How did it stop ? Do you see the penguin ? Has the kernel crashed ?
Yes, TUX is allready there.:)
It ends with Code : e1520003 aa00036f e5963004 (e5931024)
Hope I read it correctly ?
And the cursor blinks, but no login prompt like in this picture:
http://www.pierrox.net/G500/screenshots/waiting_for_someone_to_log_in.jpg

cr2
07-04-2007, 06:49 PM
Yes, TUX is allready there.:)
It ends with Code : e1520003 aa00036f e5963004 (e5931024)

Yes, it's a crash. But i have a better one for you :D
Get this executable and just run it
http://handhelds.org/~koconnor/HTCHermes/hack-haret.exe

It works for me, has and IP address of 192.168.0.206 (on usb)
and you can telnet there :)

scorpio16v
07-04-2007, 06:59 PM
Yes, it's a crash. But i have a better one for you :D
Get this executable and just run it
http://handhelds.org/~koconnor/HTCHermes/hack-haret.exe

It works for me, has and IP address of 192.168.0.206 (on usb)
and you can telnet there :)
The file doesn't exist on the server. :confused:

cr2
07-04-2007, 07:08 PM
The file doesn't exist on the server. :confused:
Get it here http://jornada820.sf.net/files/haret
but be careful. It can destroy your hermes, kill a cat and so on.
just YMMV.

Or better use this one:
http://www.handhelds.org/~koconnor/HTCHermes/herm-linux-20070407.exe

scorpio16v
07-04-2007, 07:26 PM
OK
It ends with:
/bin/sh: can't access tty; job control turned off
/ #
Telnet on 192.168.0.206 doesn't run. :(

edit:
the second file does the same crash

kevin2
07-04-2007, 07:36 PM
OK
It ends with:
/bin/sh: can't access tty; job control turned off
/ #
Telnet on 192.168.0.206 doesn't run. :(

edit:
the second file does the same crash

Use the file at:
http://www.handhelds.org/~koconnor/HTCHermes/herm-linux-20070407.exe

The procedure is this:
1 - Make sure usb is connected to hermes
2 - Run program above, and wait till it boots fully.
3 - unplug usb from hermes, and then plug it back in
4 - on host run: ifconfig usb0 192.168.0.200
5 - then run: telnet 192.168.0.206

Hope it works.

cr2
07-04-2007, 07:41 PM
OK
It ends with:
/bin/sh: can't access tty; job control turned off
/ #
Telnet on 192.168.0.206 doesn't run. :(

You need to boot with the USB cable inserted, and
after seeing the command prompt on your LCD
pull it out and stick back in.
/sbin/lsusb should show

Bus 002 Device 101: ID 0525:a4a2 Netchip Technology, Inc. Linux-USB Ethernet/RNDIS Gadget


Then run

ifconfig usb0 192.168.0.1

and then

telnet 192.168.0.206


edit:
the second file does the same crash

Ok. Do you telnet from windows ?

scorpio16v
07-04-2007, 07:45 PM
Ok. Do you telnet from windows ?

Yes,Is that the bug in my experiments ?:D

cr2
07-04-2007, 07:49 PM
Yes,Is that the bug in my experiments ?:D

No, but it can explain the problems.
We used linux as you can guess :)

scorpio16v
07-04-2007, 08:14 PM
After I went to the dark side (Linux) :) it semms to run.
btw My device shows:
/ # usb0: full speed config #1: 100mA, Ethernet Gadget, using CDC Ethernet
Is that host depended or a wrong driver ?

After a few minutes the Hermes screen went black. Is that normal ?

cr2
07-04-2007, 09:29 PM
After I went to the dark side (Linux) :) it semms to run.
btw My device shows:
/ # usb0: full speed config #1: 100mA, Ethernet Gadget, using CDC Ethernet
Is that host depended or a wrong driver ?

It is ok.


After a few minutes the Hermes screen went black. Is that normal ?

I have it too. We don't control the powersave functions on ATI chip,
so it's not surprising.

vlahokel
08-04-2007, 02:18 AM
I know kevin2 is using a herm100 so you probably already know this, but..

My herm100 works as described by cr2 and kevin2.

Telnet via usb works. :) (on linux host, didnt try windows)

Zgembo
08-04-2007, 07:19 AM
works here without problem on herm200... Same issue with powersave, screen becomes black... (after exactly 10 min here...)

aybabtu
19-04-2007, 12:41 PM
Hi cr2, duno if you remember me, I tried to port linux to some smartphone before.
Granted I have limited knowledge on these low level stuff or even programming, but I think I can help testing at least.
Can you upload the booting kernel source to somewhere?
Just wanna have fun.

pof
19-04-2007, 01:10 PM
Can you upload the booting kernel source to somewhere?

Download haret:
http://www.handhelds.org/~koconnor/HTCHermes/herm-linux-20070407.exe

Download zImage:
http://handhelds.org/~koconnor/HTCHermes/zImage

Put this on "default.txt":

set KERNEL zImage
bootlinux


Place everything in same folder, run haret and watch linux booting :)

You can connect via telnet to 192.168.0.206 trough usbnet.

aybabtu
20-04-2007, 01:00 AM
Download haret:
Download zImage:
http://handhelds.org/~koconnor/HTCHermes/zImage
You can connect via telnet to 192.168.0.206 trough usbnet.

Thanks pof,
but I already know how to download the compiled kernel and boot it,
maybe I wasn't clear and what I'm asking should be the patch
against the kernel, not the damn big source itself :)

pof
20-04-2007, 01:03 AM
sorry I read you too fast :)

kernel is on handhelds.org CVS:
http://handhelds.org/cgi-bin/cvsweb.cgi/linux/kernel26/arch/arm/mach-s3c2410/htchermes/

You can download with:

$ export CVSROOT=:pserver:anoncvs@cvs.handhelds.org:/cvs
$ cvs login
$ cvs co linux


You'll need toolchain to crosscompile installed on your system, then "make htchermes_defconfig".

aybabtu
20-04-2007, 12:20 PM
Got it, thanks pof.

futureshock
20-04-2007, 01:01 PM
Hi, have just overfly the last few posts...

when i read right linux boots on hermes right now??

steve

pof
20-04-2007, 01:06 PM
linux boots on hermes right now??
Yes, but still a lot of work to do to have a usable pda phone :)

tullio_80
24-04-2007, 04:16 PM
I call David and I am trying of give a hand to you with mine tytn, I have tried the files in order to make to leave linux and seems to work perfectly
do not see the hour to see to work linux on my jewel:) :) :)

Inphyy
24-04-2007, 05:30 PM
I call David and I am trying of give a hand to you with mine tytn, I have tried the files in order to make to leave linux and seems to work perfectly
do not see the hour to see to work linux on my jewel:) :) :)
AHh, my head hurts.

rdefalco
24-04-2007, 09:55 PM
I call David and I am trying of give a hand to you with mine tytn, I have tried the files in order to make to leave linux and seems to work perfectly
do not see the hour to see to work linux on my jewel:) :) :)

(piena di modi di dire italiani questa frase, paesano? :) )

@pof and other gurus
I didn't understand the current development status. Once you get into the shell screen and login with telnet, what can you do? Only basic linux commands?

tullio_80
26-04-2007, 07:29 AM
Beccatooooo
Comunque la mia voglia di veder girar linux sul tytn è sincera e spero di riuscir a contribuire al progetto...

Inphyy
26-04-2007, 08:56 AM
Is there any way for me to help with development?
dont have very much experinece with linux though.

Chatty
26-04-2007, 09:18 AM
Is there any way for me to help with development?
dont have very much experinece with linux though.

You must be kidding, don't you?


.wysiwyg { background-attachment: scroll; background-repeat: repeat; background-position: 0% 0%; background-color: #ffffcc; background-image: none; color: #000000; font-family: Verdana, Arial, Arial; font-style: normal; font-variant: normal; font-weight: 400; font-size: 10pt; line-height: normal } p { margin: 0px; }

Inphyy
26-04-2007, 09:34 AM
Not really, no.

pof
26-04-2007, 12:59 PM
You must be kidding, don't you?
It is never late to learn something :)

@Inphyy: Unfortunately if you are not a low level device programmer, there's not much you can do at this point, as linux is far from being usable now on hermes. A lot of drivers need to be developed / adapted and this requires some previous experience with kernel programming and reverse engineering as hardware specifications are sometimes not published. When we have an initrd that can be modified (now is embedded in the compressed zImage), then you can start playing with some init scripts, and help producing binary images of kernel and several GUI options available, and be beta tester and report bugs to developers.

Come into #htc-linux in freenode irc network if you want to follow the linux development progress on hermes and other htc devices; all the cool guys leading the development meet there, and lurking the channel is a very good source of wisdom if you are willing to learn.

Inphyy
26-04-2007, 02:51 PM
It is never late to learn something :)

@Inphyy: Unfortunately if you are not a low level device programmer, there's not much you can do at this point, as linux is far from being usable now on hermes. A lot of drivers need to be developed / adapted and this requires some previous experience with kernel programming and reverse engineering as hardware specifications are sometimes not published. When we have an initrd that can be modified (now is embedded in the compressed zImage), then you can start playing with some init scripts, and help producing binary images of kernel and several GUI options available, and be beta tester and report bugs to developers.

Come into #htc-linux in freenode irc network if you want to follow the linux development progress on hermes and other htc devices; all the cool guys leading the development meet there, and lurking the channel is a very good source of wisdom if you are willing to learn.
Sir,Yes,Sir.
All the cool guys eh? ^^

daveh85
04-05-2007, 10:27 AM
The last thing I get when it boots is:

"No filesystem could mount root, tried: ext2 vfat
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown block(1,0)"


Is this what everyone gets to?

thanks,
dave

pof
04-05-2007, 10:58 AM
Are you using a standard haret to boot the kernel, or "herm-linux-20070407.exe" which contains embedded zImage and initrd?

daveh85
07-05-2007, 11:21 AM
That would be why... I'm using one of the later builds... Sorry!

gueee
04-06-2007, 01:33 PM
Hi there,

i'm joining as a linux-enthusiast and an experienced hobbyist in low level device programming as well as electronics-design.

Maybe my participation can get us a little further to see linux runnin on this kind of HTC device (tytn/HERM300 in my case).

cr2
04-06-2007, 03:17 PM
i'm joining as a linux-enthusiast and an experienced hobbyist in low level device programming as well as electronics-design.


Get the kernel from CVS, compile it, boot and look for the bugs :)
Everything we know about the device is in the wiki.
The first obvious bug is linked to the NAND timing, which presumably
prevents the proper NAND chip identification:
http://pastebin.ca/508079

brandenk
14-08-2007, 06:43 AM
Any updates? :confused:

sarsaila
04-09-2007, 09:33 AM
please help me i try to make linux to boots on my hermes 100:(
i dont know how:(
it is any chance? to help me somebody ?
thank you very much!!!

sarsaila
04-09-2007, 09:59 AM
:confused: :(

lksey
05-09-2007, 02:37 AM
saesaila, you probably should read all about it once again(if u've read any info about that on wiki if not just go and read it)

if you've read it and there is nothing which can help you just list all the problems that you facing.

cr2
27-10-2007, 11:46 PM
Any updates? :confused:

Yes, after extensive tracing of ATI SDIO and comparing with other devices
we can conclude that it's the same SDIO core as used in the ASIC3.
It means that a modified asic3-mmc (himalaya/blueangel/universal/sable) driver will work on hermes/trinity/athena.
The main roadblock for further development is removed :)

http://wiki.xda-developers.com/index.php?pagename=ASIC3
http://wiki.xda-developers.com/index.php?pagename=ATIWxxxx

ss1271
29-11-2007, 05:35 AM
well....i think i was late to here....


i'm extremely interest in installing a Linux on Hermes, but donnot know how to start it...

anyone still working on it, please?

thanks a lot!!!!

cr2
29-11-2007, 12:21 PM
It means that a modified asic3-mmc (himalaya/blueangel/universal/sable) driver will work on hermes/trinity/athena.

I've traced the operation of asic3-sdio and atiw-sdio.
They certainly share the same registers, but not the operation mode.
therefore we need a separate driver, and an update to 2.6.23 kernel

ss1271
30-11-2007, 12:16 PM
if you mean...we cannot use Linux in Hermes yet...?:(

iceberg303
11-12-2007, 08:02 AM
I know first we need a working kernel on the phone but has anyone thought about trying to get outside help?

From an HTC tech (not the company it's self)
From another embeded project?
From TrollTech?
Or from here: http://alp.access-company.com/

I have a cingular 8525 and with any of the decent WM roms I have issues with the back lighting on the keyboard not working most of the time so Id love to have a Linux install on it where I can more easily troubleshoot things in a more familiar environment.

A simple GUI like the Access, qtopia, opie or something similar would b ideal as well.

I have some inside information from Motorola. The US cell providers do everything in their power to prevent phones running linux from coming to the US. The Motorola Razr2 is a linux phone, but to bring it to the US Motorola had to write a new OS for the phone. This holds true with several of their other phones that were linux based outside the US.

The reason they do this is that if they control the OS they have greater control over what you can install and use on their without having to pay extra service fees. If the Razr2 were linux based it would be much easier to install free themes and ring tones.

So for those of us stuck in the US projects like this are very important. So what can I do to help? My social skills and debugging skills are better than my barely existent hardware hacking skills.

Things are not as easy as they were back in the Oki days.

ANK08
05-01-2008, 11:01 AM
I'm agree, but I think there're 2 streets:

1. Free developing: this mean IMHO to ask help to an available to free (= accessible and modifiable, not necessary "gratis" :) ) code developer;
2. Close solution: to ask a company o a freelance developer help that can will propose to buy or download for free a close kernel and/or GUI.

Who's intersted to what? :)

However I'm agree to find the solution, otherwise I'm thinking to sell my Tytn :( : Win is too inefficient and slow.

__a
12-01-2008, 01:26 PM
Hi!
I have a Tytn device and i'm a linux novice. how can i help develop this thing?!


Best regards

Albert

EDIT: Got the latest files up and running on my device.. awsome :D

__a
12-01-2008, 05:29 PM
Since there was no straight-forward howto on getting hermes-linux up and running (and because it took me a while to figure out) i decided to write one myself! =) ..please feel free to use it as you please and also let me know if i wrote something wrong and I'll fix it!


Linux on TyTn

1. Get usbnet for your computer. Make sure to set up usbnet to have the static ip address 192.168.0.1.
linux: just setup the ip (ifconfig usb0 192.168.0.1)
osx: http://www.dsitri.de/wiki.php?page=AJZaurusUSB
win: http://docwiki.gumstix.org/Windows_XP_usbnet

problems? http://docwiki.gumstix.org/Setting_up_USBnet

2. Add an EXT3 partion to your device's memory card. It is important that you also keep a FAT-partion for Windows Mobile.

3. Go to http://handhelds.org/~koconnor/HTCHermes/

4. Get the latest herm-linux- file (currently herm-linux-20070930.exe)


EDIT: Steps 5-7 are not needed to use herm-linux-20070930.exe
5. Get the latest zImage file (currently zImage-20070709)

6. Create a file called default.txt:


set KERNEL zImage
bootlinux



7. Put these three files in a folder on your FAT-partion on the device's memory card (NOT the EXT3 partion!!!)
/EDIT

8. With usb-cable plugged in, run herm-linux-XXXXXXXXXX.exe. Linux will boot to somethink similar to this:


BusyBox v1.1.0 (2006.02.24-18:59+0000) Built-in shell (aSh)
Enter 'help' for a list of built-in commands.

/bin/sh: can't access tty; job control turned off
/ w



9. Unplugg the usb-cable and plug it back in again. Device will output something like:


usb0: full speed config w1: 100 mA, Ethernet Gadget, usi
ng CDC Ethernet



10. On your computer, telnet to 192.168.0.206:


$ telnet 192.168.0.206
Trying 192.168.0.206...
Connected to 192.168.0.206.
Escape character is '^]'.



BusyBox v1.1.0 (2006.02.24-18:59+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.



DONE!

scorpio16v
12-01-2008, 05:59 PM
just for curiosity :)
what is the difference between your way and the way to boot with haret ?
(described in post #49)

__a
12-01-2008, 07:25 PM
It is the same, but like I said there is no howto, so i wrote down how to get everything up and running step by step ;)

I know it will probably not help the development on the current stage of low-level programming, since all this must be rather obvious if your in that deep. I just thought that since I managed to figure out how to complete the install I might as well try to contribute the best I can with this knowledge if someone else like me wants to try it out!

Albert

jontxudino
04-02-2008, 11:24 AM
Hi! I have a Magician and a Hermes, on the magician linux works relatively fine, but now i would really like to use my hermes with it too.
I have been using Linux on my desktop long time ago, and i have some knowledge about how does it works and some programming.
My question is, how to work on the kernel for the pda? where is the source code for it, how to compile it? I really want to work on it and at least make it work the sd reader and/or keyboard. I dont think that'll be hard to make the keyboard to work.
Greetings!

cr2
05-02-2008, 09:41 AM
My question is, how to work on the kernel for the pda? where is the source code for it, how to compile it?

http://handhelds.org


I dont think that'll be hard to make the keyboard to work.

It's already done.

tball
08-03-2008, 12:40 PM
Hello.

How far are the development of linux to hermes? I am very exited if this is possible. But is the newest kernel to hermes from 2007? I got it running as well, but haven't there been any further development?

__a
09-03-2008, 12:36 AM
Hi tball!
if you look at the wiki-page you can see how far the development has come:
http://wiki.xda-developers.com/index.php?pagename=Hermes_Linux

so far the list includes:
* HermesMemoryMap
* GPIO
* Hermes hardware
* Hermes video
* Hermes CPLD
* Hermes keyboard keycodes

Newest build is "haret-20080304.exe" as far as i can see on
http://handhelds.org/~koconnor/haret/


/a

hoatienii
09-03-2008, 03:54 PM
Hi tball!
if you look at the wiki-page you can see how far the development has come:
http://wiki.xda-developers.com/index.php?pagename=Hermes_Linux

so far the list includes:
* HermesMemoryMap
* GPIO
* Hermes hardware
* Hermes video
* Hermes CPLD
* Hermes keyboard keycodes

Newest build is "haret-20080304.exe" as far as i can see on
http://handhelds.org/~koconnor/haret/


/a

how it run on hermes?

jontxudino
10-03-2008, 05:17 AM
Run the last haret from your pocket pc having default.txt (which I dont know where to get for hermes) and the kernel (zImage) in the same directory.

jontxudino
10-03-2008, 06:57 AM
Says same thing here...
After saying aroun 991 times
Bad eraseblock 1 at 0x???????? (so fast i cant read it)
...
Bad eraseblock 990 at 0x7bc0000
Bad eraseblock 991 at 0x7be0000
...
...
Blahblah Talking about my ethernet, MAC and mice controller...
...
...
No filesystem could mount root, tried: ext2 vfat
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)
Im using my 2gb transflash with 2 partitions: 1st FAT16 (#6 on table id) and 2nd ext3 (#83 on table id)
with 20MB for each one
also tried FAT32(#b) and ext3(#83) with 1512MB and the rest for the second.
after partitioning i do:
mkfs.vfat /dev/mmcblk0p1
and mkfs.ext2 (also tried with mkfs.ext3) /dev/mmcblk0p2

__a
10-03-2008, 07:26 AM
how it run on hermes?

Sry, my mistake! latest build seems be herm-linux-20070930.exe just like you said! (http://handhelds.org/~koconnor/HTCHermes/)


Says same thing here...
After saying aroun 991 times
Bad eraseblock 1 at 0x???????? (so fast i cant read it)
...
Bad eraseblock 990 at 0x7bc0000
Bad eraseblock 991 at 0x7be0000
...
...
Blahblah Talking about my ethernet, MAC and mice controller...
...
...
No filesystem could mount root, tried: ext2 vfat
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)
Im using my 2gb transflash with 2 partitions: 1st FAT16 (#6 on table id) and 2nd ext3 (#83 on table id)
with 20MB for each one
also tried FAT32(#b) and ext3(#83) with 1512MB and the rest for the second.
after partitioning i do:
mkfs.vfat /dev/mmcblk0p1
and mkfs.ext2 (also tried with mkfs.ext3) /dev/mmcblk0p2

This is why there is a hermes version!

jontxudino
10-03-2008, 07:29 AM
mmm... i would bet im using hermes zimage, but the haret should be the one exclusive for hermes??? oops! if is that... my bad! Sorry!

jontxudino
10-03-2008, 07:32 AM
hmm! yes, you are right! i booted, but no keyboard supprt... :S
im i doing something wrong?? mm....

cr2
10-03-2008, 10:00 AM
hmm! yes, you are right! i booted, but no keyboard supprt... :S
im i doing something wrong?? mm....

you need to compile the 2.6.24 version (i think) from linuxtogo git repository.

jontxudino
10-03-2008, 10:03 AM
mmm... that make sense...!
ill try tomorrow, im going to sleep. is 3AM here already xD
thanks!

cr2
10-03-2008, 10:03 AM
Bad eraseblock 1 at 0x???????? (so fast i cant read it)

The NAND layout makes S3C-NAND driver unhappy.


No filesystem could mount root, tried: ext2 vfat
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)

The SD driver is unfinished, so you are forced to use ramdisk or mount root over nfs.

jontxudino
10-03-2008, 10:06 AM
Actually, the problem was that i was using the regular haret application, which as far as i know it have the initrd binary...
correct me if im wrong please...
All of this staff ill go updating on the wiki tomorrow.
To have the keyboard working is a nice step, for me at least...

hoatienii
10-03-2008, 01:40 PM
I run herm-linux-20070930.exe on my Hermes,
screen display

....
/bin/sh: can't access tty: job control turned off
..

help me please :(

hoatienii
10-03-2008, 05:02 PM
Since there was no straight-forward howto on getting hermes-linux up and running (and because it took me a while to figure out) i decided to write one myself! =) ..please feel free to use it as you please and also let me know if i wrote something wrong and I'll fix it!


Linux on TyTn

1. Get usbnet for your computer. Make sure to set up usbnet to have the static ip address 192.168.0.1.
linux: just setup the ip (ifconfig usb0 192.168.0.1)
osx: http://www.dsitri.de/wiki.php?page=AJZaurusUSB
win: http://docwiki.gumstix.org/Windows_XP_usbnet

problems? http://docwiki.gumstix.org/Setting_up_USBnet

2. Add an EXT3 partion to your device's memory card. It is important that you also keep a FAT-partion for Windows Mobile.

3. Go to http://handhelds.org/~koconnor/HTCHermes/

4. Get the latest herm-linux- file (currently herm-linux-20070930.exe)

5. Get the latest zImage file (currently zImage-20070709)

6. Create a file called default.txt:


set KERNEL zImage
bootlinux



7. Put these three files in a folder on your FAT-partion on the device's memory card (NOT the EXT3 partion!!!)

8. With usb-cable plugged in, run herm-linux-XXXXXXXXXX.exe. Linux will boot to somethink similar to this:


BusyBox v1.1.0 (2006.02.24-18:59+0000) Built-in shell (aSh)
Enter 'help' for a list of built-in commands.

/bin/sh: can't access tty; job control turned off
/ w



9. Unplugg the usb-cable and plug it back in again. Device will output something like:


usb0: full speed config w1: 100 mA, Ethernet Gadget, usi
ng CDC Ethernet



10. On your computer, telnet to 192.168.0.206:


$ telnet 192.168.0.206
Trying 192.168.0.206...
Connected to 192.168.0.206.
Escape character is '^]'.



BusyBox v1.1.0 (2006.02.24-18:59+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.



DONE!

help me to install driver :(

jontxudino
10-03-2008, 06:56 PM
help to install what driver? if you mean the usb driver for ethernet depending on the distro you use on your host pc it will already be installed. im not sure right now, but I bet that on my ubuntu was already installed the last time I tried. today ill update the wiki.
bye!

__a
10-03-2008, 11:28 PM
help me to install driver :(

Guide:
http://docwiki.gumstix.org/Windows_XP_usbnet

the file linux.inf mentioned in the guide:
http://davehylands.com/linux/gumstix/usbnet/linux.inf

igord
11-03-2008, 12:20 AM
It says EXT3 hmm, I think we can put getnoo stage4 there will gui work then?

jontxudino
11-03-2008, 12:43 AM
It says EXT3 hmm, I think we can put getnoo stage4 there will gui work then?

No. It doesnt have nothing to do with the filesystem
you need controllers for making the hermes' hardware know how to act in every moment.

jontxudino
11-03-2008, 01:45 AM
Hi again... xD
im trying to compile the kernel but no way...
I start in my host computer running Ubuntu with this:
make htchermes_defconfig
im not sure if that's right. What am i supposed to do later?
Thank you!

__a
12-03-2008, 02:00 PM
what kernel are you trying to compile?

jontxudino
12-03-2008, 06:59 PM
the lastest from linuxtogo git repository

ixar
18-03-2008, 09:46 AM
I am interested as well in getting linux working on my Hermes, I will give it a try to see if I can do anything helpful to port it.

ixar
28-03-2008, 10:07 AM
Ok now I have everything set up.
I have been able to recompile linux kernel from cvs.hh.org, rebuild a initrd with a busybox, rebuild a bundle with haret.

I read somwhere that the keyboard was supported, but it does not look to work on my kernel build. Maybe I will try to fix that first.
(edit: it seems that the linuxtogo git repository has the latest changes, I will try it tonight).

Then I will have a look at the ati driver, since vsfb is blocking a standalone boot (ie without wince).

If you have any pointer, doc, suggestion do not hesitate.

__a
29-03-2008, 08:18 AM
the lastest from linuxtogo git repository

OK, just checking!


If you have any pointer, doc, suggestion do not hesitate.

i suppose you've already tried the wiki (http://wiki.xda-developers.com/index.php?pagename=Hermes_Linux) ? have you checked the irc-channel (including logs) too? i think there is a lot of knowledge on irc that hasnt been documented here or on the wiki.

cr2
29-03-2008, 11:15 PM
Then I will have a look at the ati driver, since vsfb is blocking a standalone boot (ie without wince).


I've done a lot of research into the ATI init, and will try to document it in the comimg two
weeks. The most difficult part is the clock setup.

ixar
01-04-2008, 10:44 AM
I've done a lot of research into the ATI init, and will try to document it in the comimg two
weeks. The most difficult part is the clock setup.
Great.

I am ready to work on it.
I am trying to find my way, hopefully I can help ;)

MaTai
01-04-2008, 11:45 AM
Hello, I need to hepl now

Now, I checked out source from cvs and can complie and run it, but :
- When i telnet, after some second it run very slowly.
- Can i add a my program and run?

ixar
08-04-2008, 11:33 AM
Hello, I need to hepl now

Now, I checked out source from cvs and can complie and run it, but :
- When i telnet, after some second it run very slowly.
- Can i add a my program and run?
For me it works, I used the git linuxtogo reposistory branch "work".

I have some bugs on the keyboard management, but I am working on it. Maybe it does not come directly from the keyboard driver itself.

To add your program you can add it in the init ramdisk or you could even try to put it on the SD card and mount the FAT, but I didn't try it myself.

For the moment I focus on the kernel itself.

__a
09-04-2008, 08:16 AM
I have some bugs on the keyboard management, but I am working on it. Maybe it does not come directly from the keyboard driver itself.

To add your program you can add it in the init ramdisk or you could even try to put it on the SD card and mount the FAT, but I didn't try it myself.

For the moment I focus on the kernel itself.

Sounds great ixar! Could you tell us what you have done, and update the wiki-page maybe? That way more people might want to/be able to join the project.. as of now the wiki makes it look like there is almost nothing going on :(

ixar
09-04-2008, 01:16 PM
Sounds great ixar! Could you tell us what you have done, and update the wiki-page maybe? That way more people might want to/be able to join the project.. as of now the wiki makes it look like there is almost nothing going on :(
I will put a step by step procedure for those who wants to try it themself. In order to have a fully working dev environment. It took me some time to figure out how everything works (ie Haret is used as a bootloader and contains an embedded kernel image along with the initrd).

I also intend to release my work for testing purposes if anyone is interested.

I will do it by the end of the week. But you know how it works, it is not easy to keep a schedule as I do it during my free time ;)

For the progresses, it may even take me longer as I need first to understand the hardware itself and how things works.

hoatienii
10-04-2008, 04:28 PM
i can't run Linux on my Hermes, hope you have many change, can run Linux on hermes

ixar
15-04-2008, 12:42 PM
For those who wants to try to compile the bleeding edge kernel, here are some quicksteps for developers:
1- Install an arm toolchain (or build it yourself)
2- Install cegcc (necessary to build haret from source)
3- Get the source code from:
* Haret: git.linuxtogo.org
* Linux kernel 2.6: git.linuxtogo.org (branch work for latest changes)
* Busybox: http://www.busybox.net
4- Compile Haret with cegcc
5- Compile linux 2.6: make defconfig_htchermes; make CROSS_COMPILE=arm-elf-
6- Compile Busybox: configure ... make CROSS_COMPILE=arm-elf-
7- Make an initrd using busybox as basis
8- Use Haret to make a bootloader "linload": See target linload from Haret root Makefile
9- Copy haret/out/linload.exe to your hermes, and run !

The previous instructions are a not very detailled, but if you have some experience in embedded system it should be enough for you. I wrote it down so that others find the information they lack to get started.

You do not need to understand all this to be able to help porting linux to the hermes.
I am currently scripting all those tasks to ease the process of creating a development environment. This way most people should be able to try themselves and help us porting/testing ;)

Cheers

MaTai
23-04-2008, 05:24 AM
Since there was no straight-forward howto on getting hermes-linux up and running (and because it took me a while to figure out) i decided to write one myself! =) ..please feel free to use it as you please and also let me know if i wrote something wrong and I'll fix it!


Linux on TyTn

1. Get usbnet for your computer. Make sure to set up usbnet to have the static ip address 192.168.0.1.
linux: just setup the ip (ifconfig usb0 192.168.0.1)
osx: http://www.dsitri.de/wiki.php?page=AJZaurusUSB
win: http://docwiki.gumstix.org/Windows_XP_usbnet

problems? http://docwiki.gumstix.org/Setting_up_USBnet

2. Add an EXT3 partion to your device's memory card. It is important that you also keep a FAT-partion for Windows Mobile.

3. Go to http://handhelds.org/~koconnor/HTCHermes/

4. Get the latest herm-linux- file (currently herm-linux-20070930.exe)

5. Get the latest zImage file (currently zImage-20070709)

6. Create a file called default.txt:


set KERNEL zImage
bootlinux



7. Put these three files in a folder on your FAT-partion on the device's memory card (NOT the EXT3 partion!!!)

8. With usb-cable plugged in, run herm-linux-XXXXXXXXXX.exe. Linux will boot to somethink similar to this:


BusyBox v1.1.0 (2006.02.24-18:59+0000) Built-in shell (aSh)
Enter 'help' for a list of built-in commands.

/bin/sh: can't access tty; job control turned off
/ w



9. Unplugg the usb-cable and plug it back in again. Device will output something like:


usb0: full speed config w1: 100 mA, Ethernet Gadget, usi
ng CDC Ethernet



10. On your computer, telnet to 192.168.0.206:


$ telnet 192.168.0.206
Trying 192.168.0.206...
Connected to 192.168.0.206.
Escape character is '^]'.



BusyBox v1.1.0 (2006.02.24-18:59+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.



DONE!

That is wrong!!!!!!.
herm-linux-20070930.exe file include linux kernel image, so it will not need zImage file.
So I think: herm-linux-20070930.exe = haret.exe + default.txt + zImage ; and it will auto run.
Am I right??

cr2
23-04-2008, 10:36 AM
herm-linux-20070930.exe file include linux kernel image, so it will not need zImage file.
So I think: herm-linux-20070930.exe = haret.exe + default.txt + zImage ; and it will auto run.
Am I right??

Yes. herm-linux*.exe is a standalone wince .exe file with everything included.

__a
23-04-2008, 11:21 PM
That is wrong!!!!!!.
herm-linux-20070930.exe file include linux kernel image, so it will not need zImage file.
So I think: herm-linux-20070930.exe = haret.exe + default.txt + zImage ; and it will auto run.
Am I right??

Thank you for pointing it out, I did not know this! It does not matter any longer however, since ixar just posted a more accurate and up-to-date howto (http://forum.xda-developers.com/showpost.php?p=2119115&postcount=133)

TripleQ
27-04-2008, 04:30 PM
Hello,
I'm wondering if we can combine this thread with the Google Android thread,

Because other people here on XDA already managed to get android working on the Kaiser/Touch...

Maybe we can use the experience from here with that?

Here are the links to Android on the Kaiser en the Touch(Vogue)

http://forum.xda-developers.com/showthread.php?t=383695 (Kaiser)
and
http://forum.xda-developers.com/showthread.php?t=382265 (Vogue)

ixar
27-04-2008, 07:43 PM
I am also interested in Android as it might lead to a usable handheld platform. However I read somwhere it had minimal requirements regarding the CPU that is not matched by the CPU in the Hermes. Please correct me if I am wrong, I didn't find back this information.

Regarding linux itself on the Hermes I am still playing with it. I have almost finished scripting the build tools to allow anyone to help porting linux on the Hermes easily.

I have had a look at existing build platform (bitbake...), but I need more time to understand how everything integrates together. My need currently is something that works from scratch: build toolchain, kernel, initrd, packages. This is what I am gonna try to provide.

Cheers

TripleQ
27-04-2008, 08:40 PM
Great :)

Anyway, the Kaiser and the Hermes has the same amount of cpu...both have 400mhz

hoatienii
28-04-2008, 03:47 PM
1- Install an arm toolchain (or build it yourself)
2- Install cegcc (necessary to build haret from source)

i don't understand toolchain and cegcc. Can you help me?

cr2
28-04-2008, 09:01 PM
i don't understand toolchain

You can get the "Cross Toolchain" from
http://qtopia.net/modules/devices/openmoko.php


and cegcc.
arm-wince-mingw32ce at
http://cegcc.sf.net

MaTai
29-04-2008, 09:18 AM
Hello anybody, I have a question.
Now, I can use ramdisk to boot linux in my Hermes. And now i want to mount root file in Store Card and build keypad driver. How to start do it, and have any instruction for me????

bje2525
04-05-2008, 03:31 AM
ok first off i know i should not try this since i am newbie.....but would like to try linux on my hermes....can some one email or send me a how to to port it to it....i know some about linux since i use it on my pc....any help please.....

joeavery2
09-05-2008, 07:16 PM
I was on Openmoko's web site and it seems the neo freerunner will be using the same processor. I know this was a issue early on but I thought I would throw it out there, they might be able to help, or thier kernal may be usable. I realize though that it appears the current issue is getting the gpio's right, and getting the rest of the chipset working right.

shamus
10-05-2008, 02:30 PM
I hope it helps in linux development, recent JTAG points discovery might help you in low level programing, testing and gpio finding.
http://forum.xda-developers.com/showthread.php?t=391047

raboliot
27-05-2008, 05:17 PM
Hi,

I am very excited to use Linux on my Hermes.
Currently, I use Debian on an ARM device, the NSLU2.
Do you think it's possible to use the Debian ARM port ?

I can test with my Hermes, but I need help.

Best regards,

hoatienii
18-06-2008, 11:08 AM
Wailt...........

victor.hugorr
01-07-2008, 03:13 AM
I've tried run linux on my hermes, and i did but a i cant connect, when a unplungg show it:
"usb0: full speed config w1: 100 mA, Ethernet Gadget, usi
ng CDC Ethernet"
but, when I try the telnet command:
"Trying 192.168.0.206...
telnet: Unable to connect to remote host: Connection refused"

Help me please!

sniveri
03-07-2008, 06:25 PM
I have loaded latest haret.exe, compiled new zImage as described in post:

http://forum.xda-developers.com/showpost.php?p=2259079&postcount=3

For branch I used "work" and there could be found "htchermes_defconfig" so I used it. Result is that I have some warning about keyboard not supported in hermes and 4 functions have something buggy, but still I can get fresh zImage. zImage is about 1,08M and when I try to run it on Haret it says zImage could not be loaded because it is too big? So how to get forward from this point?

sniveri
03-07-2008, 11:44 PM
I had android-initrd pointing left at default.txt because I was playing with that another threads cab. After changing android-initrd line to initrd, it booted but ended up to kernel panic, no filesystem found. I have partitioned storage card to fat and ext2. ext2 partition also contains boot flag, but how to add pointer to that partition is a bit mystery. any advice?

scholbert
07-07-2008, 10:13 PM
Hi there,

maybe some additional things should be pointed out, if something like android should ever run on hermes.

Anyone out there who could post the settings for the EGPIO registers at physical address 0x8000000 ????

Maybe someone could grab the values using haret....

Back on track:
I had android-initrd pointing left at default.txt because I was playing with that another threads cab. After changing android-initrd line to initrd, it booted but ended up to kernel panic, no filesystem found. I have partitioned storage card to fat and ext2. ext2 partition also contains boot flag, but how to add pointer to that partition is a bit mystery. any advice?

Very interesting attempt, but which android image would you like to run??
Is it taken from kaiser?
The kaiser image uses ARM V5 compiled binaries. Won't work on hermes i suppose.

Maybe give it a try :p
Anyway if the bootparams are set correctly the kernel should jump into initrd.
Give some more details about your startup script!

Perhaps i am able to help :rolleyes:

scholbert

scholbert
07-07-2008, 10:51 PM
O.K. did it myself :D


HaRET(8)# pdump 0x8000000 0x10
08000000 | 00040240 00090000 00000504 00000000 | @...............


Does anyone know if there's EGPIO support in latest linux kernel for hermes??

By the way...
Is the handhelds.org kernel more or less up to date :confused:
At least it started on my device.

Which kernel do you use out there?

scholbert

sniveri
08-07-2008, 08:26 AM
I compiled kernel from git clone git.linuxtogo.org/home/groups/mobile-linux/kernel.git. And for some reason Haret must be 0.5.2 not 0.5.1 if you want to boot with hermes.

Working initrd with busybox can be found from http://www.pierrox.net/G500/20080203/initrd.img.gz

More about same project http://www.handhelds.org/moin/moin.cgi/EtenG500Downloads

sniveri
08-07-2008, 08:44 AM
Very interesting attempt, but which android image would you like to run??
Is it taken from kaiser?
The kaiser image uses ARM V5 compiled binaries. Won't work on hermes i suppose.

Yeah, I was hoping to see if anything happens with that kaiser-image. But as you said it wont work for logical reasons ;D


Maybe give it a try :p
Anyway if the bootparams are set correctly the kernel should jump into initrd.


Yep, I got it work with initrd image that was build for EtenG500 device. But I can not do anything with it because I have broken keyboard on hermes and I can not create usb-connection to hermes from my linux desktop.

AdamsJourney
10-07-2008, 06:23 AM
Yep, I got it work with initrd image that was build for EtenG500 device. But I can not do anything with it because I have broken keyboard on hermes and I can not create usb-connection to hermes from my linux desktop.

So you got it to work? What steps did you take? Go slow I'm a fresh Linux convert, but I learn fast ;)

sniveri
10-07-2008, 08:10 AM
Those steps are told in this thread several times:

-Compile latest HaRET
-Compile latest zImage
-Create root filesystem or use existing one (initrd file)
-Create default.txt that contains pointers to zImage and initrd
-Start HaRET and play with it

victor.hugorr
10-07-2008, 11:03 PM
sniveri
can you send the right files to do it?
because a runned the haret0.5.2 found here:http://www.pierrox.net/G500/20080203/haret.exe
this default.txt: http://www.pierrox.net/G500/20080203/default-initrd.txt
this initdrd: http://www.pierrox.net/G500/20080203/initrd.img.gz
and this zImage: http://www.pierrox.net/G500/20080203/zImage

And it stop on the message:
Jumping to kernel...

Sorry, i don't know too much about this!

sniveri
11-07-2008, 08:09 AM
http://forum.xda-developers.com/showthread.php?t=404145#10

Try those and modify your default.txt looking something like:


set kernel zImage
set initrd initrd.img.gz
set cmdline "root=/dev/ram0"
boot

scholbert
11-07-2008, 09:27 AM
Hi victor.hugorr,

the linux kernel is a very specific part of software and has to match to the hardware.

...and this zImage: http://www.pierrox.net/G500/20080203/zImage


This kernel will never work properly on hermes because it is set up for an Eten G500. :p

Please use sniveri's kernel or compile your own, using a hermes configuration.
Of course the default.txt should contain something useful too :D

Regards,

scholbert

bje2525
11-07-2008, 06:11 PM
were or how can i dl the kernel....that u say to use the one from sniveri

sniveri
11-07-2008, 08:31 PM
latest link for zImage to other post or compile new one. Kernel is in zImage when using HaRET.

bje2525
12-07-2008, 12:02 AM
i used all that u said the kernel zimage default heret everything but when it boots it goes to login and password what do i do from there...it say uclibc login:
then it ask for pasword

sniveri
14-07-2008, 09:13 AM
Emdebian would be nice to get running on Hermes. At least it should support armv4. Android is at this moment not possible as many of you have told. So does anyone have experienses creating rootfilesystem emdebian-tools?

I tried and did it in a hurry and got my Ubuntu box messed up. After installing emdebian-tools it automatically adds debian sources to your apt-sources list and I did apt-get update&upgrade :D Have to try to install also Debian to this machine. Funny how they have made installation trough a netsite:

http://goodbye-microsoft.com/ :D

TripleQ
14-07-2008, 11:15 AM
which apt-source you used to get that packages?

I have debian Etch, and it cant find the emdebian-tools package:confused:

sniveri
14-07-2008, 11:51 AM
I had it on ubuntu allready http://packages.ubuntu.com/hardy/emdebian-tools But after the install there was more sources added and then things got messed up.

sniveri
15-07-2008, 10:01 AM
which apt-source you used to get that packages?

I have debian Etch, and it cant find the emdebian-tools package:confused:

I finally got debian configured to my desktop. You can find from emdebian-tools pages that it is still unstable and because of that it is found from debian sid. So I had to remove all other sources and use sid only, after that you can find latest emdebian-tools and emdebian-rootfs.

TripleQ
15-07-2008, 10:28 AM
aahw ok :)
That make some something clear!

I am at work right now, but tonight i can play with it!
Going todo a fresh unstable debian install then. (vmware)

sniveri
15-07-2008, 11:28 AM
hmm.. I readed from emdebian guide that it supports armv4t and armv5t but not armv4? so what is hermes, armv4 or armv4t? Maybe openmoko would work, that should be for armv4.

scholbert
15-07-2008, 12:17 PM
Hi,

hmm.. I readed from emdebian guide that it supports armv4t and armv5t but not armv4? so what is hermes, armv4 or armv4t? Maybe openmoko would work, that should be for armv4.

To clear this up have a look at:
http://en.wikipedia.org/wiki/ARM_architecture

HTC Hermes uses S3C2442 with embedded memory (Mobile SDRAM / NAND Flash).
This MPU uses ARM920T core. The processor family is ARM9TDMI.
The instruction set is ARMv4T.

If you compile some source code you should tell your compiler which instruction set to use. ARMv4 is the base, the "t" stands for thumb mode.

This means the processor core is also capable to handle 16Bit instructions , if started in thumb mode.

On Hermes 32Bit ARM instructions are used.

Regards,

scholbert

sniveri
15-07-2008, 05:42 PM
Created new emdebian filesystem using emsandbox. Running this filesystem image in haret displays following text


RAMDISK: Compressed image found at block 0
RAMDISK: incomplete write (-28 != 32768) 4194304


And after that follows kernel panic because it is unable to mount rootfilesystem. Any ideas what this means?

MrVarioII
16-07-2008, 10:28 AM
exciting to see this project going on guys. Thanks for the hard work.

There's soooo many pages that it's hard for me to keep up (I'm dyslexic) can I ask if we've got some kindof gui running yet?

Oh and can I duel boot?

If so this gets installed tomorrow ;)

__a
20-07-2008, 08:31 PM
There's soooo many pages that it's hard for me to keep up (I'm dyslexic) can I ask if we've got some kindof gui running yet?

Oh and can I duel boot?


No and no, not really. All you can do is boot from within Windows Mobile through HaRET (http://handhelds.org/moin/moin.cgi/HaRET)

victor.hugorr
22-07-2008, 06:21 AM
Hi guys, I did what you told, and i got the message in the end:
"Freeing init memory: 88K"

So i could type some command, but i dont know what to do to run de android.
Is there some command?

sniveri
22-07-2008, 09:52 AM
Android does not work with hermes.

victor.hugorr
22-07-2008, 01:23 PM
sniveri, so there is some linux version wich works?

scholbert
22-07-2008, 08:55 PM
Hi,

please read this thread again, to get an idea of what has been done so far.
Linux on hermes is in a very experimental state.
Forget about android, it's too heavy to port it to hermes hardware.

Although the kernel had been further improved in the last few month.
Someone could check what exactly is working and we could post an updated list :D.

There are some good starting points, for a rootfs with some kind of gui.
Especially in the last few weeks there had been a lot of useful hints.
Have a look at openmoko.org, very similar hardware...
At the moment there's a working initrd with login over usb network emulation.

Regards,

scholbert

__a
23-07-2008, 12:28 AM
There's soooo many pages that it's hard for me to keep up (I'm dyslexic) can I ask if we've got some kindof gui running yet?

Oh and can I duel boot?

No and no, not really. All you can do is boot from within Windows Mobile through HaRET (http://handhelds.org/moin/moin.cgi/HaRET)
_________________________________________________
Hi guys, I did what you told, and i got the message in the end:
"Freeing init memory: 88K"

So i could type some command, but i dont know what to do to run de android.
Is there some command?

Gosh, this is wonderful flame-war material :D

OnT: I'm not fully down with exactly what is missing and what is working with the kernel right now, so I started a to-do-list on the wiki page (http://wiki.xda-developers.com/index.php?pagename=Hermes_Linux) with the things that came to my mind. Of course most of them are pretty far away, but if you people would put in the more short-term problems, maybe people like me eventually find something that we can actually start learning and maybe actually contribute something instead of just trolling around in this thread :D

sniveri
23-07-2008, 09:56 AM
hmm..

Does the SDcard work properly allready?

I`m not sure but somehow I have feeling that keyboard was working with some kernel but not in this newest kernel at git.linuxtogo.org, or maybe I had a dream :D

scholbert
23-07-2008, 11:43 AM
Hi linux-geeks,

i think i'll create a more up to date initrd in the next days, which gives us more useful tools to check some base functions ;).

...so I started a to-do-list on the wiki page with the things that came to my mind.
Very nice __a!!!

Does the SDcard work properly allready?
Not sure about that. There's a block device named mmc.
But i'm unable to mount it right now.


I`m not sure but somehow I have feeling that keyboard was working with some kernel but not in this newest kernel at git.linuxtogo.org, or maybe I had a dream
No, it was no dream, sniveri :rolleyes:
The keyboard is partly working, some special characters are missing though.
Perhaps the keymap has to be updated. Don't know which one is used at the moment.

Anyway i used the latest sources from git.linuxtogo.org, so this maybe a good starting point!

Cheers,

scholbert

sniveri
24-07-2008, 10:00 PM
There was some discussion at #htc-linux that hermes is waiting for sd-card support, after that they can continue working with ati-chip, wifi bluetooth etc..

scholbert
29-07-2008, 10:49 PM
Hi,

...hermes is waiting for sd-card support, ...
I just did some research the last days, what would be the best starting point to make sdcard work.
It seems that the best thing to try, is to integrate the openmoko patches for sdcard support into mobile linux git tree.

You may download a kernel snapshot from here:
http://git.linuxtogo.org/?p=groups/mobile-linux/kernel.git;a=shortlog;h=refs/heads/work

Openmoko patches for this kernel (2.6.23) could be found right here:
http://svn.openmoko.org/branches/src/target/kernel/2.6.23.x/patches

You also need to add a few lines to htchermes.c.
I may post a patch for that, if someones interested :rolleyes:

Though this is not the latest kernel, there seem to be the best results.
The zImage is compiling fine and it is running on hermes.

Unfortunately a useful initrd is still missing and due to lack of time some further tests haven't been done yet.
Maybe there'll be something useful in the next weeks.

Of course i like to play around with hermes and just do this for fun :D ,personally i think linux development for the hermes will get stuck at some point.
Obviously there are much more interesting and powerful devices on market already.
At least the kaiser will do it to much better support concerning linux stuff i suppose...
...and there's freerunner :p

Cheers,

scholbert

cr2
30-07-2008, 01:28 AM
integrate the openmoko patches for sdcard support into mobile linux git tree.

the moko-patched s3c-sdi driver will provide SDIO support for your wifi init.
The SD card is connected to the ATI chip, and is using ATI SD controller.
It's all documented in xda-dev wiki:
http://wiki.xda-developers.com/index.php?pagename=ATIWxxxx

scholbert
30-07-2008, 10:13 AM
Hi cr2,

he moko-patched s3c-sdi driver will provide SDIO support for your wifi init.
The SD card is connected to the ATI chip, and is using ATI SD controller.
It's all documented in xda-dev wiki:
http://wiki.xda-developers.com/index...ename=ATIWxxxx
Can't believe it... is it really true?

In this case we will never get sdcard working with the openmoko stuff and i think it will be very hard to get a working driver.

I really thought the engineers at HTC used the SD-interface of the Samsung chip for this function, because there's a DLL named sdhc_sc2410.dll in windows folder. So sorry for confusion ;)

There's not much information about the ATI chip (except for the wiki of course). Damned!

Anyway, thanks for the information!

scholbert

scholbert
26-08-2008, 07:08 PM
Hi,

any news from the hardcore kernel hackers?????
Did someone already try to adapt the ATI SD driver for Athena to Hermes???
I read it's for debugging only, but is it worth a try?

Best regards,

scholbert

bastr3
27-08-2008, 06:01 PM
HOW I CAN INSTALL LINUX WITHOUT WINDOWS MOBILE?:confused:
I MEAN I HAVE A BROBLEM WITH BOOT LOADER CAN I INSTALL LINUX TO FIX MY PROBLEM?
IF YES PLEASE HOW?:rolleyes:

THANK YOU

scholbert
27-08-2008, 10:08 PM
Hi bastr3,

HOW I CAN INSTALL LINUX WITHOUT WINDOWS MOBILE?:confused:
I MEAN I HAVE A BROBLEM WITH BOOT LOADER CAN I INSTALL LINUX TO FIX MY PROBLEM?
IF YES PLEASE HOW?:rolleyes:

THANK YOU
This is not possible.
To start linux on hermes an application named haret is used.
It is a wince application that may also used to debug the unit.

So no chance to boot linux without wince up and running :p
As long as the bootloader screen shows up you may be able to fix your device using other methods.

Search the forum or use the wiki for instructions, how to do it.

Regards,

scholbert

sniveri
28-08-2008, 08:42 AM
I have read somewhere that linux has been flashed to ipaq memory but I could be wrong. But in hermes case flashing is not wise(or it could be impossible) as there is no working linux drivers etc for it.

backspacepc
30-08-2008, 12:50 AM
So is it safe to say that I need to start developing drivers for a Hermes100 in order to get it to run on an 8525?

sniveri
30-08-2008, 04:18 PM
So is it safe to say that I need to start developing drivers for a Hermes100 in order to get it to run on an 8525?

That`s correct.