summaryrefslogtreecommitdiffstats
path: root/tools/firmware-utils
diff options
context:
space:
mode:
authorcshore <cshore@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-04-15 12:18:25 +0000
committercshore <cshore@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-04-15 12:18:25 +0000
commitf5c866b902908a8e2c63c63e027d5aa562f1c9e7 (patch)
treebe3eed32a0f0f4abc6895b3890ee1276d15d3a42 /tools/firmware-utils
parent1518b9d70ce04d329cb964455c5d1b9d86fd775b (diff)
bcm63xx: Move the OpenWrt rootfs length field
Dual image capable CFEs store an image sequence at the same place as currently OpenWrt stores the actual rootfs length, so it will get overwritten when flashing through such a CFE. To prevent this from happening, move the rootfs length field to the next four bytes, thus completely using the reserved1 field. Since the reserved1 field is now completely in use, it does not make sense to allow it to be set from the imagetag utility, so remove the option. Signed-off-by: Jonas Gorski <jonas.gorski+openwrt@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26680 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'tools/firmware-utils')
-rw-r--r--tools/firmware-utils/src/imagetag.c4
-rw-r--r--tools/firmware-utils/src/imagetag.ggo1
-rw-r--r--tools/firmware-utils/src/imagetag_cmdline.c28
-rw-r--r--tools/firmware-utils/src/imagetag_cmdline.h4
4 files changed, 2 insertions, 35 deletions
diff --git a/tools/firmware-utils/src/imagetag.c b/tools/firmware-utils/src/imagetag.c
index a7b9babd3..bebaba2f2 100644
--- a/tools/firmware-utils/src/imagetag.c
+++ b/tools/firmware-utils/src/imagetag.c
@@ -361,10 +361,6 @@ int tagfile(const char *kernel, const char *rootfs, const char *bin, \
strncpy(tag.information2, args->info2_arg, TAGINFO2_LEN);
}
- if (args->reserved1_given) {
- strncpy(tag.reserved1, args->reserved1_arg, 8);
- }
-
if (args->reserved2_given) {
strncpy(tag.reserved2, args->reserved2_arg, 16);
}
diff --git a/tools/firmware-utils/src/imagetag.ggo b/tools/firmware-utils/src/imagetag.ggo
index 4b9d5d361..7e8e7d90e 100644
--- a/tools/firmware-utils/src/imagetag.ggo
+++ b/tools/firmware-utils/src/imagetag.ggo
@@ -40,6 +40,5 @@ option "root-first" - "Put the rootfs before the kernel (only for stock images,
option "rsa-signature" r "String for RSA Signature section." string optional
option "second-image-flag" - "Dual Image Flag (2=not-specified)." values="0", "1", "2" default="2" typestr="flag-value" optional
option "inactive" - "Inactive Flag (2=not-specified)." values="0", "1", "2" default="2" typestr="flag-value" optional
-option "reserved1" - "String for first reserved section." string optional
option "reserved2" - "String for second reserved section." string optional
option "kernel-file-has-header" - "Indicates that the kernel file includes the kernel header with correct load address and entry point, so no changes are needed" flag off
diff --git a/tools/firmware-utils/src/imagetag_cmdline.c b/tools/firmware-utils/src/imagetag_cmdline.c
index 85f214bc6..91ac90b09 100644
--- a/tools/firmware-utils/src/imagetag_cmdline.c
+++ b/tools/firmware-utils/src/imagetag_cmdline.c
@@ -56,7 +56,6 @@ const char *gengetopt_args_info_help[] = {
" -r, --rsa-signature=STRING String for RSA Signature section.",
" --second-image-flag=flag-value\n Dual Image Flag (2=not-specified). (possible \n values=\"0\", \"1\", \"2\" default=`2')",
" --inactive=flag-value Inactive Flag (2=not-specified). (possible \n values=\"0\", \"1\", \"2\" default=`2')",
- " --reserved1=STRING String for first reserved section.",
" --reserved2=STRING String for second reserved section.",
" --kernel-file-has-header Indicates that the kernel file includes the \n kernel header with correct load address and \n entry point, so no changes are needed \n (default=off)",
0
@@ -112,7 +111,6 @@ void clear_given (struct gengetopt_args_info *args_info)
args_info->rsa_signature_given = 0 ;
args_info->second_image_flag_given = 0 ;
args_info->inactive_given = 0 ;
- args_info->reserved1_given = 0 ;
args_info->reserved2_given = 0 ;
args_info->kernel_file_has_header_given = 0 ;
}
@@ -164,8 +162,6 @@ void clear_args (struct gengetopt_args_info *args_info)
args_info->second_image_flag_orig = NULL;
args_info->inactive_arg = gengetopt_strdup ("2");
args_info->inactive_orig = NULL;
- args_info->reserved1_arg = NULL;
- args_info->reserved1_orig = NULL;
args_info->reserved2_arg = NULL;
args_info->reserved2_orig = NULL;
args_info->kernel_file_has_header_flag = 0;
@@ -201,9 +197,8 @@ void init_args_info(struct gengetopt_args_info *args_info)
args_info->rsa_signature_help = gengetopt_args_info_help[21] ;
args_info->second_image_flag_help = gengetopt_args_info_help[22] ;
args_info->inactive_help = gengetopt_args_info_help[23] ;
- args_info->reserved1_help = gengetopt_args_info_help[24] ;
- args_info->reserved2_help = gengetopt_args_info_help[25] ;
- args_info->kernel_file_has_header_help = gengetopt_args_info_help[26] ;
+ args_info->reserved2_help = gengetopt_args_info_help[24] ;
+ args_info->kernel_file_has_header_help = gengetopt_args_info_help[25] ;
}
@@ -326,8 +321,6 @@ cmdline_parser_release (struct gengetopt_args_info *args_info)
free_string_field (&(args_info->second_image_flag_orig));
free_string_field (&(args_info->inactive_arg));
free_string_field (&(args_info->inactive_orig));
- free_string_field (&(args_info->reserved1_arg));
- free_string_field (&(args_info->reserved1_orig));
free_string_field (&(args_info->reserved2_arg));
free_string_field (&(args_info->reserved2_orig));
@@ -449,8 +442,6 @@ cmdline_parser_dump(FILE *outfile, struct gengetopt_args_info *args_info)
write_into_file(outfile, "second-image-flag", args_info->second_image_flag_orig, cmdline_parser_second_image_flag_values);
if (args_info->inactive_given)
write_into_file(outfile, "inactive", args_info->inactive_orig, cmdline_parser_inactive_values);
- if (args_info->reserved1_given)
- write_into_file(outfile, "reserved1", args_info->reserved1_orig, 0);
if (args_info->reserved2_given)
write_into_file(outfile, "reserved2", args_info->reserved2_orig, 0);
if (args_info->kernel_file_has_header_given)
@@ -794,7 +785,6 @@ cmdline_parser_internal (
{ "rsa-signature", 1, NULL, 'r' },
{ "second-image-flag", 1, NULL, 0 },
{ "inactive", 1, NULL, 0 },
- { "reserved1", 1, NULL, 0 },
{ "reserved2", 1, NULL, 0 },
{ "kernel-file-has-header", 0, NULL, 0 },
{ 0, 0, 0, 0 }
@@ -1090,20 +1080,6 @@ cmdline_parser_internal (
goto failure;
}
- /* String for first reserved section.. */
- else if (strcmp (long_options[option_index].name, "reserved1") == 0)
- {
-
-
- if (update_arg( (void *)&(args_info->reserved1_arg),
- &(args_info->reserved1_orig), &(args_info->reserved1_given),
- &(local_args_info.reserved1_given), optarg, 0, 0, ARG_STRING,
- check_ambiguity, override, 0, 0,
- "reserved1", '-',
- additional_error))
- goto failure;
-
- }
/* String for second reserved section.. */
else if (strcmp (long_options[option_index].name, "reserved2") == 0)
{
diff --git a/tools/firmware-utils/src/imagetag_cmdline.h b/tools/firmware-utils/src/imagetag_cmdline.h
index a38914841..c566a9f29 100644
--- a/tools/firmware-utils/src/imagetag_cmdline.h
+++ b/tools/firmware-utils/src/imagetag_cmdline.h
@@ -104,9 +104,6 @@ struct gengetopt_args_info
char * inactive_arg; /**< @brief Inactive Flag (2=not-specified). (default='2'). */
char * inactive_orig; /**< @brief Inactive Flag (2=not-specified). original value given at command line. */
const char *inactive_help; /**< @brief Inactive Flag (2=not-specified). help description. */
- char * reserved1_arg; /**< @brief String for first reserved section.. */
- char * reserved1_orig; /**< @brief String for first reserved section. original value given at command line. */
- const char *reserved1_help; /**< @brief String for first reserved section. help description. */
char * reserved2_arg; /**< @brief String for second reserved section.. */
char * reserved2_orig; /**< @brief String for second reserved section. original value given at command line. */
const char *reserved2_help; /**< @brief String for second reserved section. help description. */
@@ -137,7 +134,6 @@ struct gengetopt_args_info
unsigned int rsa_signature_given ; /**< @brief Whether rsa-signature was given. */
unsigned int second_image_flag_given ; /**< @brief Whether second-image-flag was given. */
unsigned int inactive_given ; /**< @brief Whether inactive was given. */
- unsigned int reserved1_given ; /**< @brief Whether reserved1 was given. */
unsigned int reserved2_given ; /**< @brief Whether reserved2 was given. */
unsigned int kernel_file_has_header_given ; /**< @brief Whether kernel-file-has-header was given. */