Updatable mobile handset based on Linux with compression and decompression techniques
First Claim
1. A mobile handset with a non-volatile memory and a volatile memory, with a compressed kernel and a block oriented compressed file system, the mobile handset comprising:
- a memory comprising first and second sections, the first section comprising first compressed information comprising the compressed kernel, having a first compression architecture, and updatable by a first technique, and the second section comprising second compressed information comprising the block oriented compressed file system, having a second compression architecture, and updatable by a second technique;
a first update agent resident in non-volatile memory for updating the first compressed information using the first technique;
a second update agent resident in non-volatile memory for updating the second compressed information using the second technique;
an update package comprising a first portion for updating the first section comprising first compressed information and a second portion for updating the second section comprising second compressed information;
the first update agent decompressing the compressed kernel in volatile memory to selectively update the kernel in volatile memory in order to create an updated kernel;
the first update agent employing at least a portion of the first portion of the update package to selectively update the kernel to create an updated kernel;
the first update agent compressing the updated kernel in volatile memory to create an updated compressed kernel and replacing the compressed kernel with the updated compressed kernel;
the second update agent copying selected blocks of the block oriented compressed file system into the volatile memory, one block at a time, uncompressing a selected block, updating the selected block using at least another portion of the update package than the portion employed by the first update agent, compressing the selected block and writing the selected block back into the block oriented compressed file system to create an updated set of the selected blocks.
7 Assignments
0 Petitions
Accused Products
Abstract
There are two different types of compression used on the Embedded Linux Platform that the present invention is targeting. For the kernel, a singular compression is used. A whole kernel is compressed into a single compressed zImage by zlib at once. When the kernel is loaded into RAM, the whole kernel has to be decompressed to RAM and executes there. The root file system is built through the CramFS that employs a different compression mechanism. It is a block-based compression. When the device is running, it is not necessary to load the whole file system to RAM. The kernel mounts the file system and performs the decompression on a file when it is needed.
-
Citations
12 Claims
-
1. A mobile handset with a non-volatile memory and a volatile memory, with a compressed kernel and a block oriented compressed file system, the mobile handset comprising:
-
a memory comprising first and second sections, the first section comprising first compressed information comprising the compressed kernel, having a first compression architecture, and updatable by a first technique, and the second section comprising second compressed information comprising the block oriented compressed file system, having a second compression architecture, and updatable by a second technique; a first update agent resident in non-volatile memory for updating the first compressed information using the first technique; a second update agent resident in non-volatile memory for updating the second compressed information using the second technique; an update package comprising a first portion for updating the first section comprising first compressed information and a second portion for updating the second section comprising second compressed information; the first update agent decompressing the compressed kernel in volatile memory to selectively update the kernel in volatile memory in order to create an updated kernel; the first update agent employing at least a portion of the first portion of the update package to selectively update the kernel to create an updated kernel; the first update agent compressing the updated kernel in volatile memory to create an updated compressed kernel and replacing the compressed kernel with the updated compressed kernel; the second update agent copying selected blocks of the block oriented compressed file system into the volatile memory, one block at a time, uncompressing a selected block, updating the selected block using at least another portion of the update package than the portion employed by the first update agent, compressing the selected block and writing the selected block back into the block oriented compressed file system to create an updated set of the selected blocks. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A mobile handset with a non-volatile memory and a volatile memory, the mobile handset comprising:
-
a compressed kernel having a first compression architecture and updatable by a first technique; a block oriented compressed file system having a second compression architecture and updatable by a second technique; an update agent resident in non-volatile memory; the update agent capable of updating the compressed kernel by the first technique and the block oriented compressed file system by the second technique; a first portion of an update package for updating the compressed kernel; a second portion of the update package for updating the block oriented compressed file system; and the update agent updating the compressed kernel by the first technique using at least the first portion of the update package and updating the block oriented compressed file system by the second technique using at least the second portion of the update package; the compressed kernel comprises a plurality of compressed write units; the update agent updates each of the plurality of compressed write units individually in a fault tolerant manner; the update agent decompressing each of the plurality of compressed write units, updating it in RAM employing the at least the first portion of the update package to create an updated write unit in RAM, compressing the updated write unit in RAM after the update and replacing the compressed write unit with the compressed contents of the updated write unit in RAM. - View Dependent Claims (9, 10, 11)
-
-
12. A method of updating a Linux based mobile device, the mobile device comprising a compressed kernel and a CramFS file system, the method of updating comprising:
-
accessing one update package; and updating the compressed kernel using a first updating technique, using the update package; and
updating the CramFS file system of the Linux based mobile device using a second technique, using the update package;wherein the compressed kernel comprises a plurality of kernel code blocks and wherein updating the compressed kernel comprises; upgrading at least one of the plurality of kernel code blocks in a fault tolerant manner. wherein upgrading comprises; a first agent decompressing at least one of the plurality of kernel code blocks individually into a RAM to create a decompressed code block; modifying the decompressed code blocks using the update package to create a modified code block; compressing the modified code block creating a compressed modified code block; replacing the at least one of the plurality of kernel code blocks with the compressed modified code block; and repeating these steps until the upgrading is completed; wherein the CramFS file system comprises a plurality of compressed file system blocks and wherein the updating the CramFS file system further comprises; a second agent updating at least one of the plurality of compressed file system blocks in a RAM using the update package, individually, and storing them in the CramFS file system with each of the at least one of the plurality of compressed file system blocks having an associated updated compressed block that is stored; and releasing the each of the at least one of the plurality of compressed file system blocks after the associated updated compressed block has been stored.
-
Specification