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

Side by Side Diff: build_image

Issue 2868010: Add distinct strings to kernel config files to indicate BIOS type. (Closed) Base URL: ssh://git@chromiumos-git//crosutils.git
Patch Set: Created 10 years, 6 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 | « no previous file | 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 335 matching lines...) Expand 10 before | Expand all | Expand 10 after
346 sudo mkdir -p "$ROOT_FS_DIR"/boot 346 sudo mkdir -p "$ROOT_FS_DIR"/boot
347 # TODO(adlr): use initramfs for booting. 347 # TODO(adlr): use initramfs for booting.
348 cat <<EOF | sudo dd of="$ROOT_FS_DIR"/boot/extlinux.conf 348 cat <<EOF | sudo dd of="$ROOT_FS_DIR"/boot/extlinux.conf
349 DEFAULT chromeos-usb 349 DEFAULT chromeos-usb
350 PROMPT 0 350 PROMPT 0
351 TIMEOUT 0 351 TIMEOUT 0
352 352
353 label chromeos-usb 353 label chromeos-usb
354 menu label chromeos-usb 354 menu label chromeos-usb
355 kernel vmlinuz 355 kernel vmlinuz
356 append quiet console=tty2 init=/sbin/init boot=local rootwait root=/dev/sdb3 r o noresume noswap i915.modeset=1 loglevel=1 356 append quiet console=tty2 init=/sbin/init boot=local rootwait root=/dev/sdb3 r o noresume noswap i915.modeset=1 loglevel=1 cros_legacy
357 357
358 label chromeos-hd 358 label chromeos-hd
359 menu label chromeos-hd 359 menu label chromeos-hd
360 kernel vmlinuz 360 kernel vmlinuz
361 append quiet console=tty2 init=/sbin/init boot=local rootwait root=HDROOT ro n oresume noswap i915.modeset=1 loglevel=1 361 append quiet console=tty2 init=/sbin/init boot=local rootwait root=HDROOT ro n oresume noswap i915.modeset=1 loglevel=1 cros_legacy
362 EOF 362 EOF
363 363
364 # Make partition bootable and label it. 364 # Make partition bootable and label it.
365 sudo extlinux -z --install "${ROOT_FS_DIR}/boot" 365 sudo extlinux -z --install "${ROOT_FS_DIR}/boot"
366 fi 366 fi
367 367
368 # -- Install packages into the root file system -- 368 # -- Install packages into the root file system --
369 369
370 # We need to install libc manually from the cross toolchain. 370 # We need to install libc manually from the cross toolchain.
371 # TODO: Improve this? We only want libc and not the whole toolchain. 371 # TODO: Improve this? We only want libc and not the whole toolchain.
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
441 sudo mkdir -p "${ESP_DIR}/efi/boot" 441 sudo mkdir -p "${ESP_DIR}/efi/boot"
442 sudo grub-mkimage -p /efi/boot -o "${ESP_DIR}/efi/boot/bootx64.efi" \ 442 sudo grub-mkimage -p /efi/boot -o "${ESP_DIR}/efi/boot/bootx64.efi" \
443 part_gpt fat ext2 normal boot sh chain configfile linux 443 part_gpt fat ext2 normal boot sh chain configfile linux
444 cat <<'EOF' | sudo dd of="${ESP_DIR}/efi/boot/grub.cfg" 444 cat <<'EOF' | sudo dd of="${ESP_DIR}/efi/boot/grub.cfg"
445 set default=0 445 set default=0
446 set timeout=2 446 set timeout=2
447 447
448 # NOTE: These magic grub variables are a Chrome OS hack. They are not portable. 448 # NOTE: These magic grub variables are a Chrome OS hack. They are not portable.
449 449
450 menuentry "local image A" { 450 menuentry "local image A" {
451 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 451 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 cros_e fi
452 } 452 }
453 453
454 menuentry "local image B" { 454 menuentry "local image B" {
455 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 455 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 cros_e fi
456 } 456 }
457 457
458 menuentry "Alternate USB Boot" { 458 menuentry "Alternate USB Boot" {
459 linux (hd0,3)/boot/vmlinuz quiet console=tty2 init=/sbin/init boot=local rootw ait root=/dev/sdb3 ro noresume noswap i915.modeset=1 loglevel=1 459 linux (hd0,3)/boot/vmlinuz quiet console=tty2 init=/sbin/init boot=local rootw ait root=/dev/sdb3 ro noresume noswap i915.modeset=1 loglevel=1 cros_efi
460 } 460 }
461 461
462 EOF 462 EOF
463 463
464 # FIXME: At the moment, we're working on signed images for x86 only. ARM will 464 # FIXME: At the moment, we're working on signed images for x86 only. ARM will
465 # support this before shipping, but at the moment they don't. 465 # support this before shipping, but at the moment they don't.
466 if [[ "$ARCH" = "x86" ]]; then 466 if [[ "$ARCH" = "x86" ]]; then
467 467
468 # Legacy BIOS will use the kernel in the rootfs (via syslinux), as will 468 # Legacy BIOS will use the kernel in the rootfs (via syslinux), as will
469 # standard EFI BIOS (via grub, from the EFI System Partition). Chrome OS BIOS 469 # standard EFI BIOS (via grub, from the EFI System Partition). Chrome OS BIOS
470 # will use a separate signed kernel partition, which we'll create now. 470 # will use a separate signed kernel partition, which we'll create now.
471 # FIXME: remove serial output, debugging messages 471 # FIXME: remove serial output, debugging messages
472 cat <<'EOF' > "${OUTPUT_DIR}/config.txt" 472 cat <<'EOF' > "${OUTPUT_DIR}/config.txt"
473 earlyprintk=serial,ttyS0,115200 473 earlyprintk=serial,ttyS0,115200
474 console=ttyS0,115200 474 console=ttyS0,115200
475 init=/sbin/init 475 init=/sbin/init
476 add_efi_memmap 476 add_efi_memmap
477 boot=local 477 boot=local
478 rootwait 478 rootwait
479 root=/dev/sd%D%P 479 root=/dev/sd%D%P
480 ro 480 ro
481 noresume 481 noresume
482 noswap 482 noswap
483 i915.modeset=1 483 i915.modeset=1
484 loglevel=7 484 loglevel=7
485 Hi_Mom 485 cros_secure
486 EOF 486 EOF
487 487
488 # FIXME: We need to specify the real keys and certs here! 488 # FIXME: We need to specify the real keys and certs here!
489 SIG_DIR="${SRC_ROOT}/platform/vboot_reference/tests/testkeys" 489 SIG_DIR="${SRC_ROOT}/platform/vboot_reference/tests/testkeys"
490 490
491 # Wrap the public keys with VbPublicKey headers 491 # Wrap the public keys with VbPublicKey headers
492 vbutil_key --pack \ 492 vbutil_key --pack \
493 --in "${SIG_DIR}/key_rsa2048.keyb" \ 493 --in "${SIG_DIR}/key_rsa2048.keyb" \
494 --version 1 --algorithm 4 \ 494 --version 1 --algorithm 4 \
495 --out "${OUTPUT_DIR}/key_alg4.vbpubk" 495 --out "${OUTPUT_DIR}/key_alg4.vbpubk"
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
597 echo "Developer image created as $DEVELOPER_IMAGE_NAME" 597 echo "Developer image created as $DEVELOPER_IMAGE_NAME"
598 fi 598 fi
599 599
600 print_time_elapsed 600 print_time_elapsed
601 601
602 echo "To copy to USB keyfob, OUTSIDE the chroot, do something like:" 602 echo "To copy to USB keyfob, OUTSIDE the chroot, do something like:"
603 echo " ./image_to_usb.sh --from=${OUTSIDE_OUTPUT_DIR} --to=/dev/sdX" 603 echo " ./image_to_usb.sh --from=${OUTSIDE_OUTPUT_DIR} --to=/dev/sdX"
604 echo "To convert to VMWare image, OUTSIDE the chroot, do something like:" 604 echo "To convert to VMWare image, OUTSIDE the chroot, do something like:"
605 echo " ./image_to_vmware.sh --from=${OUTSIDE_OUTPUT_DIR}" 605 echo " ./image_to_vmware.sh --from=${OUTSIDE_OUTPUT_DIR}"
606 echo "from the scripts directory where you entered the chroot." 606 echo "from the scripts directory where you entered the chroot."
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698