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

Side by Side Diff: src/scripts/build_image

Issue 2090006: Use new grub2 variables to boot from the device with the bootloader (Closed) Base URL: ssh://git@chromiumos-git//chromeos
Patch Set: respond to feedback Created 10 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/platform/installer/chromeos-setimage ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/bin/bash 1 #!/bin/bash
2 2
3 # Copyright (c) 2009 The Chromium OS Authors. All rights reserved. 3 # Copyright (c) 2009 The Chromium OS Authors. All rights reserved.
4 # Use of this source code is governed by a BSD-style license that can be 4 # Use of this source code is governed by a BSD-style license that can be
5 # found in the LICENSE file. 5 # found in the LICENSE file.
6 6
7 # Script to build a bootable keyfob-based chromeos system image from within 7 # Script to build a bootable keyfob-based chromeos system image from within
8 # a chromiumos setup. This assumes that all needed packages have been built into 8 # a chromiumos setup. This assumes that all needed packages have been built into
9 # the given target's root with binary packages turned on. This script will 9 # the given target's root with binary packages turned on. This script will
10 # build the Chrome OS image using only pre-built binary packages. 10 # build the Chrome OS image using only pre-built binary packages.
(...skipping 349 matching lines...) Expand 10 before | Expand all | Expand 10 after
360 if [ -z "$ESP_LOOP_DEV" ] ; then 360 if [ -z "$ESP_LOOP_DEV" ] ; then
361 echo "No free loop device. Free up a loop device or reboot. exiting. " 361 echo "No free loop device. Free up a loop device or reboot. exiting. "
362 exit 1 362 exit 1
363 fi 363 fi
364 mkdir -p "${ESP_DIR}" 364 mkdir -p "${ESP_DIR}"
365 sudo losetup "${ESP_LOOP_DEV}" "${ESP_IMG}" 365 sudo losetup "${ESP_LOOP_DEV}" "${ESP_IMG}"
366 sudo mount "${ESP_LOOP_DEV}" "${ESP_DIR}" 366 sudo mount "${ESP_LOOP_DEV}" "${ESP_DIR}"
367 sudo mkdir -p "${ESP_DIR}/efi/boot" 367 sudo mkdir -p "${ESP_DIR}/efi/boot"
368 sudo grub-mkimage -p /efi/boot -o "${ESP_DIR}/efi/boot/bootx64.efi" \ 368 sudo grub-mkimage -p /efi/boot -o "${ESP_DIR}/efi/boot/bootx64.efi" \
369 part_gpt fat ext2 normal boot sh chain configfile linux 369 part_gpt fat ext2 normal boot sh chain configfile linux
370 sudo cp "${ROOT_FS_DIR}/boot/vmlinuz" "${ESP_DIR}/efi/boot/vmlinuz" 370 cat <<'EOF' | sudo dd of="${ESP_DIR}/efi/boot/grub.cfg"
371 cat <<EOF | sudo dd of="${ESP_DIR}/efi/boot/grub.cfg" 371 set default=0
372 set timeout=2 372 set timeout=2
373 set default=0
374 373
375 menuentry "boot from disk" { 374 # NOTE: These magic grub variables are a Chrome OS hack. They are not portable.
376 linux /efi/boot/vmlinuz quiet console=tty2 init=/sbin/init boot=local rootwait root=/dev/sda3 ro noresume noswap i915.modeset=1 loglevel=1 375
376 menuentry "local image A" {
377 linux $grubpartA/boot/vmlinuz quiet console=tty2 init=/sbin/init boot=local ro otwait root=/dev/$linuxpartA ro noresume noswap i915.modeset=1 loglevel=1
377 } 378 }
378 379
379 menuentry "boot from disk with serial debug" { 380 menuentry "local image B" {
380 linux /efi/boot/vmlinuz earlyprintk=serial,ttyS0,115200 console=ttyS0,115200 i nit=/sbin/init boot=local rootwait root=/dev/sda3 ro noresume noswap i915.modese t=1 loglevel=7 381 linux $grubpartB/boot/vmlinuz quiet console=tty2 init=/sbin/init boot=local ro otwait root=/dev/$linuxpartB ro noresume noswap i915.modeset=1 loglevel=1
381 }
382
383 menuentry "boot from usb" {
384 linux /efi/boot/vmlinuz quiet console=tty2 init=/sbin/init boot=local rootwait root=/dev/sdb3 ro noresume noswap i915.modeset=1 loglevel=1
385 }
386
387 menuentry "boot from usb with serial debug" {
388 linux /efi/boot/vmlinuz earlyprintk=serial,ttyS0,115200 console=ttyS0,115200 i nit=/sbin/init boot=local rootwait root=/dev/sdb3 ro noresume noswap i915.modese t=1 loglevel=7
389 } 382 }
390 383
391 EOF 384 EOF
392 385
393 # By default, dev mode should be activated for either development builds or 386 # By default, dev mode should be activated for either development builds or
394 # test builds. 387 # test builds.
395 if [[ $FLAGS_withdev -eq $FLAGS_TRUE ]] ||\ 388 if [[ $FLAGS_withdev -eq $FLAGS_TRUE ]] ||\
396 [[ $FLAGS_withtest -eq $FLAGS_TRUE ]]; then 389 [[ $FLAGS_withtest -eq $FLAGS_TRUE ]]; then
397 sudo touch "$ROOT_FS_DIR/root/.dev_mode" 390 sudo touch "$ROOT_FS_DIR/root/.dev_mode"
398 391
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
436 429
437 OUTSIDE_OUTPUT_DIR="../build/images/${FLAGS_board}/${IMAGE_SUBDIR}" 430 OUTSIDE_OUTPUT_DIR="../build/images/${FLAGS_board}/${IMAGE_SUBDIR}"
438 echo "Done. Image created in ${OUTPUT_DIR}" 431 echo "Done. Image created in ${OUTPUT_DIR}"
439 echo "To copy to USB keyfob, OUTSIDE the chroot, do something like:" 432 echo "To copy to USB keyfob, OUTSIDE the chroot, do something like:"
440 echo " ./image_to_usb.sh --from=${OUTSIDE_OUTPUT_DIR} --to=/dev/sdX" 433 echo " ./image_to_usb.sh --from=${OUTSIDE_OUTPUT_DIR} --to=/dev/sdX"
441 echo "To convert to VMWare image, OUTSIDE the chroot, do something like:" 434 echo "To convert to VMWare image, OUTSIDE the chroot, do something like:"
442 echo " ./image_to_vmware.sh --from=${OUTSIDE_OUTPUT_DIR}" 435 echo " ./image_to_vmware.sh --from=${OUTSIDE_OUTPUT_DIR}"
443 echo "from the scripts directory where you entered the chroot." 436 echo "from the scripts directory where you entered the chroot."
444 437
445 trap - EXIT 438 trap - EXIT
OLDNEW
« no previous file with comments | « src/platform/installer/chromeos-setimage ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698