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

Side by Side Diff: resize_stateful_partition.sh

Issue 4107003: mod_image_for_recovery: supprt new recovery model (Closed) Base URL: http://git.chromium.org/git/crosutils.git
Patch Set: fix up comments from anush Created 10 years, 1 month 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 | Annotate | Revision Log
« make_developer_script_runner.sh ('K') | « mod_image_for_recovery.sh ('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) 2010 The Chromium OS Authors. All rights reserved. 3 # Copyright (c) 2010 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 # Utility methods used to resize a stateful partition and update the GPT table 7 # Utility methods used to resize a stateful partition and update the GPT table
8 8
9 # Source constants and utility functions 9 # Source constants and utility functions
10 . "$(dirname "$0")/common.sh" 10 . "$(dirname "$0")/common.sh"
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 echo "${resized_sectors}" 57 echo "${resized_sectors}"
58 } 58 }
59 59
60 # Update partition table with resized stateful partition 60 # Update partition table with resized stateful partition
61 update_partition_table() { 61 update_partition_table() {
62 local src_img=$1 # source image 62 local src_img=$1 # source image
63 local temp_state=$2 # stateful partition image 63 local temp_state=$2 # stateful partition image
64 local resized_sectors=$3 # number of sectors in resized stateful partition 64 local resized_sectors=$3 # number of sectors in resized stateful partition
65 local temp_img=$4 65 local temp_img=$4
66 66
67 local kernel_offset=$(partoffset ${src_img} 2) 67 local kern_a_offset=$(partoffset ${src_img} 2)
68 local kernel_count=$(partsize ${src_img} 2) 68 local kern_a_count=$(partsize ${src_img} 2)
69 local kern_b_offset=$(partoffset ${src_img} 4)
70 local kern_b_count=$(partsize ${src_img} 4)
69 local rootfs_offset=$(partoffset ${src_img} 3) 71 local rootfs_offset=$(partoffset ${src_img} 3)
70 local rootfs_count=$(partsize ${src_img} 3) 72 local rootfs_count=$(partsize ${src_img} 3)
71 local oem_offset=$(partoffset ${src_img} 8) 73 local oem_offset=$(partoffset ${src_img} 8)
72 local oem_count=$(partsize ${src_img} 8) 74 local oem_count=$(partsize ${src_img} 8)
73 local esp_offset=$(partoffset ${src_img} 12) 75 local esp_offset=$(partoffset ${src_img} 12)
74 local esp_count=$(partsize ${src_img} 12) 76 local esp_count=$(partsize ${src_img} 12)
75 77
76 local temp_pmbr=$(mktemp "/tmp/pmbr.XXXXXX") 78 local temp_pmbr=$(mktemp "/tmp/pmbr.XXXXXX")
77 dd if="${src_img}" of="${temp_pmbr}" bs=512 count=1 &>/dev/null 79 dd if="${src_img}" of="${temp_pmbr}" bs=512 count=1 &>/dev/null
78 80
79 trap "rm -rf \"${temp_pmbr}\"" EXIT 81 trap "rm -rf \"${temp_pmbr}\"" EXIT
80 # Set up a new partition table 82 # Set up a new partition table
81 install_gpt "${temp_img}" "${rootfs_count}" "${resized_sectors}" \ 83 install_gpt "${temp_img}" "${rootfs_count}" "${resized_sectors}" \
82 "${temp_pmbr}" "${esp_count}" false $(roundup ${rootfs_count}) 84 "${temp_pmbr}" "${esp_count}" false \
85 $(((rootfs_count * 512)/(1024 * 1024)))
83 86
84 # Copy into the partition parts of the file 87 # Copy into the partition parts of the file
85 dd if="${src_img}" of="${temp_img}" conv=notrunc bs=512 \ 88 dd if="${src_img}" of="${temp_img}" conv=notrunc bs=512 \
86 seek="${START_ROOTFS_A}" skip=${rootfs_offset} count=${rootfs_count} 89 seek="${START_ROOTFS_A}" skip=${rootfs_offset} count=${rootfs_count}
87 dd if="${temp_state}" of="${temp_img}" conv=notrunc bs=512 \ 90 dd if="${temp_state}" of="${temp_img}" conv=notrunc bs=512 \
88 seek="${START_STATEFUL}" 91 seek="${START_STATEFUL}"
89 # Copy the full kernel (i.e. with vboot sections) 92 # Copy the full kernel (i.e. with vboot sections)
90 dd if="${src_img}" of="${temp_img}" conv=notrunc bs=512 \ 93 dd if="${src_img}" of="${temp_img}" conv=notrunc bs=512 \
91 seek="${START_KERN_A}" skip=${kernel_offset} count=${kernel_count} 94 seek="${START_KERN_A}" skip=${kern_a_offset} count=${kern_a_count}
95 dd if="${src_img}" of="${temp_img}" conv=notrunc bs=512 \
96 seek="${START_KERN_B}" skip=${kern_b_offset} count=${kern_b_count}
92 dd if="${src_img}" of="${temp_img}" conv=notrunc bs=512 \ 97 dd if="${src_img}" of="${temp_img}" conv=notrunc bs=512 \
93 seek="${START_OEM}" skip=${oem_offset} count=${oem_count} 98 seek="${START_OEM}" skip=${oem_offset} count=${oem_count}
94 dd if="${src_img}" of="${temp_img}" conv=notrunc bs=512 \ 99 dd if="${src_img}" of="${temp_img}" conv=notrunc bs=512 \
95 seek="${START_ESP}" skip=${esp_offset} count=${esp_count} 100 seek="${START_ESP}" skip=${esp_offset} count=${esp_count}
96 } 101 }
OLDNEW
« make_developer_script_runner.sh ('K') | « mod_image_for_recovery.sh ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698