FORUMS
Remove All Ads from XDA

[Installer] SMACKME 2.1 (kexec or moboot, native Linux or Android - with recovery!)

211 posts
Thanks Meter: 340
 
Post Reply Email Thread
SmackMe 2.1 Installer
Read the whole post before doing anything.

Sorry this has been so long in the making. It underwent several rewrites and design changes.

SmackMe now supports recovery - individual recoveries will be installed along with kexec kernels - don't worry about the graphical corruption.

Supported Android Files:
  • Android 2.2: Froyo-*.zip|froyo-*.zip
  • Android 2.3 / CM7.1: update-cm-7*.zip|update-cm7*.zip|cm-7*.zip
  • Android 4.0 / CM9: update-cm-9*.zip|cm-9*.zip|update-cm9*.zip
  • Android 4.1 / CM10: cm-10*.zip|update-cm-10*.zip|update-cm10*.zip
  • Android 4.2: Evervolv-*.zip|evervolv-*.zip
  • Google Apps for Android: gapps-*.zip

Supported native-Linux Files:
  • Ubuntu: TouchPadBuntuRootfs*.tar.gz|TouchPadBuntuRootfs*.t gz
  • Split Ubuntu: TouchPadBuntuRootfs1210*.tar.gz.[123]|TouchPadBuntuRootfs1210*.tgz.[123]
  • Arch Linux ARM (untested but should work): ArchLinuxARM-touchpad*.tar.gz|ArchLinuxARM-touchpad*.tgz
  • Split Arch Linux: ArchLinuxARM-touchpad*.tar.gz.[1-4]|ArchLinuxARM-touchpad*.tgz.[1-4]
  • Debian (which fell off the face of the Earth, apparently, so also might not work): bodhi-touchpad-*.tar.gz|bodhi-touchpad-*.tgz
  • Split Debian: bodhi-touchpad-*.tar.gz.[123]|bodhi-touchpad-*.tgz.[123]
  • Fedora (ported by me, will release this month): HPTPFedora*.tar.gz|HPTPFedora*.tar.gz
  • Split Fedora: HPTPFedora*.tar.gz.[123]|HPTPFedora*.tar.gz.[123]
  • Slackware (ported by me): HPTPSlackware*.tar.gz|HPTPSlackware*.tar.gz
  • Split Slackware: HPTPSlackware*.tar.gz.[123]|HPTPSlackware*.tar.gz.[123]

Supported Miscellaneous Files:
  • uImage files: uImage.*
  • kexec kernel tarchives: kexec-*.tar
  • moboot (0.3.5, 0.3.8 tested only): moboot*.zip

You will need:
  • Computer with the HP webOS SDK installed, including Novacom and Novaterm.
  • A TouchPad (which I will refer to as HPTP)
  • All your files to install.
  • Patience. An install of the whole shebang on my 32GB test unit took almost 40 minutes.

Instructions for use:
  1. Create a directory in the USB storage of your HPTP with the name "sminstall".
  2. Copy all the files you want to install from your PC (refer to the lists above) into that directory.
  3. Boot your HPTP into recovery mode.
  4. Run the following command in your Terminal or Command Prompt:
    Code:
    novacom boot mem:// < uImage.SmackMe2
You should see the USB logo get replaced by the HP logo, then two Tuxes (Linux's mascot, the penguin - one for each CPU coer on the SoC) and scrolling text. Wait for the tablet to reboot to moboot. If you encounter any issues, please remember that I AM NOT RESPONSIBLE FOR YOUR ACTIONS, but I will certainly do my utmost to fix anything that I made. It is unlikely to brick your TouchPad using either this installer or ACME Installer. The worst that can theoretically happen is the "www.palm.com/ROM" screen, which IS NOT a brick, and IS EASILY FIXABLE.

DOWNLOADS
The main installer (what you feed into Novacom):
uImage.SmackMe2 - https://docs.google.com/file/d/0B4WU...it?usp=sharing
Buiidables for the main installer: http://www.mediafire.com/?it96af7fvp39l9c
To use kexec for any OS, you need both "uImage.kexec" and the "kexec-<OSNAME>.tar" files.
MAIN FILE (uImage.kexec): https://docs.google.com/file/d/0B4WU...it?usp=sharing
Android 2.2: https://docs.google.com/file/d/0B4WU...it?usp=sharing
Android 2.3: https://docs.google.com/file/d/0B4WU...it?usp=sharing
Android 4.0: https://docs.google.com/file/d/0B4WU...it?usp=sharing
Android 4.1: https://docs.google.com/file/d/0B4WU...it?usp=sharing
Android 4.2: https://docs.google.com/file/d/0B4WU...it?usp=sharing

Ubuntu 12.10 final: http://www.mediafire.com/?uowhfd1sx1pppoa
Ubuntu 13.04: kexec kernel already included in the rootfs, DO NOT try to extract the 12.10 one on top!
Arch Linux: coming soon
Slackware: http://www.mediafire.com/?8kow2lrwnamuui1
Fedora: coming soon
Attached Thumbnails
Click image for larger version

Name:	67405_2795287099408_592495895_n.jpg
Views:	3728
Size:	44.3 KB
ID:	1702727   Click image for larger version

Name:	20130204_040244.jpg
Views:	3334
Size:	256.6 KB
ID:	1702728   Click image for larger version

Name:	CameraZOOM-20130516134526680.jpg
Views:	2329
Size:	272.2 KB
ID:	1968792  
The Following 19 Users Say Thank You to castrwilliam For This Useful Post: [ View ] Gift castrwilliam Ad-Free
 
 
5th February 2013, 01:45 AM |#2  
Senior Member
10025
Thanks Meter: 16
 
More
Thumbs up dude amazing work really love to get all of this working

Arch Linux: coming soon
Slackware: coming soon
Fedora: coming soon
The Following User Says Thank You to netkillercat For This Useful Post: [ View ] Gift netkillercat Ad-Free
5th February 2013, 03:49 AM |#3  
Quote:
Originally Posted by netkillercat


Arch Linux: coming soon
Slackware: coming soon
Fedora: coming soon

Detailed status:

Arch Linux should be easy once I fit the (LZMA'd) kernel+ramdisk under the 4MB limit.
Slackware is practically done-de-done-done but I have to remove some personal settings and make X launch by default.
Fedora is the farthest back, I haven't even yet compiled ts_srv for it.
5th February 2013, 01:20 PM |#4  
Senior Member
Thanks Meter: 99
 
More
So this installer creates the kexec<OS>files.tar from the roms that you supply it? Or are you simply stuck with the ones you provided?
5th February 2013, 03:50 PM |#5  
Senior Member
10025
Thanks Meter: 16
 
More
Angry sounds great man i have 32gig tp for testing let me know
castrwilliam;37601915]Detailed status:

Arch Linux should be easy once I fit the (LZMA'd) kernel+ramdisk under the 4MB limit.
Slackware is practically done-de-done-done but I have to remove some personal settings and make X launch by default.
Fedora is the farthest back, I haven't even yet compiled ts_srv for it.
The Following User Says Thank You to netkillercat For This Useful Post: [ View ] Gift netkillercat Ad-Free
6th February 2013, 12:13 AM |#6  
The kexec-<OS> files are documented inside the ramdisk on the init script, I forgot to copy that documentation here. Nothing really strange has to be done to make them, but since it requires the might of a desktop PC to compile the kernel, I thought it'd be good to include the ones I've made so far.

(from /etc/scripts/kernel.sh of the ramdisk of SmackMe)
Quote:

# install_kexec:
# $1: kexec tarchive
#
# these tarchives are always uncompressed and contain the following files:
# vmlinuz-<name> = the zImage to boot
# initrd.img-<name> = the initrd to boot
# boot.cfg = kexecboot boot.cfg file.
# smackme.cfg = installation parameters:
# - ROOTDEV=/dev/store/<lvname> the root device to install this on.

Basically, you need to recompile the (2.6.35 only) kernel with the patch from my kexec post, and use the zImage (NOT THE uImage) as vmlinuz-whatever. Then, you need to extract the old uImage from the same OS with uimage-extract from the moboot distribution. Use the "ramdisk.img" that is created in your current directory as "initrd.img-<name.>

Then, create a kexecboot config file of the form:

Code:
LABEL=<what shows up on the boot menu>
KERNEL=<what you named the kernel>
INITRD=<what you named the initrd>
APPEND=root=/dev/ram0
and save it as "boot.cfg".

Lastly, make a one-line smackme config file named smackme.cfg. ROOTDEV depends on what LVM volume you want SmackMe to store the kernel on. List:
Android 2.2: /dev/store/android22-system
Android 2.3: /dev/store/android23-system
Android 4.0: /dev/store/android40-system
Android 4.1: /dev/store/android41-system
Android 4.2*: /dev/store/android42-system
Ubuntu: /dev/store/ubuntu-root
Slackware*: /dev/store/slackware-root
Fedora*: /dev/store/fedora-root
Arch*: /dev/store/arch-root
Debian*: /dev/store/debian-root (or possibly bodhi-root, idk)
* means the tarchive for that OS hasn't been posted on my first post yet.

Lastly, put the four files (vmlinuz, initrd, boot.cfg and smackme.cfg) in an empty folder and do:
tar -czf ../kexec-<name>.tar *
Move it to the sminstall dir on the HPTP and run SmackMe to test.

Summary (ubuntu 12.10 host AND guest with the CodeSourcery toolchain in $PATH used as an example):
Code:
#setup
mkdir work
mv <PATH_TO_KEXEC_PATCH> work
mv <NORMAL_UBUNTU_KERNEL_UIMAGE> work
cd work

# compile kernel
git clone git://github.com/BodenM/ubuntu-kernel-tenderloin
cd ubuntu-kernel-tenderloin
patch -p2 < ../decomp-copy-atags.diff
export ARCH=arm 
export CC=arm-eabi-gcc
make tenderloin_defconfig
make -j8 zImage
cd .

# extract ramdisk
git clone git://github.com/jcsullins/moboot
cd moboot/tools
gcc -lz -o uimage-extract uimage-extract.c
cd ../..
uimage-extract uImage.Ubuntu

#make boot.cfg file
echo 'LABEL=Ubuntu 12.10 final' > boot.cfg
echo 'KERNEL=vmlinuz-2.6.35-ubuntu' >> boot.cfg
echo 'INITRD=initrd.img-2.6.35-ubuntu' >> boot.cfg
echo 'APPEND=root=/dev/ram0' >> boot.cfg

#make smackme.cfg file
echo 'ROOTDEV=/dev/store/ubuntu-root' > smackme.cfg

#generate kexec tarchive
mkdir kexec
mv hp-kernel-tenderloin-ubuntu/arch/arm/boot/zImage kexec/vmlinuz-2.6.35-ubuntu
mv ramdisk.img kexec/initrd.img-2.6.35-ubuntu
mv *.cfg kexec/
cd kexec
tar -czf ../kexec-ubuntu.tar *
BTW, the kexec package is only half the story, you still need to copy the rootfs tarfile (native) or zip file and gapps (Android).
The Following User Says Thank You to castrwilliam For This Useful Post: [ View ] Gift castrwilliam Ad-Free
6th February 2013, 01:25 AM |#7  
Senior Member
Thanks Meter: 26
 
More
It worked but....when I get to Kexecboot I can't select anything? The up/down vol key works but the home button will not....
n/m....figured it out its the power button instead of home..... working good!
6th February 2013, 02:45 AM |#8  
blmvxer's Avatar
Senior Member
Thanks Meter: 618
 
Donate to Me
More
Re: [Installer] SMACKME 2.0 (kexec or moboot, native Linux or Android)
Does your version of Ubuntu contain the same bugs as the Ubuntu already posted in the forums?, and if I may ask what bugs are in your other Linux ports?

Sent from my Nexus 10 using xda app-developers app
6th February 2013, 11:03 AM |#9  
My version of Ubuntu has audio and usability enhancements, as well as being lean/mean and faster due to the armhf architecture.

It's available near the end of the Ubuntu thread, make sure you get 12.10, "Final" and not "Beta".

In fact, I haven't tested my Ubuntu kexec tarchive with anyone else's implementation. Feel free to try and respond back with 11.10 or 12.04, or even my 12.10 beta.

Everyone, Slackware should be up by the time you read this post.
The Following 2 Users Say Thank You to castrwilliam For This Useful Post: [ View ] Gift castrwilliam Ad-Free
6th February 2013, 03:07 PM |#10  
Senior Member
10025
Thanks Meter: 16
 
More
Talking Little help please just in case is this right
just to make it clear for us dummies out here

novacom boot mem:// < uImage.SmackMe2 thats it right?
6th February 2013, 06:18 PM |#11  
Member
Thanks Meter: 18
 
Donate to Me
More
Re: [Installer] SMACKME 2.0 (kexec or moboot, native Linux or Android)
Hey castrwilliam nice job
I have a question. I already have cm10 and webos installed and want to get ubuntu 12.10. But i always had a problem with kernel panic error. So i came across your recent post. Can i just follow your instructins for ubuntu or do i have to install the rest too? I already have the moboot installed. Thanks for your response

sent from my hp touchpad 32gb dual boot CM10
Post Reply Subscribe to Thread

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes