You are not logged in.

#1 2015-07-06 20:50:19

karag
Member
Registered: 2006-09-05
Posts: 84

Acer C720 battery discharge brick

Hi all -
I seem to be suffering the dreaded battery discharge issue - went on holiday for a week and forgot it was sleeping rather than powered off.
I have a lot of data on there I need to retrieve!
I've tried to follow the instructions here - http://dev.chromium.org/chromium-os/dev … n-dev-mode

I have the .bin file and have written it to USB stick. It's when I get to the part about clearing flag bits that I hit a problem.
My partition table looks like so:

GNU Parted 3.2
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) unit B                                                           
(parted) print                                                            
Error: The backup GPT table is corrupt, but the primary appears OK, so that will be used.
OK/Cancel? OK                                                             
Warning: Not all of the space available to /dev/sdb appears to be used, you can fix the GPT to use all of the space (an extra 12628032 blocks) or continue with the current setting? 
Fix/Ignore? I                                                             
Model:  USB DISK 2.0 (scsi)
Disk /dev/sdb: 8011120640B
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start        End          Size         File system  Name        Flags
11      32768B       8421375B     8388608B                  RWFW
 6      8421376B     8421887B     512B                      KERN-C
 7      8421888B     8422399B     512B                      ROOT-C
 9      8422400B     8422911B     512B                      reserved
10      8422912B     8423423B     512B                      reserved
 2      10485760B    27262975B    16777216B                 KERN-A
 4      27262976B    44040191B    16777216B                 KERN-B
 8      44040192B    60817407B    16777216B    ext4         OEM         msftdata
12      127926272B   144703487B   16777216B    fat16        EFI-SYSTEM  boot, esp
 5      144703488B   146800639B   2097152B                  ROOT-B
 3      146800640B   1499463679B  1352663040B  ext2         ROOT-A
 1      1499463680B  1528823807B  29360128B                 STATE       msftdata

So I'm calling the enable_rw_mount script like so:

[root@me stuff]# ./enable_rw_mount.sh /dev/sdb 146800640
enable_rw_mount called on non-ext2 filesystem: /dev/sdb 146800640

But when I try to mount the partition I get an error message:

[root@me stuff]# mount /dev/sdb3 /mnt/
mount: wrong fs type, bad option, bad superblock on /dev/sdb3,
       missing codepage or helper program, or other error

       In some cases useful info is found in syslog - try
       dmesg | tail or so.

dmesg tells me:

[60100.978475] Alternate GPT is invalid, using primary GPT.
[60100.978494]  sdb: sdb1 sdb2 sdb3 sdb4 sdb5 sdb6 sdb7 sdb8 sdb9 sdb10 sdb11 sdb12
[60248.377058] EXT4-fs (sdb3): couldn't mount RDWR because of unsupported optional features (ff000000)
[60260.548575] EXT4-fs (sdb3): couldn't mount RDWR because of unsupported optional features (ff000000)

I guess the enable_rw_mount script is not working somehow, but I don't know how to diagnose or where to look for more info.
Will be very grateful for any tips or suggestions please!
Thanks all --

Offline

#2 2015-07-07 14:59:05

rikn00
Member
Registered: 2014-06-26
Posts: 21

Re: Acer C720 battery discharge brick

It seems to me that the script exits when checking if the partition's type is ext2. It means that the modification is left undone. How did you make your recovery media? You could try making it again using Google's instructions (https://support.google.com/chromebook/a … 2417?hl=en).

Offline

#3 2015-07-08 21:01:21

karag
Member
Registered: 2006-09-05
Posts: 84

Re: Acer C720 battery discharge brick

thanks rikn00

I made the recovery media using those instructions under the linux section. It's just a bash script which selects the appropriate image and writes it to USB.
I think you're right about why the script exits, but what confuses me is that the parted result shows that it *is* recognised as an ext2 partition (no. 3), so I'm not sure why it's failing that part of the check. In the script the code is:

#!/bin/bash

is_ext2() {
  local rootfs="$1"
  local offset="${2-0}"
  # Make sure we're checking an ext2 image
  local sb_magic_offset=$((0x438))
  local sb_value=$(sudo dd if="$rootfs" skip=$((offset + sb_magic_offset)) \
                   count=2 bs=1 2>/dev/null)
  local expected_sb_value=$(printf '\123\357')
  if [ "$sb_value" = "$expected_sb_value" ]; then
    return 0
  fi
  return 1
}

enable_rw_mount() {
  local rootfs="$1"
  local offset="${2-0}"
  # Make sure we're checking an ext2 image
  if ! is_ext2 "$rootfs" $offset; then
    echo "enable_rw_mount called on non-ext2 filesystem: $rootfs $offset" 1>&2
    return 1
  fi
  local ro_compat_offset=$((0x464 + 3))  # Set 'highest' byte
  # Dash can't do echo -ne, but it can do printf "\NNN"
  # We could use /dev/zero here, but this matches what would be
  # needed for disable_rw_mount (printf '\377').
  printf '\000' |
    sudo dd of="$rootfs" seek=$((offset + ro_compat_offset)) \
            conv=notrunc count=1 bs=1 2>/dev/null
}

[ -n "$2" ] || exit 1
enable_rw_mount $1 $2

I tried to invoke that dd command at the end manually myself but it didn't seem to work either.
I'm just not sure where to go next with this !

Offline

#4 2015-07-10 16:09:32

rikn00
Member
Registered: 2014-06-26
Posts: 21

Re: Acer C720 battery discharge brick

You could manually run that script line by line to debug it. Did dd give any error message?

Last edited by rikn00 (2015-07-10 16:16:31)

Offline

#5 2015-07-14 07:44:58

systemBuilder
Member
Registered: 2015-07-14
Posts: 1

Re: Acer C720 battery discharge brick

Unfortunately, this problem with dead battery => disables non-chrome OS's is a ROM problem in the c720 and is fixed in all new chromebooks.

This procedure didn't work for you ???

Boot ChromeOS. 
Go into crosh (CTRL-ALT-T)
Type "shell" to get a shell. 
type sudo crossystem dev_boot_legacy=1
reboot and you should be able to select arch linux (CTRL-D) 

If you cannot boot ChromeOS (i.e. its gone), get the crossystem binary on a bootable USB stick.

Last edited by systemBuilder (2015-07-14 07:48:17)

Offline

Board footer

Powered by FluxBB