Debugger Environment

From IPhone Linux

Jump to: navigation, search

Contents

GDB Stub

This will allow us to attach GDB to OpenIBoot and trace the execution of everything else. The stub can later be installed onto the Linux kernel to allow kgdb to work there. This is obviously invaluable for debugging

Status

planetbeing has done an initial evaluation of the project and believes that either building our own from scratch, or using the one provided in the kgdb kernel patches for ARM would be the best. kgdb's gdb stub is not ideal, because it has no support for all the neat debugging features provided by CP14 on the ARM processor. The other debugging commands are not very difficult to implement now that we have serial.

Tasks

There's no task list here because active work has not started. There will be one as soon as someone starts on the project and is able to determine how best to subdivide it into smaller tasks. (Assigned to: Trebonian)

Task Switching

OpenIBoot should have task switching niceties such as yield, sleep, etc. This will allow for a better environment to develop in. It will probably also be useful for a number of application of OpenIBoot technology later on.

Status

We have a stub for setup_tasks, but that's about it. Apple's own task switcher is fairly simple and can be reimplemented here without much trouble. An addition would be to use the timer interrupt to force a process to yield once in awhile, but that might not be a good idea considering how much possibly time-sensitive hardware init is going on.

Tasks

There's no task list here because active work has not started. There will be one as soon as someone starts on the project and is able to determine how best to subdivide it into smaller tasks. (Assigned to: c1de0x)

Img2/3 Packaging (Partially Done)

Currently, we are using Apple's own certificate chain, even though it won't actually validate the signature. An investigation must be made if this certificate chain can be replaced with our own, or anything else that would not force us to use something from Apple. Depending on where pwnage patches, this job can be very tough or very easy.

Status

We have generated our own (official?) iPhone Linux certificate. Pwnage-patched iBoot accepts it fine. The format of the certificate is a X.509 DER encoded certificate. iBoot uses a 2048 RSA key and we do the same thing. It probably does not matter though.

Unfortunately, this seems to have broken for Img3, so it will have to be re-examined. It does not seem like the current iBoot patch for img3 accepts any certificate other than Apple's. This means that the installer will have to get the Apple cert from somewhere, most likely an IPSW.

Tasks

  • Create iPhone Linux certificate chain: We have to create our own chain since we can easily. It won't actually matter that we sign it with our own chain, because pwned iBoot doesn't care anyway, but it might be good to have in the future. (Assigned to: planerbeing)
  • Try making an image with garbage certificate or our own certificate: Obviously the only way we can make sure this will work for us. (Assigned to: planetbeing)
  • Fix it for Img3 (Assigned to: planetbeing)
Personal tools
Toolbox
thanks to the guys at
  ModMyiFone.com and
  NegriElectronics for the
  test iPod Touch!