Chromium OS stuck at repair screen

2,667 views
Skip to first unread message

royjr

unread,
Jul 28, 2012, 2:29:51 PM7/28/12
to chromium-...@chromium.org
OS Version         :  <From about:version: Platform x.x.x.x>
Type of computer   :  HP Pavilion dv6 8gb i5 750hdd

What steps will reproduce the problem?
1. Copy root partition from nightly build to an ext2 partition on hdd
2. Copy state partition to an ext4 partition on hdd
3. Select ChromiumOS from GRUB menu

What is the expected output?
Normal boot up

What do you see instead?
"Your system is repairing itself. Please wait."

How frequently does this problem reproduce?
Always


I was able to boot up Chromium OS on a usb through hexxeh's vanilla builds. But it lagged, and my computer is fast. So I decided that I want to dual boot with windows 7, I followed these instructions.. 
http://www.squidoo.com/build-a-chromebook#module150247988

I already had 4 partitions from the start, so I made my C drive logical and created a 4gb partition. I booted GParted and created two partitions (C-STATE and C-ROOT) with the same size (+ 2 mb) as the partitions on the usb. I copied both to the partition on the hard drive.

I got stuck in the process but got chrome to boot when I used this also for the GRUB..
http://techpp.com/2011/10/11/how-to-dual-boot-chromium-os-with-windows/

Chromium finally booted, but after the logo, i got a recovery screen, which I knew I was going to get. The loading icon freezes after 2 secs at the same place every time..
http://i42.tinypic.com/30icak9.jpg

And that where im up to now, im using this GRUB settings...

timeout 0
default 1
title ChromiumOS
root (hd0,6)
kernel /boot/vmlinuz root=/dev/sda7 rwnoresume noswap i915.modeset=1 loglevel=1 cros_debug
quiet



Please help me, I really need windows and cant install chromium on it by itself. I tried looking for help online, but failed to find anything useful. Thanks in advance =)

Richard Barnette

unread,
Jul 30, 2012, 1:21:59 PM7/30/12
to roy...@gmail.com, chromium-...@chromium.org
On Jul 28, 2012, at 11:29 AM, royjr wrote:

> OS Version : <From about:version: Platform x.x.x.x>
> Type of computer : HP Pavilion dv6 8gb i5 750hdd
>
>
> What steps will reproduce the problem?
>
> 1. Copy root partition from nightly build to an ext2 partition on hdd
> 2. Copy state partition to an ext4 partition on hdd
> 3. Select ChromiumOS from GRUB menu
>
>
> What is the expected output?
>
> Normal boot up
>
>
> What do you see instead?
>
> "Your system is repairing itself. Please wait."
>
> How frequently does this problem reproduce?
> Always
>
>
> I was able to boot up Chromium OS on a usb through hexxeh's vanilla builds. But it lagged, and my computer is fast. So I decided that I want to dual boot with windows 7, I followed these instructions..
>
> http://www.squidoo.com/build-a-chromebook#module150247988
>
N.B. These instructions were posted by a third party; they're not
supported by the Chromium OS project. If the instructions don't
work, your main recourse is either a) learn enough to fix it yourself,
or b) get help from the third party who posted the instructions.

In the interest of helping you with a), I can explain what you're
seeing, although I don't know enough to say how to fix it.

What's happening is that Chromium OS expects a very specific
disk partition layout. Basically, there's a startup script that tries
to mount partition 1 of the boot device as an ext4 file system (a
pre-existing ext2 or ext3 file system will be accepted). If the
mount command fails, it shows the screen you're seeing, then
creates an ext4 file system on that partition. Something in that
flow is failing.

The source code is here:
src/platform/init/chromeos_startup

The script is installed as /sbin/chromeos_startup.

Here's the source code you'll want to start from:
# For all other cases, mount stateful partition from STATE_DEV.
elif ! mount -n -t ext4 -o nodev,noexec,nosuid,commit=600 \
"$STATE_DEV" /mnt/stateful_partition; then
# Try to rebuild the stateful partition by clobber-state
# (for security concern, we don't use fast mode)
[ -z "$BOOT_SPLASH_PID" ] || wait $BOOT_SPLASH_PID
chromeos-boot-alert self_repair /dev/tty1
clobber-log --repair "$STATE_DEV" "Self-repair corrupted stateful partition"
exec clobber-state "keepimg"
fi

The `mount` in the elif is the one that fails; the `chromeos-boot-alert`
script displays the screen, and the `clobber-state` script does the
work of re-creating the partition (or at least, trying to). All of the
scripts are in src/platform/init.


>
> I already had 4 partitions from the start, so I made my C drive logical and created a 4gb partition. I booted GParted and created two partitions (C-STATE and C-ROOT) with the same size (+ 2 mb) as the partitions on the usb. I copied both to the partition on the hard drive.
>
> I got stuck in the process but got chrome to boot when I used this also for the GRUB..
>
> http://techpp.com/2011/10/11/how-to-dual-boot-chromium-os-with-windows/
>
>
> Chromium finally booted, but after the logo, i got a recovery screen, which I knew I was going to get. The loading icon freezes after 2 secs at the same place every time..
>
> http://i42.tinypic.com/30icak9.jpg
>
>
> And that where im up to now, im using this GRUB settings...
>
> timeout 0
> default 1
> title ChromiumOS
> root (hd0,6)
> kernel /boot/vmlinuz root=/dev/sda7 rwnoresume noswap i915.modeset=1 loglevel=1 cros_debug
> quiet
>
>
>
> Please help me, I really need windows and cant install chromium on it by itself. I tried looking for help online, but failed to find anything useful. Thanks in advance =)
>
>
> --
> Chromium OS discuss mailing list: chromium-...@chromium.org
> View archives, change email options, or unsubscribe:
> http://groups.google.com/a/chromium.org/group/chromium-os-discuss?hl=en

-- jrb



royjr

unread,
Jul 30, 2012, 1:33:39 PM7/30/12
to chromium-...@chromium.org
would you be able to help me with that? help me change the stateful location? im not that experienced with these kinda thnigs.

Richard Barnette

unread,
Jul 30, 2012, 1:49:23 PM7/30/12
to roy...@gmail.com, chromium-...@chromium.org
On Jul 30, 2012, at 10:33 AM, royjr wrote:

> would you be able to help me with that? help me change the stateful location? im not that experienced with these kinda thnigs.
>
This isn't an alias for personalized support, nor for discussion
of topics not specific to Chromium OS. There are folks who can
tell you where to find the source code for various operations, but
to understand the code you'll need to know a fair amount about
the Linux kernel, the bootstraps, and about shell programming.
If you need to learn that stuff, this isn't the forum to do it.

If you've got specific technical questions, you're probably better
off sending to chromiu...@chromium.org. Note that
non-specific questions tend to get ignored.

I note that dual boot is a popular FAQ. Lots of people want to
know how, but so far no one in the community has stepped
forward to find a solution. That means in practical terms, the
feature is unsupported.

Olof Johansson

unread,
Aug 1, 2012, 3:41:09 AM8/1/12
to roy...@gmail.com, chromium-...@chromium.org
On Sat, Jul 28, 2012 at 11:29 AM, royjr <roy...@gmail.com> wrote:
> OS Version : <From about:version: Platform x.x.x.x>
> Type of computer : HP Pavilion dv6 8gb i5 750hdd


Hmm. I just hit a similar case tonight when I messed up the TPM
driver. A quick search online indicates that your system does have a
TPM, but I wonder if there's some assumption we do these days about it
that don't hold true on that system.



-Olof

Richard Barnette

unread,
Aug 1, 2012, 6:41:36 PM8/1/12
to ol...@chromium.org, roy...@gmail.com, Kees Cook, Chromium OS discuss
+keescook

Aha! This is interesting. I am reminded that there are more ways for
the "repairing" screen to show up than just a failure to mount the stateful
partition.

One other significant possibility is this code:
remember_mount /var
remember_mount /home/chronos
mount-encrypted ${IS_FACTORY_MODE:+factory} >/tmp/mount-encrypted.log 2>&1
if [ $? -ne 0 ]; then
cleanup_mounts
fi

If `mount-encrypted` fails, you'll also get a repair operation via
'cleanup_mounts'. There's also a shell function called 'mount_or_fail'
that can call cleanup_mounts.

'mount_or_fail' mostly shouldn't fail, especially if the stateful partition
is freshly installed. However, mount-encrypted *does* depend on the
TPM; if access to the TPM doesn't fit expectations, that could cause
problems.

Don't ask me 'bout the TPM requirements, 'cause I don't know. :-(

>
>
> -Olof

Kees Cook

unread,
Aug 1, 2012, 6:52:16 PM8/1/12
to Richard Barnette, ol...@chromium.org, roy...@gmail.com, Chromium OS discuss
[resend, now that I'm subscribed...]
mount-encrypted expects to be able to communicate with the TPM on
Chrome devices, and will refuse to fallback to other system key
sources on a failure. (On non-chrome devices it happily attempts to
use a variety of potential system keys.)

As for the requirements, it uses a subset of the standard TPM api:
querying ownership, reading NVRAM areas, and potentially fetching some
random bytes.

-Kees

>
>>
>>
>> -Olof
>>
>> --
>> Chromium OS discuss mailing list: chromium-...@chromium.org
>> View archives, change email options, or unsubscribe:
>> http://groups.google.com/a/chromium.org/group/chromium-os-discuss?hl=en
>
> -- jrb
>
>
>



--
Kees Cook
Chrome OS Security
Reply all
Reply to author
Forward
This conversation is locked
You cannot reply and perform actions on locked conversations.
0 new messages