Bricked my touchpad and how I fixed it.
======================================
Story to explain how I partially "bricked" my touchpad
======================================
I say partially because WebOS wouldn't boot but I could get into recovery
It started out when I put Android on my touchpad. It worked perfectly.
The next day, I suddenly couldn't edit any files on Android, so I hooked it up to my computer. Windows said I should reformat it. So I just let windows reformat it to fat32.
After the format, something odd happened. I wasn't sure what was going on, but basically:
Android was able to write to the SD card now, but when I plugged it into my computer to look look at the files, it showed me what windows formatted. Same happened when I booted to WebOS.
So great, now I have created myself a problem.
Attempting to fix it, I decided to uninstall android and run webos doctor. Didn't fix my problem.
I then proceeded to "recreate the filesystem" with these commands.
Code:
lvm.static vgscan --ignorelockingfailure
lvm.static vgchange -ay --ignorelockingfailure
lvm.static vgremove store
lvm.static vgscan --ignorelockingfailure
lvm.static vgchange -ay --ignorelockingfailure
lvm.static vgcreate -s 8M store /dev/mmcblk0p14
lvm.static vgscan --ignorelockingfailure
lvm.static vgchange -ay --ignorelockingfailure
lvm.static lvcreate -l 71 -i 1 -M y --major 254 --minor 0 -n root store
lvm.static lvcreate -l 8 -i 1 -M y --major 254 --minor 1 -n var store
lvm.static lvcreate -l 2 -i 1 -M y --major 254 --minor 2 -n update store
lvm.static lvcreate -l 3 -i 1 -M y --major 254 --minor 3 -n log store
lvm.static lvcreate -l 32 -i 1 -M y --major 254 --minor 4 -n mojodb store
lvm.static lvcreate -l 17 -i 1 -M y --major 254 --minor 5 -n filecache store
lvm.static lvcreate -l 3523 -i 1 -M y --major 254 --minor 6 -n media store
lvm.static lvcreate -l 64 -i 1 -M y --major 254 --minor 7 -n swap store
lvm.static vgscan --ignorelockingfailure
lvm.static vgchange -ay --ignorelockingfailure
mkdosfs -f 1 -s 64 /dev/store/media
Well, I caused myself a bigger problem. Now WebOS won't even boot.
======================================
Trying to figure out what went wrong
======================================
Great, my touchpad won't boot.
I tried to doctor it, and it get's stuck at 8%. I checked the logs and found this bit of useful information
Part of doctor log
Code:
INFO: Unmounting /dev/mapper/store-log
Oct 24, 2011 3:53:09 AM com.palm.nova.installer.core.MountUtils umountPart
WARNING: MountUtils: unmount failed, retrying in 1 second
Oct 24, 2011 3:53:10 AM com.palm.nova.installer.core.MountUtils umountPart
SEVERE: MountUtils: unmount failed: umount: can't umount /dev/mapper/store-log:
No such file or directory
So I went back to root access and tried to mount all partitions.
mount -a
Code:
mount: mounting /dev/mapper/store-var on /var failed: Invalid argument
mount: mounting /dev/mapper/store-log on /var/log failed: Invalid argument
Turns out this is the real reason doctor failed.
I then checked everything I could to see if i could find any other problems
pvscan
Code:
Filesystem Size Used Available Use% Mounted on
/dev/root 28.8M 21.2M 7.6M 74% /
/dev/root 28.8M 21.2M 7.6M 74% /dev/.static/dev
tmpfs 2.0M 108.0K 1.9M 5% /dev
tmpfs 32.0M 0 32.0M 0% /tmp
tmpfs 16.0M 0 16.0M 0% /var/run
tmpfs 32.0M 0 32.0M 0% /tmp
tmpfs 459.7M 0 459.7M 0% /media/ram
/dev/mapper/store-media
27.5G 64.0K 27.5G 0% /media/internal
lvscan
Code:
ACTIVE '/dev/store/root' [568.00 MB] inherit
ACTIVE '/dev/store/var' [64.00 MB] inherit
ACTIVE '/dev/store/update' [16.00 MB] inherit
ACTIVE '/dev/store/log' [24.00 MB] inherit
ACTIVE '/dev/store/mojodb' [256.00 MB] inherit
ACTIVE '/dev/store/filecache' [136.00 MB] inherit
ACTIVE '/dev/store/media' [27.53 GB] inherit
ACTIVE '/dev/store/swap' [512.00 MB] inherit
fstab
Code:
# fstab auto-generated by trenchcoat
# <filesystem> <mount point> <type> <options> <dump> <pass>
rootfs / ext3 ro,suid,dev,exec,auto,nouser,async,noatime 1
1
/dev/mapper/store-var /var ext3 noatime,data=writeback 0 0
/dev/mapper/store-cryptodb /var/db ext3 noauto,noatime,data=ordered
0 0
/dev/mapper/store-cryptofilecache /var/file-cache ext3 noauto,noatime,u
ser_xattr 0 0
/dev/mapper/store-log /var/log ext3 noatime 0 0
/dev/mapper/store-update /var/lib/update ext3 noauto,noatime 0
0
proc /proc proc defaults 0 0
devpts /dev/pts devpts mode=0620,gid=5 0 0
tmpfs /tmp tmpfs size=40M,mode=1777 0 0
tmpfs /var/run tmpfs size=16M,mode=1777 0 0
tmpfs /var/tmp tmpfs size=32M,mode=1777 0 0
tmpfs /media/ram tmpfs defaults 0 0
/dev/mapper/store-media /media/internal vfat utf8,shortname=mixed,umask=0000
0 0
===================
Actually fixing it
===================
I found something different using the lvdisplay command verses another thread where a guy posted his.
This is from another forum I found, look at segments
Code:
--- Logical volume ---
LV Name /dev/store/media
VG Name store
LV UUID GwzQv1-Oewn-niF3-y2i4-jM23-n8ke-DbWAzV
LV Write Access read/write
LV Status available
# open 1
LV Size 4.00 GB
Current LE 512
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Persistent major 254
Persistent minor 6
Block device 254:6
Here is mine.
Mine for some reason shows 2 segments instead of 1, so I assume there is a problem here.
Code:
---Logicalvolume---
LV Name /dev/store/media
VG Name store
LV UUID muJmcF-yDe4-qF6d-QA8E-T31q-FMSq-6RTiZx
LV Write Access read/write
LV Status available
# open 1
LV Size 27.53GB
Current LE 3524
Segments 2
Allocation inherit
Read ahead sectors auto
-currently set to 256
Persistent major 254
Persistent minor 6
Block device 254:6
.
[edit1] - I managed to fixed having 2 segments by deleting that partition altogether and making a new one, I assume mine had 2 segments due to me formatting it in windows.
[edit2] - after booting up my touchpad and hooking it up to my computer, I can see all the files on that partition again.
======================================
Edit 2
======================================
Thanks to TheSilverRing for pointing out I forgot to mention how to actually fix it
I fixed the mounting problem by formatting log and var to ext3.
use these commands -
mkfs.ext3 /dev/mapper/store-var
mkfs.ext3 /dev/mapper/store-log
mount -a
mkdir /var/log
mkdir /var/tmp
mkdir /var/run
I doctored my touchpad, and it boots up to live another day.