Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(29)

Issue 1100001: Switch to GPT-format disk images. (Closed)

Created:
10 years, 9 months ago by Bill Richardson
Modified:
9 years, 6 months ago
CC:
chromium-os-reviews_chromium.org
Visibility:
Public.

Description

Switch to GPT-format disk images. This changes the disk image for both USB keys and hard-drive installs to use the EFI GUID Partition Tables. This is a prequisite for booting with an EFI BIOS. This change does not use the EFI Boot protocol; it still boots using Legacy BIOS. The PMBR contains syslinux' gptmbr.bin, which searches the GPT for a specified partition's GUID to boot. I've tested it on my EeePC. The USB image works, chromeos-install works, and the reimaged hard drive works. I have not yet tested the memento_updater.sh script, but I wanted to start the review without waiting until it's all perfect. I will also be refactoring build_gpt.sh and chromeos-install to share common logic. It's almost certain that all existing dogfood machines will need to be reimaged from a USB key. We could probably figure out a way to upgrade automatically, but not quickly or without risk. In addition to the GPT formatting, the build_image script has changed to emit a single usb.bin file. This can be copied directly onto a USB key and booted. Installation of dev tools needs to happen with build_image, not image_to_usb. I have not yet looked at the other image_to_* scripts.

Patch Set 1 #

Total comments: 81

Patch Set 2 : Refactored, address most of the feedback, I think. #

Total comments: 47

Patch Set 3 : Next round. #

Patch Set 4 : Final GPT-enabling changeset. I hope. #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+783 lines, -383 lines) Patch
M src/platform/init/chromeos_startup View 1 chunk +3 lines, -16 lines 0 comments Download
A src/platform/installer/chromeos-common.sh View 2 1 chunk +310 lines, -0 lines 2 comments Download
M src/platform/installer/chromeos-install View 1 2 4 chunks +178 lines, -169 lines 0 comments Download
M src/platform/installer/chromeos-postinst View 1 2 1 chunk +18 lines, -7 lines 0 comments Download
M src/platform/memento_softwareupdate/memento_updater.sh View 1 2 6 chunks +38 lines, -33 lines 0 comments Download
A src/scripts/build_gpt.sh View 1 1 chunk +146 lines, -0 lines 0 comments Download
M src/scripts/build_image View 1 3 chunks +11 lines, -39 lines 0 comments Download
A src/scripts/chromeos-common.sh View 1 chunk +1 line, -0 lines 0 comments Download
M src/scripts/image_to_usb.sh View 1 2 3 7 chunks +52 lines, -106 lines 0 comments Download
M src/scripts/mod_image_for_test.sh View 2 6 chunks +26 lines, -13 lines 0 comments Download

Messages

Total messages: 12 (0 generated)
Bill Richardson
10 years, 9 months ago (2010-03-18 07:02:18 UTC) #1
sosa
Mostly questions and nits http://codereview.chromium.org/1100001/diff/1/2 File src/platform/init/chromeos_startup (right): http://codereview.chromium.org/1100001/diff/1/2#newcode40 src/platform/init/chromeos_startup:40: ROOT_DEV=$(rootdev) Where is rootdev set? ...
10 years, 9 months ago (2010-03-18 21:30:22 UTC) #2
adlr
http://codereview.chromium.org/1100001/diff/1/2 File src/platform/init/chromeos_startup (right): http://codereview.chromium.org/1100001/diff/1/2#newcode41 src/platform/init/chromeos_startup:41: STATE_DEV=${ROOT_DEV%%[0-9]*}1 should we put the kernel partitions first? is ...
10 years, 9 months ago (2010-03-18 21:32:19 UTC) #3
sosa
One thing I forgot. This change breaks mod_image_for_test breaking out autotest mechanisms. Either you need ...
10 years, 9 months ago (2010-03-18 23:15:43 UTC) #4
Bill Richardson
I'll look into it. Thanks for all the quick feedback. I'm still hoping to have ...
10 years, 9 months ago (2010-03-18 23:45:28 UTC) #5
Bill Richardson
10 years, 9 months ago (2010-03-26 23:31:10 UTC) #6
adlr
Great progress. A lot of these comments are nits that should be quick to fix. ...
10 years, 9 months ago (2010-03-27 03:25:24 UTC) #7
Bill Richardson
Okay http://codereview.chromium.org/1100001/diff/14001/15002 File src/platform/installer/chromeos-common.sh (right): http://codereview.chromium.org/1100001/diff/14001/15002#newcode212 src/platform/installer/chromeos-common.sh:212: dd if=/dev/null of=${outdev} bs=512 count=1 seek=$(($image_size - 1)) ...
10 years, 9 months ago (2010-03-29 18:55:09 UTC) #8
Bill Richardson
10 years, 8 months ago (2010-03-30 17:48:09 UTC) #9
adlr
LGTM w/ small comment Awesome work! http://codereview.chromium.org/1100001/diff/14001/15002 File src/platform/installer/chromeos-common.sh (right): http://codereview.chromium.org/1100001/diff/14001/15002#newcode285 src/platform/installer/chromeos-common.sh:285: [[ -n "$X" ...
10 years, 8 months ago (2010-03-30 19:50:20 UTC) #10
sosa
LGTM from the testing perspective. Thanks for doing those!
10 years, 8 months ago (2010-03-30 20:11:32 UTC) #11
robotboy
10 years, 8 months ago (2010-03-30 20:14:34 UTC) #12
LGTM, we can make ARM use this once it's in and working for x86.  It looks like
you could remove the kernel_fetcher that I wrote as well with this.

Powered by Google App Engine
This is Rietveld 408576698