JP2022152170A - Boot program rewriting system - Google Patents
Boot program rewriting system Download PDFInfo
- Publication number
- JP2022152170A JP2022152170A JP2021054843A JP2021054843A JP2022152170A JP 2022152170 A JP2022152170 A JP 2022152170A JP 2021054843 A JP2021054843 A JP 2021054843A JP 2021054843 A JP2021054843 A JP 2021054843A JP 2022152170 A JP2022152170 A JP 2022152170A
- Authority
- JP
- Japan
- Prior art keywords
- boot
- boot program
- electronic device
- program
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
Description
本発明は、ブートプログラム書き換えシステムに関するものである。 The present invention relates to a boot program rewrite system.
ある情報処理装置では、CPUが、まず、判別プログラム領域における判別プログラムを実行し、ブートプログラム領域とは別の共通領域にブートプログラムがある場合には、そのブートプログラムをブートプログラム領域に書き込むことで、ブートプログラム領域のブートプログラムを更新し、更新後に、ブートプログラム領域のブートプログラムを実行している(例えば特許文献1参照)。この情報処理装置では、共通領域内のブートプログラムが完全ではない場合には、ブートプログラムの更新をせずにブートプログラム領域のブートプログラムが実行される。
In an information processing device, a CPU first executes a discrimination program in a discrimination program area, and if there is a boot program in a common area separate from the boot program area, writes the boot program in the boot program area. , the boot program in the boot program area is updated, and after the update, the boot program in the boot program area is executed (see
しかしながら、上述の情報処理装置では、ブートプログラムとは別に、判別プログラム領域を確保して判別プログラムを格納しておく必要があり、判別プログラム自体を更新することが困難であるため、判別プログラムに起因して円滑にブートプログラムの書き換えが行えない可能性がある。 However, in the information processing apparatus described above, it is necessary to secure a discrimination program area to store the discrimination program separately from the boot program, and it is difficult to update the discrimination program itself. Therefore, the boot program may not be rewritten smoothly.
例えば、ブートプログラムの書き換えのためにブートプログラム領域、共通領域などのメモリーマップを変更する必要がある場合、判別プログラムの変更が必要になるが、判別プログラムの更新時に電源断が発生すると、判別プログラムが破損したままとなり、装置の起動が困難になる。したがって、判別プログラムの更新が困難であり、ひいては、そのようなブートプログラムの書き換えが行えない可能性がある。 For example, if it is necessary to change the memory map of the boot program area, common area, etc. to rewrite the boot program, it is necessary to change the discrimination program. remain damaged, making it difficult to start the device. Therefore, it is difficult to update the determination program, and there is a possibility that such rewriting of the boot program cannot be performed.
本発明は、上記の問題に鑑みてなされたものであり、円滑にブートプログラムの書き換えが行えるブートプログラム書き換えシステムを得ることを目的とする。 SUMMARY OF THE INVENTION It is an object of the present invention to provide a boot program rewriting system capable of smoothly rewriting a boot program.
本発明に係るブートプログラム書き換えシステムは、ブートプログラムを実行する電子機器と、前記ブートプログラムの書き換え用のブートプログラムを提供するサーバーとを備える。そして、前記電子機器は、(a)当該電子機器の前記ブートプログラムの書き換え要求時に、当該電子機器の前記ブートプログラムでのローカルブートから前記サーバーの前記ブートプログラムでのネットワークブートへブート設定を変更し、(b)当該電子機器が再起動したときに前記ブート設定に従って前記サーバーの前記ブートプログラムでネットワークブートし、前記サーバーの前記ブートプログラムに従って、当該電子機器の前記ブートプログラムの更新用ブートプログラムを取得し、前記更新用ブートプログラムで当該電子機器の前記ブートプログラムを書き換え、(c)当該電子機器の前記ブートプログラムの書き換えが完了した後、前記サーバーの前記ブートプログラムでのネットワークブートから当該電子機器の前記ブートプログラムでのローカルブートへ前記ブート設定を変更する。 A boot program rewriting system according to the present invention includes an electronic device that executes a boot program, and a server that provides a boot program for rewriting the boot program. Then, the electronic device (a) changes the boot setting from local boot with the boot program of the electronic device to network boot with the boot program of the server when the boot program of the electronic device is requested to be rewritten. , (b) network booting with the boot program of the server according to the boot settings when the electronic device is restarted, and obtaining a boot program for updating the boot program of the electronic device according to the boot program of the server; and rewriting the boot program of the electronic device with the update boot program; Change the boot setting to local boot with the boot program.
本発明によれば、円滑にブートプログラムの書き換えが行えるブートプログラム書き換えシステムが得られる。 According to the present invention, a boot program rewriting system capable of smoothly rewriting a boot program can be obtained.
本発明の上記又は他の目的、特徴および優位性は、添付の図面とともに以下の詳細な説明から更に明らかになる。 The above and other objects, features and advantages of the present invention will become further apparent from the following detailed description together with the accompanying drawings.
以下、図に基づいて本発明の実施の形態を説明する。 Embodiments of the present invention will be described below based on the drawings.
図1は、本発明の実施の形態に係るブートプログラム書き換えシステムの構成を示すブロック図である。図1に示すシステムは、電子機器1と、インターネット、イントラネットなどといったネットワーク2を介して電子機器1との間でデータ通信可能なサーバー3とを備える。
FIG. 1 is a block diagram showing the configuration of a boot program rewriting system according to an embodiment of the present invention. The system shown in FIG. 1 includes an
電子機器1は、例えば複合機などの組込機器である。電子機器1は、フラッシュメモリーなどの不揮発性メモリー11と、CPU(Central Processing Unit)などのプロセッサー12と、揮発性メモリーであるRAM(Random Access Memory)13と、ハードディスクドライブ、SSD(Solid State Drive)などのデータ記憶装置14と、ネットワークインターフェイスなどの通信装置15とを備える。
The
不揮発性メモリー11は、BIOS(Basic Input/Output System)、UEFI(Unified Extensible Firmware Interface)などといった起動プログラム21、ブート設定データ22、およびローカルブート用のブートプログラム23を記憶している。
The
起動プログラム21は、当該電子機器1の起動時に最初に実行されるプログラムであって、ブート設定データ22により指定されたブートプログラムを呼び出してそのブートプログラムの実行を開始させる。
The boot program 21 is a program that is executed first when the
ブートプログラム23は、当該電子機器1の図示せぬ内部デバイスの初期化や図示せぬオペレーティングシステムのロードを実行する。ブートプログラム23は、例えばファームウェアであり、不揮発性メモリー11の所定の記憶領域に格納されている。なお、そのオペレーティングシステムやそのオペレーティングシステム上で動作するアプリケーションなどのプログラムは、データ記憶装置14に記憶されている。
The
プロセッサー12は、不揮発性メモリー11に記憶されているプログラムに従って、そのプログラムに記述されている処理を実行する。
The
通信装置15は、ネットワーク2上のサーバー3などとのデータ通信を行う。
The
電子機器1の起動時、プロセッサー12は、まず、起動プログラム21を実行し、起動プログラム21に従って、ブート設定データ22に従って、いずれかのブートプログラムをRAM13にロードして実行する。
When the
サーバー3は、ネットワーク2を介して、電子機器1のブートプログラム23用の書換プログラム31aを含むブートプログラム31を提供する。
The
ここで、ブート設定データ22は、ローカルブートおよびネットワークブートのいずれかを指定しており、ブート設定データ22は、ブートプログラム23の書き換えを要求するユーザー操作に従って自動的に編集される。
Here, the
そして、プロセッサー12は、起動プログラム21に従ってブート設定22に従ってローカルブートおよびネットワークブートのいずれかを選択する。ローカルブートでは、不揮発性メモリー11からRAM13へブートプログラム23がロードされて実行される。ネットワークブートでは、通信装置15を使用して、ブート設定データ22で指定されたサーバー(ここではサーバー3)からブートプログラム31がダウンロードされてRAM13に格納されて実行される。
Then, the
プロセッサー12は、(a)当該電子機器1のブートプログラム23の書き換え要求時に、当該電子機器1のブートプログラム23でのローカルブートからサーバー3のブートプログラム31でのネットワークブートへブート設定(つまり、ブート設定データ22)を変更し、(b)その後、当該電子機器1が再起動したときにブート設定に従ってサーバー3のブートプログラム31でネットワークブートし、サーバー3のブートプログラム31に従って、当該電子機器1のブートプログラム23の図示せぬ更新用ブートプログラムを取得し、その更新用ブートプログラムで当該電子機器1のブートプログラム23を書き換え、(c)当該電子機器1のブートプログラム23の書き換えが完了した後、サーバー3のブートプログラム31でのネットワークブートから当該電子機器1のブートプログラム23でのローカルブートへブート設定を変更する。
(a) When the
なお、更新用ブートプログラムは、サーバー3から当該電子機器1へダウンロードされてもよいし、他のサーバーから当該電子機器1へダウンロードされてもよい。
Note that the update boot program may be downloaded from the
また、プロセッサー12は、サーバー3のブートプログラム31に従って、取得した更新用ブートプログラムの検証を行い、その検証に成功した場合には、更新用ブートプログラムで当該電子機器1のブートプログラム23を書き換え、その検証に失敗した場合には、当該電子機器1のブートプログラム23の書き換えを行わずに、サーバー3のブートプログラム31でのネットワークブートから当該電子機器1のブートプログラム23でのローカルブートへブート設定を変更する。
In addition, the
なお、ブート設定データ22は、ブート設定の初期値として、ローカルブートを指定している。
The
次に、上記システムの動作について説明する。図2は、図1に示すブートプログラム書き換えシステムにおける電子機器の動作について説明するフローチャートである。 Next, the operation of the above system will be explained. FIG. 2 is a flow chart explaining the operation of the electronic device in the boot program rewriting system shown in FIG.
ブートプログラム書き換えを実行する場合、ユーザーは、電子機器1を操作して、プロセッサー12に、ブート設定を、ローカルブートからネットワークブートへ変更させ、電子機器1を再起動させる(ステップS1)。
When rewriting the boot program, the user operates the
電子機器1の再起動時、プロセッサー12は、まず、起動プログラム21を実行し、起動プログラム21に従って、ブート設定データ22により指定されたブートモードがネットワークブートであるか否かを判定する(ステップS2)。
When the
上述のようにステップS7でブート設定が変更されている場合、プロセッサー12は、起動プログラム21に従って、ブートモードがネットワークブートであると判定し、通信装置15を使用して、サーバー3のブートプログラム31を取得し、ブートプログラム31を実行する(ステップS3)。
If the boot settings have been changed in step S7 as described above, the
そして、プロセッサー12は、ブートプログラム31に従って、通信装置15を使用して、ブートプログラム31により指定された更新用ブートプログラムを取得してRAM13やデータ記憶装置14に格納し、取得した更新用ブートプログラムの検証(つまり、更新用ブートプログラムが完全なものであり、当該電子機器1に適合したものであることの確認)を実行する(ステップS4)。なお、この検証の方法には、既存の方法を使用すればよい。
Then, according to the
次に、プロセッサー12は、ブートプログラム31に従って、この検証に成功したか否かを判定する(ステップS5)。この検証に成功したと判定した場合、プロセッサー12は、ブートプログラム31に従って、取得した更新用ブートプログラムで、不揮発性メモリー11内のブートプログラム23を更新する(ステップS6)。このとき、不揮発性メモリー11内のブートプログラム23が消去され、更新用ブートプログラムが書き込まれる。そして、プロセッサー12は、ブートプログラム31に従って、ブート設定をネットワークブートからローカルブートへ変更し、当該電子機器1を再起動させる(ステップS7)。
Next, the
一方、この検証に失敗したと判定した場合、プロセッサー12は、ブートプログラム31に従って、取得した更新用ブートプログラムでの、不揮発性メモリー11内のブートプログラム23の書き換えを中止し(ステップS8)、ブート設定をネットワークブートからローカルブートへ変更し、当該電子機器1を再起動させる(ステップS7)。
On the other hand, if it is determined that this verification has failed, the
このようにして再起動した場合、プロセッサー12は、まず、起動プログラム21を実行し、起動プログラム21に従って、ブート設定データ22により指定されたブートモードがネットワークブートであるか否かを判定する。
When restarted in this manner, the
この場合、上述のようにブート設定が変更されているため、プロセッサー12は、起動プログラム21に従って、ブートモードがローカルブートであると判定し、不揮発性メモリー11内のブートプログラム23をロードして実行する(ステップS9)。
In this case, since the boot settings have been changed as described above, the
このようにして、サーバー3のブートプログラム31に基づくネットワークブートを利用して、電子機器1のブートプログラム23の書き換えが実行される。
In this way, the
ここで、上述の処理において電子機器1の電源断や意図せぬ再起動が発生した場合について説明する。
Here, a case where the
ブートプログラム23を書き換える際の、上述の一連の処理のうち、ステップS2からステップS6の完了までの期間において、電子機器1の電源断や意図せぬ再起動が発生した場合、ブート設定が、上述のネットワークブートから上述のローカルブートへ戻されていないため、電源断後の起動時または意図せぬ再起動では、同様に上述のネットワークブートが選択され、ステップS2からステップS7までの処理が改めて実行される。
When the
つまり、ブートプログラム23の書き換えが完了しない限り、上述のネットワークブートが選択されるため、電子機器1の電源断や意図せぬ再起動が発生した場合でも、ブートプログラム23の書き換えができなくなる状況になりにくく、また、電子機器1が利用できない状況にもなりにくい。
In other words, since the above-described network boot is selected unless the rewriting of the
なお、サーバー3がダウンしている場合には、起動プログラム21によって、ネットワークブートの失敗が検出されると、ブートモードがローカルブートに自動的に切り替われるため、そのような場合でも、電子機器1が利用できない状況になりにくい。
When the
以上のように、上記実施の形態によれば、電子機器1は、当該電子機器1のブートプログラム23の書き換え要求時に、当該電子機器1のブートプログラム23でのローカルブートからサーバー3のブートプログラム31でのネットワークブートへブート設定を変更する。その後、当該電子機器1が再起動したときに、電子機器1は、ブート設定に従ってサーバー3のブートプログラム31でネットワークブートし、サーバー3のブートプログラム31に従って、当該電子機器1のブートプログラム23の更新用ブートプログラムを取得し、その更新用ブートプログラムで当該電子機器1のブートプログラム23を書き換え、当該電子機器1のブートプログラム23の書き換えが完了した後、上述のネットワークブートから上述のローカルブートへブート設定を変更する。
As described above, according to the above-described embodiment, when the
これにより、ブートプログラム23の書き換えができなくなる状況が発生しにくく、円滑にブートプログラムの書き換えが行われる。
As a result, a situation in which the
また、既存のBIOSなどの起動プログラム21を利用してブートモードの選択が行われるため、ほぼサーバー3のブートプログラム31を開発するだけで上記のシステムを構築できる。したがって開発コストが低く済む。
In addition, since the boot mode is selected using the boot program 21 such as the existing BIOS, the above system can be constructed only by developing the
なお、上述の実施の形態に対する様々な変更および修正については、当業者には明らかである。そのような変更および修正は、その主題の趣旨および範囲から離れることなく、かつ、意図された利点を弱めることなく行われてもよい。つまり、そのような変更および修正が請求の範囲に含まれることを意図している。 Various changes and modifications to the above-described embodiments will be apparent to those skilled in the art. Such changes and modifications may be made without departing from the spirit and scope of its subject matter and without diminishing its intended advantages. It is therefore intended that such changes and modifications be covered by the claims.
上記実施の形態では、ブート設定に基づいて、ブートプログラム23の書き換えが完了したか否かが間接的に判定されるが、(a)ブートプログラム23の書き換えが完了したか否かを示すフラグを不揮発性メモリー11に記憶しておき、(b)ブートプログラム23の書き換えが完了した際にそのフラグの値を変更し、(c)そのフラグの値に基づいて、ブートプログラム23の書き換えが完了したか否かを判定するようにしてもよい。
In the above embodiment, whether or not the
本発明は、例えば、電子機器のブートプログラムの更新に適用可能である。 The present invention is applicable, for example, to updating boot programs of electronic devices.
1 電子機器
3 サーバー
21 起動プログラム
22 ブート設定データ
23,31 ブートプログラム
1
Claims (3)
前記ブートプログラムの書き換え用のブートプログラムを提供するサーバーとを備え、
前記電子機器は、(a)当該電子機器の前記ブートプログラムの書き換え時に、当該電子機器の前記ブートプログラムでのローカルブートから前記サーバーの前記ブートプログラムでのネットワークブートへブート設定を変更し、(b)当該電子機器が再起動したときに前記ブート設定に従って前記サーバーの前記ブートプログラムでネットワークブートし、前記サーバーの前記ブートプログラムに従って、当該電子機器の前記ブートプログラムの更新用ブートプログラムを取得し、前記更新用ブートプログラムで当該電子機器の前記ブートプログラムを書き換え、(c)当該電子機器の前記ブートプログラムの書き換えが完了した後、前記サーバーの前記ブートプログラムでのネットワークブートから当該電子機器の前記ブートプログラムでのローカルブートへ前記ブート設定を変更すること、
を特徴とするブートプログラム書き換えシステム。 an electronic device that executes a boot program;
A server that provides a boot program for rewriting the boot program,
(a) when the boot program of the electronic device is rewritten, the electronic device changes boot settings from local boot with the boot program of the electronic device to network boot with the boot program of the server; ) network-booting the boot program of the server according to the boot settings when the electronic device is restarted, acquiring a boot program for updating the boot program of the electronic device according to the boot program of the server, and rewriting the boot program of the electronic device with the update boot program; changing the boot setting to local boot on
A boot program rewriting system characterized by:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021054843A JP2022152170A (en) | 2021-03-29 | 2021-03-29 | Boot program rewriting system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021054843A JP2022152170A (en) | 2021-03-29 | 2021-03-29 | Boot program rewriting system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022152170A true JP2022152170A (en) | 2022-10-12 |
Family
ID=83556572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021054843A Pending JP2022152170A (en) | 2021-03-29 | 2021-03-29 | Boot program rewriting system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2022152170A (en) |
-
2021
- 2021-03-29 JP JP2021054843A patent/JP2022152170A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100506203B1 (en) | Booting and boot code update method and system thereof | |
US10114653B2 (en) | Multiple-stage bootloader and firmware for baseboard manager controller and primary processing subsystem of computing device | |
US8181007B2 (en) | Electronic device and method for secure operating system update in embedded system | |
WO2022007656A1 (en) | Bootloader software updating method and apparatus, embedded controller, and storage medium | |
US9507604B2 (en) | Boot method and boot system | |
US20090271780A1 (en) | Automatic complete firmware upgrade | |
JP2009536399A (en) | Operating system gradual boot process | |
JP2007213494A (en) | Update starting device and update starting control method | |
WO2017219861A1 (en) | Method and device for controlling system start-up mode | |
JP2007052519A (en) | Information processor, method, and program | |
JP2009169524A (en) | Network system for home appliance | |
WO2015154538A1 (en) | Memory booting method and device | |
CN101807152A (en) | Basic output and input system for self verification of selection read only memory and verification method thereof | |
WO2017000567A1 (en) | Bootrom upgrading method and device | |
JP6074064B2 (en) | Electronics | |
US20060059327A1 (en) | Method to reset an image to a known state | |
US10642623B1 (en) | Preserving firmware settings during firmware updates | |
US20140258699A1 (en) | Boot fault tolerant device and method thereof | |
JP2022152170A (en) | Boot program rewriting system | |
JP2000357093A (en) | Computer system and reloading method for non-volatile memory | |
JP2011175352A (en) | Firmware updating device, communication apparatus, electronic apparatus, firmware updating system, firmware updating method and program | |
CN110286953B (en) | Method and device for starting embedded system, embedded device and storage medium | |
CN115686554A (en) | BootLoader program upgrading method and device | |
KR100876748B1 (en) | Method for updating boot code | |
JP6457756B2 (en) | Information processing apparatus, control method thereof, and program |