On Mon, Aug 22, 2011 at 11:16 AM, Andrey Tarasevich
<tarasevi...@googlemail.com> wrote:
> Nope, it does not have these modifications.well, this means you are not running the modified kernel. I see that
> Cheers,
> Andrey Tarasevich
>
the instructions on the page you referenced call for placing the
modified kernel into the partition 4 (sudo dd if=/tmp/new_kern.bin
/dev/sda4) of the SSD, not sure wwhy, as by default the system uses
partition 2. If `rootdev -s' on your machine returns /dev/sda3 - you
the kernel is loaded from partition 2, not 4.
If this is the case, I am not sure how comfortable you are with
hacking around this, but a fairly simple and safe way of doing it
would be
- bring up your system as is
- copy the running kernel partition to /var (dd if=/dev/sda2
of=/var/kernel.backup)
- scp the modified kernel to your machine as described
- install the new kernel on partition 2 (sudo dd if=/tmp/new_kern.bin /dev/sda2)
- reboot the system
if it fails to come up at this point (shows the recovery screen) - it
would be an indication of the fact that the new kernel was not signed
properly (the page you are looking at *might* be outdated). In that
case you would need to plug in the recovery USB stick, bring up the
system in recovery mode, enter shell, mount the SSD and use dd to copy
<mountpoint>/var/kernel.backup to /dev/sda2. This would return the
system to the original state.
Let me know if this is not clear and you have questions, good luck :)
cheers,
/vb
>> does /proc/cmdline on the running system contain your modifications?
>>
>> cheers,
>> /vb
>>
>>
>> > thanks,
>> > Andrey Tarasevich
>> >
>> > --
>> > Chromium OS Developers mailing list: chromiu...@chromium.org
>> > View archives, change email options, or unsubscribe:
>> > http://groups.google.com/a/chromium.org/group/chromium-os-dev?hl=en
>> >
>
>
Ah, sorry, you obviously know what you are doing, but I missed the
fact that you are using a virtual machine.
What's there in /proc/cmdline sure looks very different from what is
in the kernel blob as shown by vbutil_kernel. The thing is that it is
the chromeOS firmware (H2C bios) who gets the command line out of the
blob and supplies it to the kernel, but VM does not use the chrome OS
firmware, so the command line and the kernel itself come from the
/boot directory of the SSD if I remember correctly. This doc
(http://www.chromium.org/chromium-os/chromiumos-design-docs/disk-format)
describes it at length, please have a look.
cheers,
/vb
I just had a brief conversation with Vadim about this, so I suspect he's preparing a detailed reply. But I can tell you quickly that the problem you're having is that you're modifying the wrong kernel.Short version: For each image there are three different kernels, each with its own command line. The type of BIOS determines which one gets used, and kvm uses legacy BIOS.
I never tried running a VM and don't have a ChromeOS machine where I
can get a shell to investigate various partitions. If you are not done
by Tuesday morning PST - let me know, I'll check.
> 2011/8/22 Bill Richardson <wfri...@chromium.org>
>>
>> I just had a brief conversation with Vadim about this, so I suspect he's
>> preparing a detailed reply. But I can tell you quickly that the problem
>> you're having is that you're modifying the wrong kernel.
>> Short version: For each image there are three different kernels, each with
>> its own command line. The type of BIOS determines which one gets used, and
>> kvm uses legacy BIOS.
>> Long version is
>> here: https://sites.google.com/a/chromium.org/dev/chromium-os/chromiumos-design-docs/disk-format
>
> If I'm using wrong kernel how can I get access to the correct one? Since I
> used a bit of a brute force ;) and run vbutil_kernel --verify <partition> on
> all the partitions I got from running script "unpack_partitions.sh" and
> besides partition with the real kernel all I get is that there is no kernel
> blob.
> Although "vbutil_kernel --verify part_8" returned "ERROR: key_block_size
> advances past the end of the blob" but I don't know what does it mean, since
> I didn't find any source for the vbutil_kernel and googling it didn't
> provide any results.
> Cheers,
> Andrey Tarasevich
There is no point to run vbutil_kernel on anything but the contents of
partitions 2 and 4, these are the only places where verified boot
looks for the kernel.
All other kernel instances on the SSD device are for booting by legacy
BIOS, they are not signed and can't be verified. The "key_block_size
advances past the end of the blob"error message indicates that
vbutil_kernel is trying to interpret some junk contents as a valid
signed kernel, and fails.
cheers,
/vb