openwrtv3/package/base-files/files
Christian Lamparter 4e3f6dae04 base-files: upgrade: make get_partitions() endian agnostic
This patch fixes two issues with the current get_partitions()
function.

First: "Invalid partition table on $disk" will pop up on
legitimate images on big endian system.

This is because the little-endian representation of "55 AA" is
assumed in the context of little-endian architectures. On these
comparing it to the 16-bit word 0xAA55 does work as intented.
Whereas on big-endian systems, this would have to be 0x55AA.

This patch fixes the issue by replacing the integer conversion
and value match check with just a string comparision.

Second: The extraction of the type, start LBA and LBA num from
the partition table has the same endianness issue. This has been
fixed by using the new hex_le32_to_cpu() function. This function
will translate the stored little-endian data to the correct
byte-order if necessary.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2017-12-08 19:54:16 +01:00
..
bin merge: base: update base-files and basic config 2017-12-08 19:41:18 +01:00
etc merge: release/banner: drop release name and update banner 2017-12-08 19:41:18 +01:00
lib base-files: upgrade: make get_partitions() endian agnostic 2017-12-08 19:54:16 +01:00
rom rename default/ to files/ 2006-11-22 23:30:57 +00:00
sbin base-files: automatically handle paths and symlinks for RAMFS_COPY_BIN 2017-07-11 17:26:32 +02:00
usr base-files: suppress uci not found output in login.sh 2017-08-04 23:11:19 +02:00