The electronic device may include a ram, a nonvolatile storage device as an mtd, and firmware that may be stored on the nonvolatile storage device. The firmware may include a kernel that is expanded onto the ram and a root disk image as a root file system. The kernel mounts the root disk image on the nonvolatile storage device as the root file system when a boot mode of the electronic device is a normal boot mode. The kernel, when the boot mode is an update mode for updating the firmware on the nonvolatile storage device, may i) generate a ram disk as an mtd in an area of the ram not under management of the kernel, ii) expand the root disk image on the nonvolatile storage device into the ram disk, and iii) mount the root disk image on the ram disk as the root file system.
|
1. An electronic device, comprising:
a central processing unit (cpu);
a random access memory (ram) that is used as a work area for the cpu; and
a flash memory as a nonvolatile storage device that acts as a memory technology device (mtd), wherein the flash memory has stored thereon firmware for an open-source code operating system, and the firmware comprises:
a boot loader that is expanded onto the ram from the flash memory by the cpu, when the electronic device is booted, and determines whether a boot mode of the electronic device is an update mode for updating the firmware in the flash memory, or a normal mode;
a kernel that is expanded onto the ram from the flash memory by the boot loader; and
only one root disk image, as a compressed file of a root file system, that includes a file that has a format read by the kernel from the mtd via a read-only file system,
wherein the only one root disk image on the flash memory is used both when the boot mode is the normal boot mode and when the boot mode is the update mode,
wherein the kernel, when notified by the boot loader that the boot mode of the electronic device is the normal boot mode, mounts the root disk image on the flash memory as the root file system, and the mounted root disk image is read into an area of the ram not under management of the kernel in unit of a page, and
wherein the kernel, when notified by the boot loader that the boot mode is the update mode, i) generates a ram disk as the mtd in the area of the ram not under management of the kernel, ii) expands the root disk image on the flash memory into the ram disk, iii) mounts the root disk image on the ram disk as the root file system, iv) the root disk image is read into the area of the ram not under the management of the kernel in unit of the page, and v) the cpu, in accordance with the root disk image on the ram disk, deletes the firmware before update from the flash memory, and then writes the firmware after update into the flash memory.
3. A method by an electronic device that includes i) a central processing unit (cpu); ii) a random access memory (ram) that is used as a work area for the cpu; and iii) a flash memory as a nonvolatile storage device that acts as a memory technology device (mtd), the method comprising:
providing a firmware for an open-source code operating system on the flash memory, wherein the firmware comprises a boot loader, a kernel, and only one root disk image as a compressed file of a root file system, including a file that has a format read by the kernel from the mtd via a read-only file system;
expanding, via the cpu, the boot loader from the flash memory onto the ram, when the electronic device is booted;
expanding, via the boot loader, the kernel from the flash memory onto the ram;
determining, via the boot loader, whether a boot mode of the electronic device is an update mode for updating the firmware on the flash memory, or a normal mode;
mounting, via the kernel, the root disk image on the flash memory as the root file system, when notified by the boot loader that the boot mode of the electronic device is the normal boot mode, wherein the mounted root disk image is read into an area of the ram not under management of the kernel in unit of a page;
generating, via the kernel, a ram disk as the mtd in the area of the ram not under management of the kernel, when notified by the boot loader that the boot mode is the update mode;
expanding, via the kernel, the root disk image on the flash memory into the ram disk;
mounting, via the kernel, the root disk image on the a ram disk as the root file system, wherein the root disk image is read into the area of the ram not under the management of the kernel in unit of the page; and
deleting, via the cpu in accordance with the root disk image on the ram disk, deleting the firmware before update from the flash memory, and then writing the firmware after update into the flash memory,
wherein the only one root disk image on the flash memory is used in common when the boot mode is the normal boot mode and when the boot mode is the update mode.
4. A non-transitory computer-readable medium having a program, the program causing a central processing unit (cpu), in an electronic device that includes a random access memory (ram) that is used as a work area for the cpu; and a flash memory as a nonvolatile storage device that acts as a memory technology device (mtd), to perform the following operations:
providing a firmware for an open-source code operating system on the flash memory, wherein the firmware comprises a boot loader, a kernel, and only one root disk image as a compressed file of a root file system, including a file that has a format read by the kernel from the mtd via a read-only file system;
expanding, via the cpu, the boot loader from the flash memory onto the ram, when the electronic device is booted;
expanding, via the boot loader, the kernel from the flash memory onto the ram;
determining, via the boot loader, whether a boot mode of the electronic device is an update mode for updating the firmware on the flash memory, or a normal mode;
mounting, via the kernel, the root disk image on the flash memory as the root file system, when notified by the boot loader that the boot mode of the electronic device is the normal boot mode, wherein the mounted root disk image is read into an area of the ram not under management of the kernel in unit of a page;
generating, via the kernel, a ram disk as the mtd in the area of the ram not under management of the kernel, when notified by the boot loader that the boot mode is the update mode;
expanding, via the kernel, the root disk image on the flash memory into the ram disk;
mounting, via the kernel, the root disk image on the a ram disk as the root file system, wherein the root disk image is read into the area of the ram not under the management of the kernel in unit of the page; and
deleting, via the cpu in accordance with the root disk image on the ram disk, the firmware before update from the flash memory, and then writing the firmware after update into the flash memory,
wherein the only one root disk image on the flash memory is used in common when the boot mode is the normal boot mode and when the boot mode is the update mode.
2. The electronic device according to
wherein the file included in the root disk image has the format that can be read by the kernel from the mtd via the read-only file system such as Cramfs or Squashfs.
|
This application is based on, and claims priority to corresponding Japanese Patent Application No. 2013-246825, filed in the Japan Patent Office on Nov. 28, 2013, the entire contents of which are incorporated herein by reference.
Unless otherwise indicated herein, the description in this field section or the background section is not prior art to the claims in this application and is not admitted to be prior art by inclusion in this section. The present disclosure relates to an electronic device including a nonvolatile storage device serving as a memory technology device (MTD).
A typical electronic device that includes a nonvolatile storage device serving as the MTD may be, for example, an image forming apparatus including a random access memory (RAM) and a flash memory serving as the nonvolatile storage device.
As illustrated in
The flash memory 82 stores firmware 82a for a Linux® system.
The firmware 82a includes a boot loader 82b that is executed when the electronic device 80 is booted, a kernel 82c to be expanded onto the RAM 81, a root disk image 82d for normal boot that is a root disk image serving as a compressed file of a root file system and that is used when a boot mode of the electronic device 80 is a normal boot mode, and a root disk image 82e for update that is a root disk image used when the boot mode of the electronic device 80 is an update mode for updating the firmware 82a on the flash memory 82.
The root disk image 82d for normal boot is a file having a format that can be read by a kernel 81c described later from the MTD via a read-only file system such as Cramfs or Squashfs. On the other hand, the root disk image 82e for update is a file having a format that can be read by the kernel 81c from an area of the RAM 81 under management of the kernel 81c. The format that can be read by the kernel 81c from the MTD is different from the format that can be read by the kernel 81c from the area of the RAM 81 under the management of the kernel 81c in terms of a mechanism of Linux®. In other words, the root disk image 82d for normal boot and the root disk image 82e for update are files having formats different from each other.
As illustrated in
Subsequently, the boot loader 81b expands the kernel 82c on the flash memory 82 onto the RAM 81 as the kernel 81c (refer to
Subsequently, the boot loader 81b determines whether or not the boot mode of the electronic device 80 is the update mode (S93).
When determining in Step S93 that the boot mode is not the update mode—that is, when the boot mode is the normal boot mode—the boot loader 81b notifies the kernel 81c that the boot mode is the normal boot mode (S94).
When notified by the boot loader 81b that the boot mode is the normal boot mode, the kernel 81c mounts the root disk image 82d for normal boot on the flash memory 82 as the root file system (S95). Accordingly, as illustrated in
When determining in Step S93 that the boot mode is the update mode, the boot loader 81b notifies the kernel 81c that the boot mode is the update mode (S96).
When notified by the boot loader 81b that the boot mode is the update mode, as illustrated in
When the process of Step S95 or Step S98 is finished, the electronic device 80 finishes the operation illustrated in
However, on the electronic device 80, two kinds of root disk images, the root disk image 82d for normal boot and the root disk image 82e for update, need to be stored in the flash memory 82, which increases a capacity necessary for the flash memory 82.
The present disclosure relates to an electronic device capable of suppressing a capacity necessary for a nonvolatile storage device.
The electronic device according to the present disclosure includes a random access memory (RAM), a nonvolatile storage device configured to act as a memory technology device (MTD), and firmware that is stored on the nonvolatile storage device. The firmware includes a kernel that may be expanded onto the RAM and a root disk image as a root file system.
The kernel mounts the root disk image on the nonvolatile storage device as the root file system when a boot mode of the electronic device is a normal boot mode.
The kernel, when the boot mode is an update mode for updating the firmware on the nonvolatile storage device, may i) generate a RAM disk as an MTD in an area of the RAM not under management of the kernel, ii) expand the root disk image on the nonvolatile storage device into the RAM disk, and iii) mount the root disk image on the RAM disk as the root file system.
Additional features and advantages are described herein, and will be apparent from the following Detailed Description and the figures.
All drawings are intended to illustrate some aspects and examples of the present disclosure. The drawings described are only schematic and are non-limiting, and are not necessarily drawn to scale.
Various embodiments are described below with reference to the figures. It should be understood, however, that numerous variations from the depicted arrangements and functions are possible while remaining in the scope and spirit of the claims. For instance, one or more elements may be added, removed, combined, distributed, substituted, re-positioned, re-ordered, and/or otherwise changed. Further, where this description refers to one or more functions being implemented on and/or by one or more devices, one or more machines, and/or one or more networks, it should be understood that one or more of such entities could carry out one or more of such functions by themselves or in cooperation, and may do so by application of any suitable combination of hardware, firmware, and/or software. For instance, one or more processors may execute one or more sets of programming instructions as at least part of carrying out one or more of the functions described herein.
Now, an embodiment of the present disclosure is described with reference to the accompanying drawings.
First, a description is made of a configuration of an MFP serving as an electronic device according to this embodiment.
As illustrated in
The control unit 20 includes a central processing unit (CPU) 21, a read only memory (ROM) 22 that stores a program for the CPU 21 and different kinds of data, a random access memory (RAM) 23 used as a work area for the CPU 21, and a flash memory 24 of a NAND type or a NOR type serving as an MTD.
As illustrated in
The firmware 24a includes a boot loader 24b that is executed when the MFP 10 is booted, a kernel 24c to be expanded onto the RAM 23, a root disk image 24d serving as a compressed file of a root file system.
The root disk image 24d is a file having a format that can be read by the kernel 23c described later from the MTD via a read-only file system such as Cramfs or Squashfs.
Next, a description is made of an operation performed when the MFP 10 is booted.
As illustrated in
When the process of Step S31 is finished, the boot loader 23b executed by the CPU 21 expands the kernel 24c on the flash memory 24 onto the RAM 23 as the kernel 23c as illustrated in
Subsequently, the boot loader 23b determines whether or not a boot mode of the MFP 10 is an update mode for updating the firmware 24a on the flash memory 24 (S33).
When determining in Step S33 that the boot mode is not the update mode, in other words, that the boot mode is a normal boot mode, the boot loader 23b notifies the kernel 23c that the boot mode is the normal boot mode (S34).
When notified by the boot loader 23b that the boot mode is the normal boot mode, the kernel 23c executed by the CPU 21 mounts the root disk image 24d on the flash memory 24 as a root file system (S35). Accordingly, as illustrated in
When determining in Step S33 that the boot mode is the update mode, the boot loader 23b notifies the kernel 23c that the boot mode is the update mode (S36).
When notified by the boot loader 23b that the boot mode is the update mode, as illustrated in
After the process of Step S37, the kernel 23c expands the root disk image 24d on the flash memory 24 into the MTDRAM disk 23a as the root disk image 23d as illustrated in
After the process of Step S38, the kernel 23c mounts the root disk image 23d on the MTDRAM disk 23a as the root file system (S39). Accordingly, as illustrated in
When the process of Step S35 or Step S39 is finished, the CPU 21 finishes the operation illustrated in
As described above, the MFP 10 stores, in the flash memory 24, the root disk image 24d used in common when the boot mode is the normal boot mode and when the boot mode is the update mode, and can therefore suppress a capacity necessary for the flash memory 24 to a lower level than in a configuration in which a root disk image used when the boot mode is the normal boot mode and a root disk image used when the boot mode is the update mode are separately stored in the flash memory 24.
Further, on the MFP 10, when the boot mode is the normal boot mode, the root disk image 23d is not expanded into the area of the RAM 23 not under the management of the kernel 23c, which can increase the capacity of the usable area of the RAM 23.
Note that, the nonvolatile storage device according to the present disclosure is a flash memory in this embodiment, but may be any storage device other than the flash memory as long as the nonvolatile storage device is the MTD.
Further, the electronic device according to the present disclosure is an MFP in this embodiment, but may be any image forming apparatus other than the MFP, such as a copying machine or a printer, or may be any electronic device other than the image forming apparatus such as a general-purpose personal computer.
It should be understood that various changes and modifications to the embodiments described herein will be apparent to those skilled in the art. Such changes and modifications may be made without departing from the spirit and scope of the present subject matter and without diminishing its intended advantages. It is therefore intended that such changes and modifications be covered by the appended claims.
Patent | Priority | Assignee | Title |
10579465, | Mar 29 2018 | Keep Security LLC | Systems and methods for self correcting secure computer systems |
10891183, | Mar 29 2018 | Keep Security LLC | Systems and methods for self correcting secure computer systems |
10901835, | Mar 29 2018 | Keep Security LLC | Systems and methods for self correcting secure computer systems |
11048578, | Mar 29 2018 | Keep Security LLC | Systems and methods for self correcting secure computer systems |
11175981, | Mar 29 2018 | Keep Security LLC | Systems and methods for dynamic self correcting secure computer systems |
11231988, | Mar 29 2018 | KEEP SECURITY, LLC | Systems and methods for secure deletion of information on self correcting secure computer systems |
11263074, | Mar 29 2018 | KEEP SECURITY, LLC; Keep Security LLC | Systems and methods for self correcting secure computer systems |
11520655, | Mar 29 2018 | KEEP SECURITY, LLC | Systems and methods for self correcting secure computer systems |
11669389, | Mar 29 2018 | KEEP SECURITY, LLC | Systems and methods for secure deletion of information on self correcting secure computer systems |
11868205, | Mar 29 2018 | Keep Security LLC | Systems and methods for self correcting secure computer systems |
11934680, | Feb 06 2020 | ARRIS ENTERPRISES LLC | Systems and methods for booting from NAND flash using squashfs to maximize memory |
Patent | Priority | Assignee | Title |
7725700, | Jan 28 2005 | GUANGZHOU LUXVISIONS INNOVATION TECHNOLOGY LIMITED | Embedded system, automatic loading system, and method capable of automatically loading a root file system |
20030063316, | |||
20050138347, | |||
20090150598, | |||
20110197019, | |||
20110271270, | |||
20130163040, | |||
20150149759, | |||
JP2003200620, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Nov 26 2014 | KYOCERA Document Solutions Inc. | (assignment on the face of the patent) | / | |||
Nov 26 2014 | TSUJI, SHUNTARO | Kyocera Document Solutions Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 034267 | /0804 |
Date | Maintenance Fee Events |
May 14 2020 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Jul 22 2024 | REM: Maintenance Fee Reminder Mailed. |
Jan 06 2025 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Nov 29 2019 | 4 years fee payment window open |
May 29 2020 | 6 months grace period start (w surcharge) |
Nov 29 2020 | patent expiry (for year 4) |
Nov 29 2022 | 2 years to revive unintentionally abandoned end. (for year 4) |
Nov 29 2023 | 8 years fee payment window open |
May 29 2024 | 6 months grace period start (w surcharge) |
Nov 29 2024 | patent expiry (for year 8) |
Nov 29 2026 | 2 years to revive unintentionally abandoned end. (for year 8) |
Nov 29 2027 | 12 years fee payment window open |
May 29 2028 | 6 months grace period start (w surcharge) |
Nov 29 2028 | patent expiry (for year 12) |
Nov 29 2030 | 2 years to revive unintentionally abandoned end. (for year 12) |