Help installing kernel image

Search This thread

bsammon

Senior Member
Dec 21, 2012
52
3
I've been running Linux (debian/ubuntu based on rabits's stuff) on my tablet, with no ability to (easily) boot Android, for a few months now.
My System partition still has 9.4.5.26 on it, and I'd like to reinstall a 9.4.5.26 kernel, without wiping my System partition, so I can switch back to Android.

I've (I think) extracted a kernel image and a ramdisk image from a 9.4.5.26 install image, and I'm trying to create a install image containing just the kernel and ramdisk, and copy it to the Staging partition with dd.

I've created a Makefile to create the blobfile, and (seemingly) successfully created the blobfile, but after I do the dd, and reboot, debian/ubuntu boots as usual, instead of some kind of install process.

I've included the Makefile that I'm using below.

Any idea what I'm doing wrong, or what's wrong with my expectations?
Something I have yet to try is an alternative to dd (such as fastboot or nvflash)
Also, maybe I'd have better luck trying to create something that I could install from TWRP.

Code:
kern = zImage
bootimg_filename = boot.img
blobpack = ./blobpack
blob_img = blob.LNX
recovery_part = /dev/mmcblk0p4

$(bootimg_filename) : initrd.img $(kern)
        abootimg --create $(bootimg_filename) -k $(kern) -r initrd.img

blob.LNX: $(bootimg_filename)
        $(blobpack) blob.LNX LNX $(bootimg_filename)

install.dd:
        dd if=$(blob_img) of=$(recovery_part)
 

lj50036

Senior Member
Feb 14, 2013
3,321
3,297
42
FUXDA
I've been running Linux (debian/ubuntu based on rabits's stuff) on my tablet, with no ability to (easily) boot Android, for a few months now.
My System partition still has 9.4.5.26 on it, and I'd like to reinstall a 9.4.5.26 kernel, without wiping my System partition, so I can switch back to Android.

I've (I think) extracted a kernel image and a ramdisk image from a 9.4.5.26 install image, and I'm trying to create a install image containing just the kernel and ramdisk, and copy it to the Staging partition with dd.

I've created a Makefile to create the blobfile, and (seemingly) successfully created the blobfile, but after I do the dd, and reboot, debian/ubuntu boots as usual, instead of some kind of install process.

I've included the Makefile that I'm using below.

Any idea what I'm doing wrong, or what's wrong with my expectations?
Something I have yet to try is an alternative to dd (such as fastboot or nvflash)
Also, maybe I'd have better luck trying to create something that I could install from TWRP.

Code:
kern = zImage
bootimg_filename = boot.img
blobpack = ./blobpack
blob_img = blob.LNX
recovery_part = /dev/mmcblk0p4

$(bootimg_filename) : initrd.img $(kern)
        abootimg --create $(bootimg_filename) -k $(kern) -r initrd.img

blob.LNX: $(bootimg_filename)
        $(blobpack) blob.LNX LNX $(bootimg_filename)

install.dd:
        dd if=$(blob_img) of=$(recovery_part)


So you just want to install what you have made to your staging partition, so on next boot the tablet will install it on your tablet is that right??
 

_that

Recognized Developer / Inactive RC
Oct 2, 2012
4,821
4,211
  • Like
Reactions: lj50036

bsammon

Senior Member
Dec 21, 2012
52
3
Maybe your blob is missing the signature header. Read my kernel repacking guide here:

http://xdaforums.com/showpost.php?p=36925180&postcount=4

Yes! -- that was it -- after two tries, I got a working Makefile.

Why is your extracted kernel separated in zImage and ramdisk? After unpacking the 9.4.5.26 blob, you should get blob.LNX directly without needing to recombine with abootimg.

Well, doing things the (somewhat) harder way is more educational, and I end up with a makefile that I can reuse for kernels and ramdisks that I make/modify myself.

If anyone's interested, here's the Makefile that I ended up with:
Code:
kern = zImage
bootimg_filename = boot.img
blobpack = ./blobpack
unsigned_blob = blob.LNX.in
signature = blob.sign
blob_img = blob.LNX
staging_part = /dev/mmcblk0p4

$(bootimg_filename) : initrd.img $(kern)
        abootimg --create $(bootimg_filename) -k $(kern) -r initrd.img

$(unsigned_blob): $(bootimg_filename)
        $(blobpack) $(unsigned_blob) LNX $(bootimg_filename)

$(signature):
        echo -n "-SIGNED-BY-SIGNBLOB-" > $(signature)
        dd if=/dev/zero bs=1 count=8 >> $(signature)

$(blob_img): $(signature) $(unsigned_blob)
        cat $(signature) $(unsigned_blob) > $(blob_img)

install.dd:
        dd if=$(blob_img) of=$(staging_part)
 

Top Liked Posts