Difference between revisions of "Run Multiple WebOS Versions"

From WebOS Internals
Jump to navigation Jump to search
(added important missed step)
(continued transmogrification)
 
(3 intermediate revisions by the same user not shown)
Line 2: Line 2:
  
 
And especially your /media/internal filesystem
 
And especially your /media/internal filesystem
 +
 +
First be running the version you want to be secondary,  Then on pre, run:
 +
 +
<pre>
 +
dd if=/dev/mapper/store-root of=/media/internal/root1.img bs=1048576
 +
dd if=/dev/mapper/store-var of=/media/internal/var1.img bs=1048576
 +
tar cvzf root-var.tar.gz root1.img var1.img
 +
</pre>
 +
 +
From host:
 +
 +
novacom get file:///media/internal/root-var.tar.gz > root-var.tar.gz
 +
 +
Now doctor to the version you want to be primary (this one will determine which kernel you run for both unfortunately)
 +
 +
When done, from pre:
  
 
<pre>
 
<pre>
Line 10: Line 26:
 
mkdosfs -F 32 /dev/mapper/store-media
 
mkdosfs -F 32 /dev/mapper/store-media
 
mount /media/internal
 
mount /media/internal
mkdir /media/internal/mb
 
dd if=/dev/mapper/store-root of=/media/internal/mb/root1.img bs=1048576
 
dd if=/dev/mapper/store-var of=/media/internal/mb/var1.img bs=1048576
 
 
</pre>
 
</pre>
 +
 +
From host:
 +
 +
novacom put file:///media/internal/root-var.tar.gz < root-var.tar.gz
 +
 +
Back on pre:
 +
 +
<pre>
 +
cd /media/internal
 +
tar xvzf root-var.tar.gz
 +
lvcreate -L 256M -n var2 store
 +
lvcreate -L 40M -n log2 store
 +
lvcreate -l 100%FREE -n root2 store
 +
dd if=/media/internal/mb/root1.img of=/dev/mapper/store-root2 bs=1048576
 +
dd if=/media/internal/mb/var1.img of=/dev/mapper/store-var2 bs=1048576
 +
resize2fs /dev/mapper/store-root2
 +
resize2fs /dev/mapper/store-var2
 +
mke2fs -j -b4096 -m0 -L /var/log /dev/mapper/store-log2
 +
</pre>
 +
 +
Now you just need a /boot/init that will mount whichever root and var is desired, and a service to enumerate the ones that are available and reboot into the selected one
 +
 +
.. and of course this doesn't deal with the kernel.

Latest revision as of 08:27, 31 January 2010

THIS IS A WORK IN PROGRESS AND WILL DESTROY YOUR PRE

And especially your /media/internal filesystem

First be running the version you want to be secondary, Then on pre, run:

dd if=/dev/mapper/store-root of=/media/internal/root1.img bs=1048576
dd if=/dev/mapper/store-var of=/media/internal/var1.img bs=1048576
tar cvzf root-var.tar.gz root1.img var1.img

From host:

novacom get file:///media/internal/root-var.tar.gz > root-var.tar.gz 

Now doctor to the version you want to be primary (this one will determine which kernel you run for both unfortunately)

When done, from pre:

stop LunaSysMgr
pkill cryptofs
umount /media/internal
lvresize -L -800M /dev/mapper/store-media
mkdosfs -F 32 /dev/mapper/store-media
mount /media/internal

From host:

novacom put file:///media/internal/root-var.tar.gz < root-var.tar.gz 

Back on pre:

cd /media/internal
tar xvzf root-var.tar.gz
lvcreate -L 256M -n var2 store
lvcreate -L 40M -n log2 store
lvcreate -l 100%FREE -n root2 store
dd if=/media/internal/mb/root1.img of=/dev/mapper/store-root2 bs=1048576
dd if=/media/internal/mb/var1.img of=/dev/mapper/store-var2 bs=1048576
resize2fs /dev/mapper/store-root2
resize2fs /dev/mapper/store-var2
mke2fs -j -b4096 -m0 -L /var/log /dev/mapper/store-log2

Now you just need a /boot/init that will mount whichever root and var is desired, and a service to enumerate the ones that are available and reboot into the selected one

.. and of course this doesn't deal with the kernel.