yashsingh1/xdaforums huggingface dataset:
[HD Mini Android Development] -r0bin-:
yeah, but setting in haret is one thing

we have to set it in linux kernel too

and so far i cannot see where the mtype is specified :mad:

edit: i found it!!! great!!!

if you're using kernel from aria release (as i do), the mtype to specify is: 2434!!

liberty	MACH_LIBERTY	LIBERTY	2434

let's try this
[HD Mini Android Development] schlund:
yes, i was just taking a look on kernel because of you,

and you can find very interesting things there :)

My question is now,

which config did you use to compile the kernel ?

EDIT:you are right, we have to use 2434

could you edit this to machlist.txt?

if we are lucky we can find every change we have to make to haret in kernel source: /arch/arm/...
[HD Mini Android Development] cardsharing:
Hi schlund here is config
[HD Mini Android Development] -r0bin-:
i took default config from the website here:

http://cseweb.ucsd.edu/classes/wi11/cse237a/project/

actually it is exactly a copy of the "cyanogen" default config for MSM2772

and you don't need to edit machlist or rebuild haret, since the id 2434 was already present when I compiled.

just change the mtype of your haret config file

(i tried it still does not work)

will try now the new value you highlighted above for ramaddr

edit: 0x12C00000 as memory adress (set ramaddr 0x0x12C00000) is not working for me :-(
[HD Mini Android Development] schlund:
yes configs are the same..

machlist.txt sets mach type automatically,

mabye it would work setting new mtype after auto-detection ..

EDIT:

OK,

after taking some look on kernel files, i found out nearly everything we need for haret is set there somewhere,

so i will compare haret and kernel source step by step and find the differences between standard msm7XXX config and msm7227 configs

EDIT 2: i think our main problem for now is how to shut down MMU, so we should look how its done in kernel files..
[HD Mini Android Development] gabbana-music:
guys! I wrote and not time, that we shall face this problem! Esteem branches of a forum for hd2, touch diamond, and similar arrangements! Everywhere, where started android by means of haret, on the device stood hspl!
[HD Mini Android Development] -r0bin-:
no, i think shutting down mmu is OK

look at the source code, the latest thing you shall see from Haret is "Turning off MMU..."

then it calls "mmu trampoline" to jump into linux code

thus, when you see this message of turning off MMU, it means for me that haret successfully worked and gave the hand to Linux.

but what annoys me is that sometime i get unexcepted error, sometimes not.

thus haret is not stable: something in the memory settings or computation is wrong, i dont know what.

by the way, have a look at "board-liberty.h", you will see another memory value (0x100000) and the memory size. which one to take? :-)
[HD Mini Android Development] schlund:
yes i saw this :)

this size is exactly 384 MB

files in arch/arm/boot seem to be interesting

edit:

this is how it works

EDIT:

Found some differences in gpio_hw.h (kernel source) and regs-msm.py (haret)

seems that msm7227 should be more likely the msm7XXXA settings

edit³:

yesssss, its exactly the same,i modified it, please add and tell me :)

(think you know where to add the files :D )
[HD Mini Android Development] johnsk:
I read this right?

Is there any progress to port android on the mini?

my girlfriend would be very happy when she can use android on her mini :)
[HD Mini Android Development] MobileMini:
I think what gabbana says should be taken serious. HSPL could be the only way to get this working?
[HD Mini Android Development] -r0bin-:
Already answered to this, we can do without, see previous threads

Trust me we're very close...

greaat :-)

but you did not sent me the correct files, I cannot see the difference VS before?

edit: ok I understand now :)

but unfortunately, the regs-msm.py is a python script that is meant to be executed on the PC side only:

In my opinion, the settings here will not affect the way Haret.exe is running.

The IRQ and GPIO stuff are already setup in "arch-msm.cpp" in "defineMsmGpios()" and seems to be correct with the arch/arm linux source code :-(

I will have a deeper look into the trampoline jump function, in my opinion there is something wrong in here...

but assembly code sucks :P
[HD Mini Android Development] schlund:
the files are correct! the changes are minimal, i linked msm7227 to msm7XXXA instead of msm 7XXX!

should we stop now, just because theres the posibilty that he is right? Noone of us would be able to make HSPL...

There are many devices that dont need it to run Haret..
[HD Mini Android Development] beejee0:
Nice progress guys!

If i didn't have exams i would have helped you, but atm i don't have the time for it.

But it's great that you guys have started to do this by your own.
[HD Mini Android Development] tzacapaca:
If i were u i won't talk if i don't know for sure what i'm talking about. :)

and here is the answer :

http://xdaforums.com/showpost.php?p=8551741&postcount=6

Hard-SPL

From XDA-Developers

Jump to: navigation, search

FAQ: What is HardSPL?

a custom G4 SPL patched by Olipro which let your device think it has SuperCID (aka CID unlocked)

CID = Carrier ID

CID lock (aka vendor lock): Carrier Id - put on your device by the manufacturer to prevent installation of a ROM not released by them. Commonly used in the form `CID-Unlocking`. If you purchase your phone (example) from 3Mobile (3Mobile is the ‘carrier’), your phone will only accept 3Mobile ROMs (the carrier’s ROMs). If you want to flash ROMs from other carrier, you’ll need to CID-unlock your phone, so that your phone will accept other ROMs. All bootloaders (apart from HardSPL and SSPL) will only allow a ROM with the correct CID to be flashed onto the device. A device which has been CID unlocked will have ‘SuperCID’ which allows ANY ROM to be loaded onto the device, SuperCID also unlocks the Ext_ROM and allows it to be mounted. Note: In general, the phrase ‘unlock your phone’ usually refers to SIM-unlock, not CID unlock.

As stated, some (all?) of the cooked roms here are not carrier specific, so CID Unlocking appears to not have to be done. Personally, for what little time it takes to do this, just do it and you won't have to worry about flashing a rom and it not working becuase of carrier info.

NOTE: CID unlocking is different than SIM unlocking. SIM Unlocking is what allows you to use any SIM in the phone. CID unlocking is just for flashing different carrier roms. YOu can be CID unlocked and run a different carrier's rom, but if you aren't SIM unlocked, you can't use their SIM... (hope thats clear).

What is difference between Hard and Soft SPL?

Soft SPL is temporary, this solution is semi-permanent, it will be removed by flashing an original G4 SPL using SoftSPL. Read on for a complete tutorial on how to remove HardSPL.

If you use HardSPL, you don't need a separate loader in the future, just use the RUU provided in the ROM package.

source: http://xdaforums.com/wiki/index.php?title=Hard-SPL

p.s. the time u spent typing here u could do this http://lmgtfy.com/?q=android+hspl :p

p.s2.guys keep going on :D
[HD Mini Android Development] schlund:
xD

OMG you're right...

this file is about haretconsole ..

but there are still different irq-registers set in arch-msm.cpp!

If you take a look at git you can see changes that were made for specific jump!

http://git.linuxtogo.org/?p=groups/haret/haret.git;a=commit;h=e93c26a8683bb6ad32bd8d6b1fdad93d5bfe15b3
[HD Mini Android Development] -r0bin-:
yeah, I noticed that too

but it is only for QSD processors (HTC HD2)

They also have completely re-coded the init phase, the shutdown phase, etc, etc (look at the arch-msm.cpp). They also ported the assembler file of Linux to do the customInit phase (see arch-msm-asm.S) but it's only for QSD.

I don't think we have to go through this

It works without all this for all the MSM7xxx based processors.

I'm sure there is only a little thing to make this **** work ;)
[HD Mini Android Development] schlund:
would you be so nice to give me a little tutorial how to compile haret with cygwin? :D
[HD Mini Android Development] haolc:
I also need some guideline .

Thanks you so much
[HD Mini Android Development] MobileMini:
Ok, thnx for your explanations guys! And sorry for my stupidity :(.
[HD Mini Android Development] -r0bin-:
i do it fast:

1- download cygwin installer

2- install cygwin on your pc

3- download the cross compiler (cegcc)

4- if cegcc is not compiled: compile the cross-compiler & install

5- download haret

6- compile haret
[HD Mini Android Development] Punischer12:
Can someone may make a full toturial with downloads and information?
[HD Mini Android Development] Silver1987:
guys! plz don't spam this thread full of unimportant questions and all this stuff.. just let the guys who got linuxskills work and do what they can do! thx
[HD Mini Android Development] -r0bin-:
i have a look with a friend of mine that is very skilled in this stuff

there might be an issue in hardwareShutdown.

There is nothing done for MSM7xxx platforms!!!

Mach->hardwareShutdown is just an empty function.

Thus if you don't switch off the HTC Mini peripherals (USB, camera, etc) they might mess with the trampoline jump.

One idea would be to switch off the peripheral bus clock, but so far I was not able to find it on the linux aria sources.

If it can gives you some ideas...
[HD Mini Android Development] cardsharing:
Hi r0bin and schlund, please see this post http://xdaforums.com/showpost.php?p=10682292&postcount=412 . I think maybe we must to disasemble spl code first to see if there is any security about writing to memory, maybe spl prevent writing, only read only hmmm:confused: Anyone have skils with asm? Or ida pro? I have ida pro and i open spl with it, but this not let me to disasemble code
[HD Mini Android Development] schlund:
this was what i was thinking about, you know :)

take a look at arch/arm/boot folder in source this might be interesting!

@cardsharing: sorry i do not have any skills in that..
[HD Mini Android Development] -r0bin-:
sorry cardsharing, i have no skills in asm as well :-(

hey schlund, you have to read this: 80-VM923-1_F_Android_Linux_Device_Bus_Drivers.pdf

grab it here

it explain how linux works with MSM7xxx procs, included references to structs and kernel source code

page 33 it explains how to init/stop the peripherals, i think we can do something here to build a proper "shutdown" in haret

i'll have a look on my side
[HD Mini Android Development] schlund:
i was bothering about that and what i dont understand is the fact, that some devices with msm7XXX - i.e. HTC Kaiser, Raphael or Topaz - are already working ... how could that be if theres no shutdown function ?
[HD Mini Android Development] _Madmatt:
Maybe you can take a look how they did it there? :)
[HD Mini Android Development] schlund:
found a very interesting google result

but i cant find this text in irc logs ..
[HD Mini Android Development] tzacapaca:
wrong post..
[HD Mini Android Development] schlund:
found wonderful docu about arm processors :D

http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0211j/index.html
[HD Mini Android Development] -r0bin-:
ok, I got some news.

I recompiled haret without the M7225, and adding delays (3 seconds each) before the trampoline jump.

Try this haret.exe on your device, you will see we always go to the black screen.

and we always get a "unhandled exception (pc=xxx)".

Investigating further, I could see that the crash always happens at the same level in the source code:

seems that the crash happens when we try to disable the MMU...
[HD Mini Android Development] -r0bin-:
oups, forget to add new haret test

edit: I added the MSM7225 patch for trampoline, the code crash exactly at the same place:

file: src/wince/armstuff.S line: 177

mrc	p15, 0, r0, c1, c0, 0

unfortunately i dont have great knowledge in asm...

do you guys have any clue on this?
[HD Mini Android Development] schlund:
ok, my proposal will be following:

assembler code in haret and kernel source should about the same

so lets go through kernel code and find out the differences between 7227 and 7XXX assembler stuff and add this to haret ?
[HD Mini Android Development] _Madmatt:
Can someone give me Default.txt script file for HaRET? Thanks!
[HD Mini Android Development] cardsharing:
i see:

MMU setup: mmu=0xa1910000/01a10000
>>> STEP 1 <<<
Go Go Go...
>>> STEP 2 <<<
>>> STEP 3 <<<
>>> STEP 4 <<<
>>> STEP 5 <<<

How you track error message "the code crash exactly at the same place:" ? Please see this

http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0344b/Bgbijfgf.html

https://www.codeaurora.org/gitweb/q...ff;h=c307b720e772c461b3fa02c3199308ee29aad4ee
[HD Mini Android Development] -r0bin-:
Here is mine:

set mtype 2434

set ramaddr 0x10000000

set KERNEL zImage

set cmdline "rel_path=haret"

boot

you think?

for me, shutting down MMU is specific to WinMo, it is related to the operating system running on the machine :-)

actually, the steps msg are just debug info for me.

but then you can see that we always crash at the same place.

and to know exactly where you crashed, it was explained in the haret dev mailing list here.

Take this log:

take the program counter pc = 01d6acec

retrieve it from the latest arg of trampoline setup: 01d6acec-01d6aca0=4c

add it to the first arg of trampoline: 2eca0 + 4c = 2ecec

=> "2ecec" is the address of the source code where you got the exception.

then go to your haret/out folder, were haret.exe and haret-debug are generated when you compile

do this:

arm-ming32ce-objdump -S haret-debug > codedump.txt

now open codedump.txt and jump to 2ecec (should be at end of file)

you will see the line of your binary that caused the crash

for me it was always the same.

of course you must take the "haret-debug" that is relative to "haret.exe" that you are using :-)
[HD Mini Android Development] schlund:
aren't physical register adresses machine specific, and only virtual adresses os specific?
[HD Mini Android Development] cardsharing:
ok, thanks, you are right about addreses

1: @ Code is running at a vm address that is the same as its
@ physical address. Now disable the MMU.
mrc	p15, 0, r0, c1, c0, 0
2ed00:	ee110f10	mrc	15, 0, r0, cr1, cr0, {0}
bic	r0, r0, #5	@ MMU & Dcache off

.... and here is a good and interesting calculator i using for other stuff
[HD Mini Android Development] -r0bin-:
schlund, you're absolutelly right, sorry :-)

and if I look at the ARM reference manual you provided earlier, there is great stuff on how to disable the MMU.

However, based on this thread of 2009:

http://www.mail-archive.com/haret@handhelds.org/msg01204.html

It sounds that this is more a memory mapping issue rather than MMU disabling issue (the crash occurs because of previous operations in memory).

The MSM7225 patch (arrived 2010) was supposed to fix that, but it does not work for me.

I contacted the owner of this patch, but he is very busy... hope he'll find a little time to have a look.

Well, need to investigate more.

This is quite fustrating that we are so close to make this working, we only miss a little thing...
[HD Mini Android Development] -r0bin-:
haha thats a funny calc
[HD Mini Android Development] cardsharing:
....calc.... :D

Did you try http://www.mail-archive.com/haret@handhelds.org/msg01200.html
[HD Mini Android Development] schlund:
lucky, that the developer of this patch has even answered :D

btw this calculator is funny stuff :P
[HD Mini Android Development] -r0bin-:
no i didnt, i'll check it later, but according to below:

i got an answer from the MSM7225 patch owner:

Thus, if we got a freeze, would it mean haret is working and linux image is wrong? :-/
[HD Mini Android Development] cardsharing:
or maybe problem is this:

http://xdaforums.com/showpost.php?p=10696499&postcount=423

P.S. After disasembling original SPL maybe we see a way:confused:
[HD Mini Android Development] cardsharing:
From this post http://xdaforums.com/showthread.php?t=907776 you see decompiled sspl. Last week i was try to unpack it becouse i see when i run sspl and when my phone go to boot loader, i see spl is not 1.31.00, and after trying to decompile sspl i not see where is that spl code from sspl. Anyone want to decompres it and to find where is spl code from sspl and to compare original spl and spl from sspl?

P.S Sorry for my very lost english:D
[HD Mini Android Development] _Madmatt:
So, first we should make HSPL? But how can we do that? Because DFT isn't about to do it soon, I think...
[HD Mini Android Development] cardsharing:
hehe this is interesting way to get all resurces from dft_sspl :D
[HD Mini Android Development] -r0bin-:
PLease tell me, what is HSPL exactly?

I was thinking it was a flashing utility?

can someone explain me what the difference is between SPL, SSPL and HSPL?

why do we need HSPL if we already have SPL?

the only reason i see to have HSPL or whatever it is named, it would be that it "hack" the ARM security level so that the user can disable MMU, change exceptions or IRQ handlers, etc...

which is maybe why our haret is crashing today:

maybe haret.exe do not have the access right (at ARM level) to modify those registers?
[HD Mini Android Development] _Madmatt:
Maybe you can try to make HSPL out of that? :) Would be nice :D

SPL is kind of a little program that helps you to flash your device. Every device has SPL.

SSPL is SoftSPL, wich means that every time we flash a ROM, SPL gets a sort of "quick fix" so there is no check for HTC certificate in the ROM and then it allows us to flash.

HSPL is HardSPL, wich means that the SPL is cracked. Then you can do almost everything. If you need to send your device back to HTC for warranty reasons, you should flash a stock ROM to have original SPL back.

I think this is a (good) short explication ;)
[HD Mini Android Development] -r0bin-:
Ooook, thanks Madmatt, now I understand better.

what do you mean by "you can do almost everything"? what can you do more than with SPL?

well, to hack SPL you need SPL source code, its compiler and the tool to flash it on the phone. do we have all that?

opening the file in hex mode is not enough, the code is already compiled and unreadable.

thus, one thing I am sure (unless you prove me the contrary :p) is that we dont need HSPL to run android. why?

1- in Xandroid project, it is never said you need HSPL

2- as far as I understood, HSPL is a hacked boot loader, it disable the FLASH control to WRITE in the android ROM. the rest is not affected.

3- we dont want to WRITE in the phone, with haret we load an OS into RAM and execute it without affecting the phone. if you power off the phone you're back to Windows

4- unlike my initial thoughs, we don't need specific root privileges because we already have them with haret.exe:

Haret also uses this function: setKMode to gain kernel access rights

http://msdn.microsoft.com/en-us/library/ms886816.aspx

A security breach in WinCE (that we use):
[HD Mini Android Development] _Madmatt:
Well, indeed, we don't need HSPL to run Android (like XDAndroid does), but we need it to flash Android to our device, like we flash a custom ROM. If we flash Android we don't have WinMo installed anymore, and we save disk space ;)
[HD Mini Android Development] RoSo:
as i get from _Madmatt's explanation about HSPL , I think that HSPL would be necessary for running (flashing firstly) haret !

now I have a question....

guys , you spent lots of time in this project and you didn't try to get HSPL. don't you think that if you tried for HSPL , now we had HSPL ?

I mean , finding a way to get HSPL will take less time than reaching Android.

if you finally find out that HSPL is necessary for running haret , what will you do? obviously we have to start from the first step !

so we should know that first , is HSPL necessary for haret or not?
[HD Mini Android Development] _Madmatt:
All right, I'll explain one more time :D

First we need to find a way to run Android ;) This can be done using HaRET. With HaRET, we can run Android (or Linux) without flashing a ROM. So, we can develop Anroid without need to flash every 5 minutes.

And once we have a good version of Android that works well, we need HSPL to flash Android so we don't boot WM anymore, but Android. ;)

So, during development, HSPL is not necessary :)
[HD Mini Android Development] schlund:
so if one of us non-developers thinks he suceeded in making HSPL, would you test it and risk killing your device?

as robin said HSPL is only needed to flash and NOT run haret!
[HD Mini Android Development] johnsk:
I mean it is always risky to flash HSPL,

but if the first possibility is given than anyone will test it...
[HD Mini Android Development] _Madmatt:
I don't think it is risky. If you have troube, start bootloader and flash a stock ROM (wich includes radio, SPL, and OS).
[HD Mini Android Development] johnsk:
when you try to flash hspl and it fail...than is the bootloader bricked,

when this is happen...your device is waste.

or is it a mistake from me?
[HD Mini Android Development] _Madmatt:
Maybe, but I think that a stock ROM includes the SPL, so flashing should be OK, unless your OS partition is broken :)
[HD Mini Android Development] RoSo:
so , if we don't need HSPL for running android by haret , what is the main problem right now? what exactly we need right now? after all these steps , where we are?

how far we close to succeed?

I'm asking these questions because I don't know anything in linux field.
[HD Mini Android Development] tzacapaca:
and the answers are :

1.follow the thread!

2.follow the thread!

3.FOLLOW THE THREAD!

4.FOLLOW THE THREAD!

P.S. if you don't know anything about linux field,why do you ask about linux related stuff???:confused:
[HD Mini Android Development] tzacapaca:
lol...funny how small is the internet sometimes,and what answers gives friend google when i tried to search for a solution to get Android on Htc HD Mini... :)))))) ------->

Gabbana

Просмотр профиля View Profile

Добавить в друзья Add as Friend

Отправить сообщение Send a message

Связаться через QMS Contact via QMS

Найти темы пользователя Personal Photo

Найти сообщения пользователя Find posts 17.01.2011, 23:35 01/17/2011, 23:35 Сообщение #45 Post # 45

истиный HD-MINIвец Truth HD-MINIvets

[online] [Online]

Группа: Друзья 4PDA Group: Friends 4PDA

Сообщений: 427 Posts: 427

Регистрация: 29.03.2008 Joined: 29.03.2008

HTC HD mini HTC HD mini

Репутация: Reputation: 200 200

Цитата(Dakkato @ 17.01.2011, 20:16) QUOTE (Dakkato@17.01.2011, 20:16)

А HSPL для запуска андроида разве не понадобится? A HSPL to run the android does not need?

понадобится! need some help! но на xda слишком самоуверенные людишки, чтобы это понять! but xda too self-confident little people to understand it! я писал Cotulla, по поводу HSPL, но пока что игнор! I wrote Cotulla, about HSPL, but so far ignore!

-------------------- --------------------

ROM Gabbana_21686RUS ROM Gabbana_21686RUS

Dear gabanna-music we are not self confident,and what i showed in this post http://xdaforums.com/showpost.php?p=10697063&postcount=427 are proofs that people got Android running on HD2 or other devices without to install HSPL!

I suggest to close this topic about HSPL until someone with a lot of experience like Cotulla & DFT will tell us we really need it.:)

p.s. sorry for being offtopic,but i don't tolerate "talking a person behind him" if you know what i mean...:(
[HD Mini Android Development] gabbana-music:
:eek:

No comments ...
[HD Mini Android Development] dakkato:
Thank you for the visit of 4pda, not offended, this was a joke!
[HD Mini Android Development] schlund:
back to topic please.

robin, you said haret crashes here ?

exactly this row or maybe previous or next one ? :D always ?
[HD Mini Android Development] cardsharing:
Yes, this crash at "red" line

1: @ Code is running at a vm address that is the same as its
@ physical address. Now disable the MMU.
mrc	p15, 0, r0, c1, c0, 0
[color=red]2ed00:	ee110f10	mrc	15, 0, r0, cr1, cr0, {0}[/color]
bic	r0, r0, #5	@ MMU & Dcache off