View Single Post
Posts: 362 | Thanked: 426 times | Joined on Nov 2010 @ Italy, Lombardia
#1
This is my simple guide to modify power kernel v45 image and to change or remove u-boot from it.

It needs a linux pc (or you can use N900 itself) do some steps.
With some modifications steps can be adapted to windows systems too

How-to remove u-boot:
  1. Download power kernel deb file from repository and extract fiasco image from it
  2. Unpack Fiasco image
    flasher-3.5 -u -F zImage-2.6.28-maemo45.fiasco
  3. Remove u-boot from kernel image (starting read at offset 0x40000 aka 512 blocks)
    dd if=zImage of=uImage_pow45_noUBoot skip=512
  4. Remove uImage header from kernel file to obtain a flashable zImage kernel
    dd ibs=64 if=uImage_pow45_noUBoot of=zImage_pow45_noUBoot skip=1
  5. Flash new kernel to device
    sudo flasher-3.5 -f -k zImage_pow45_noUBoot -R

How-to change u-boot with Matan's version:

  1. Download power kernel deb file from repository and extract fiasco image from it
  2. Download Matan's u-boot from repository (it is named u-boot-for-power-kernel) and extract file image from it
  3. Unpack Fiasco image
    flasher-3.5 -u -F zImage-2.6.28-maemo45.fiasco
  4. Remove u-boot from kernel image (starting read at offset 0x40000 aka 512 blocks)
    dd if=zImage of=zImage_pow45_noUBoot skip=512
  5. Copy u-boot to destination zImage
    cp u-boot.bin.0x38000 zImage_pow45_MatanUBoot
  6. Add power kernel at end of previous file (starting write at offset 0x38000 aka 448 blocks)
    dd if=zImage_pow45_noUBoot of=zImage_pow45_MatanUBoot seek=448
  7. Flash new kernel to device
    sudo flasher-3.5 -f -k zImage_pow45_MatanUBoot -R

ATTENTION: Actual Matan's u-boot can have problems with HW revision different from v2101

How-to add u-boot Matan's version:
  1. Download power kernel deb file from repository and extract fiasco image from it
  2. Download Matan's u-boot from repository (it is named u-boot-for-power-kernel) and extract file image from it
  3. Unpack Fiasco image
    flasher-3.5 -u -F zImage-2.6.28.10-power48.fiasco
  4. Transform zImage in uImage (necessary because u-boot boots Kernel only in uImage file format)
    mkimage -A arm -O linux -T kernel -C none -a 80008000 -e 80008000 -n "Power Kernel v48" -d zImage uImage
  5. Copy u-boot to destination zImage
    cp u-boot.bin.0x38000 zImage_pow48_MatanUBoot
  6. Add power kernel uImage at end of previous file (starting write at offset 0x38000 aka 448 blocks)
    dd if=uImage of=zImage_pow48_MatanUBoot seek=448
  7. Flash new kernel to device
    sudo flasher-3.5 -f -k zImage_pow48_MatanUBoot -R

ATTENTION: Actual Matan's u-boot can have problems with HW revision different from v2101

Last edited by Fabry; 2011-08-24 at 14:09. Reason: Updated to Power Kernel v48
 

The Following 18 Users Say Thank You to Fabry For This Useful Post: