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

Side by Side Diff: src/scripts/build_image

Issue 1553028: Fix install mask and move dev_mode to true when dev packages are installed (Closed)
Patch Set: Created 10 years, 8 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 | src/scripts/common.sh » ('j') | 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 259 matching lines...) Expand 10 before | Expand all | Expand 10 after
270 "${PKGDIR}/${CHOST}/cross-${CHOST}"/glibc-${LIBC_VERSION}.tbz2 \ 270 "${PKGDIR}/${CHOST}/cross-${CHOST}"/glibc-${LIBC_VERSION}.tbz2 \
271 -C "$ROOT_FS_DIR" --strip-components=3 \ 271 -C "$ROOT_FS_DIR" --strip-components=3 \
272 --exclude=usr/include --exclude=sys-include --exclude=*.a --exclude=*.o 272 --exclude=usr/include --exclude=sys-include --exclude=*.a --exclude=*.o
273 273
274 # We need to install libstdc++ manually from the cross toolchain. 274 # We need to install libstdc++ manually from the cross toolchain.
275 # TODO: Figure out a better way of doing this? 275 # TODO: Figure out a better way of doing this?
276 sudo cp -a "${BOARD_ROOT}"/lib/libgcc_s.so* "${ROOT_FS_DIR}/lib" 276 sudo cp -a "${BOARD_ROOT}"/lib/libgcc_s.so* "${ROOT_FS_DIR}/lib"
277 sudo cp -a "${BOARD_ROOT}"/usr/lib/libstdc++.so* "${ROOT_FS_DIR}/usr/lib" 277 sudo cp -a "${BOARD_ROOT}"/usr/lib/libstdc++.so* "${ROOT_FS_DIR}/usr/lib"
278 278
279 INSTALL_MASK="" 279 INSTALL_MASK=""
280 if [[ $FLAGS_installmask -eq $FLAGS_FALSE ]] ; then 280 if [[ $FLAGS_installmask -eq ${FLAGS_TRUE} ]] ; then
281 INSTALL_MASK="$DEFAULT_INSTALL_MASK" 281 INSTALL_MASK="$DEFAULT_INSTALL_MASK"
282 fi 282 fi
283 283
284 if [[ $FLAGS_jobs -ne -1 ]]; then 284 if [[ $FLAGS_jobs -ne -1 ]]; then
285 EMERGE_JOBS="--jobs=$FLAGS_jobs" 285 EMERGE_JOBS="--jobs=$FLAGS_jobs"
286 fi 286 fi
287 287
288 # Prepare stateful partition with some pre-created directories 288 # Prepare stateful partition with some pre-created directories
289 sudo mkdir -p "${DEV_IMAGE_ROOT}" 289 sudo mkdir -p "${DEV_IMAGE_ROOT}"
290 sudo mkdir -p "${STATEFUL_DIR}/var" 290 sudo mkdir -p "${STATEFUL_DIR}/var"
(...skipping 21 matching lines...) Expand all
312 # Determine the root dir for development packages. 312 # Determine the root dir for development packages.
313 ROOT_DEV_DIR="$ROOT_FS_DIR" 313 ROOT_DEV_DIR="$ROOT_FS_DIR"
314 [ $FLAGS_statefuldev -eq $FLAGS_TRUE ] && ROOT_DEV_DIR="$ROOT_FS_DIR/usr/local" 314 [ $FLAGS_statefuldev -eq $FLAGS_TRUE ] && ROOT_DEV_DIR="$ROOT_FS_DIR/usr/local"
315 315
316 # Install development packages. 316 # Install development packages.
317 if [[ $FLAGS_withdev -eq $FLAGS_TRUE ]] ; then 317 if [[ $FLAGS_withdev -eq $FLAGS_TRUE ]] ; then
318 sudo INSTALL_MASK="$INSTALL_MASK" emerge-${BOARD} \ 318 sudo INSTALL_MASK="$INSTALL_MASK" emerge-${BOARD} \
319 --root="$ROOT_DEV_DIR" --root-deps=rdeps \ 319 --root="$ROOT_DEV_DIR" --root-deps=rdeps \
320 --usepkgonly chromeos-dev $EMERGE_JOBS 320 --usepkgonly chromeos-dev $EMERGE_JOBS
321 321
322 # TODO(sosa@chromium.org) - Re-hide under statefuldev after switch
323 # Flag will mount /usr/local on target device
324 sudo mkdir -p "$ROOT_FS_DIR/root"
325 sudo touch "$ROOT_FS_DIR/root/.dev_mode"
326
322 # The ldd tool is a useful shell script but lives in glibc; just copy it. 327 # The ldd tool is a useful shell script but lives in glibc; just copy it.
323 sudo cp -a "$(which ldd)" "${ROOT_DEV_DIR}/usr/bin" 328 sudo cp -a "$(which ldd)" "${ROOT_DEV_DIR}/usr/bin"
324 fi 329 fi
325 330
326 if [ -n "$FLAGS_factory_server" ]; then 331 if [ -n "$FLAGS_factory_server" ]; then
327 sudo INSTALL_MASK="$INSTALL_MASK" emerge-${BOARD} \ 332 sudo INSTALL_MASK="$INSTALL_MASK" emerge-${BOARD} \
328 --root="$ROOT_DEV_DIR" --root-deps=rdeps \ 333 --root="$ROOT_DEV_DIR" --root-deps=rdeps \
329 --usepkgonly chromeos-factoryinstall $EMERGE_JOBS 334 --usepkgonly chromeos-factoryinstall $EMERGE_JOBS
330 fi 335 fi
331 336
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
380 menuentry "serial debug" { 385 menuentry "serial debug" {
381 linux /efi/boot/vmlinuz earlyprintk=serial,ttyS0,115200 i915.modeset=0 console =ttyS0,115200 acpi=off init=/sbin/init boot=local rootwait root=/dev/sda3 ro nor esume noswap loglevel=7 386 linux /efi/boot/vmlinuz earlyprintk=serial,ttyS0,115200 i915.modeset=0 console =ttyS0,115200 acpi=off init=/sbin/init boot=local rootwait root=/dev/sda3 ro nor esume noswap loglevel=7
382 } 387 }
383 388
384 menuentry "normal" { 389 menuentry "normal" {
385 linux /efi/boot/vmlinuz quiet console=tty2 init=/sbin/init boot=local rootwait root=/dev/sda3 ro noresume noswap i915.modeset=1 loglevel=1 390 linux /efi/boot/vmlinuz quiet console=tty2 init=/sbin/init boot=local rootwait root=/dev/sda3 ro noresume noswap i915.modeset=1 loglevel=1
386 } 391 }
387 392
388 EOF 393 EOF
389 394
390 # Enable dev mode on the target system and re-run ldconfig 395 # Run ldconfig for rootfs's ld.so.cache
391 # for rootfs's ld.so.cache
392 if [ $FLAGS_statefuldev -eq $FLAGS_TRUE ] ; then 396 if [ $FLAGS_statefuldev -eq $FLAGS_TRUE ] ; then
393 # Flag will mount /usr/local on target device
394 sudo mkdir -p "$ROOT_FS_DIR/root"
395 sudo touch "$ROOT_FS_DIR/root/.dev_mode"
396
397 # Re-run ldconfig to fix /etc/ldconfig.so.cache 397 # Re-run ldconfig to fix /etc/ldconfig.so.cache
398 sudo /sbin/ldconfig -r "$ROOT_FS_DIR" 398 sudo /sbin/ldconfig -r "$ROOT_FS_DIR"
399 399
400 #TODO(sosa@chromium.org) - /usr/bin/xterm symlink not created in stateful. 400 #TODO(sosa@chromium.org) - /usr/bin/xterm symlink not created in stateful.
401 sudo ln -sf "/usr/local/bin/aterm" "/usr/bin/xterm" 401 sudo ln -sf "/usr/local/bin/aterm" "/usr/bin/xterm"
402 fi 402 fi
403 403
404 "${SCRIPTS_DIR}/customize_rootfs" \ 404 "${SCRIPTS_DIR}/customize_rootfs" \
405 --root="$ROOT_FS_DIR" \ 405 --root="$ROOT_FS_DIR" \
406 --target="$ARCH" \ 406 --target="$ARCH" \
(...skipping 24 matching lines...) Expand all
431 431
432 OUTSIDE_OUTPUT_DIR="../build/images/${FLAGS_board}/${IMAGE_SUBDIR}" 432 OUTSIDE_OUTPUT_DIR="../build/images/${FLAGS_board}/${IMAGE_SUBDIR}"
433 echo "Done. Image created in ${OUTPUT_DIR}" 433 echo "Done. Image created in ${OUTPUT_DIR}"
434 echo "To copy to USB keyfob, OUTSIDE the chroot, do something like:" 434 echo "To copy to USB keyfob, OUTSIDE the chroot, do something like:"
435 echo " ./image_to_usb.sh --from=${OUTSIDE_OUTPUT_DIR} --to=/dev/sdb" 435 echo " ./image_to_usb.sh --from=${OUTSIDE_OUTPUT_DIR} --to=/dev/sdb"
436 echo "To convert to VMWare image, OUTSIDE the chroot, do something like:" 436 echo "To convert to VMWare image, OUTSIDE the chroot, do something like:"
437 echo " ./image_to_vmware.sh --from=${OUTSIDE_OUTPUT_DIR}" 437 echo " ./image_to_vmware.sh --from=${OUTSIDE_OUTPUT_DIR}"
438 echo "from the scripts directory where you entered the chroot." 438 echo "from the scripts directory where you entered the chroot."
439 439
440 trap - EXIT 440 trap - EXIT
OLDNEW
« no previous file with comments | « no previous file | src/scripts/common.sh » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698