JP2006107248A - Linuxプログラム起動システム - Google Patents

Linuxプログラム起動システム Download PDF

Info

Publication number
JP2006107248A
JP2006107248A JP2004294951A JP2004294951A JP2006107248A JP 2006107248 A JP2006107248 A JP 2006107248A JP 2004294951 A JP2004294951 A JP 2004294951A JP 2004294951 A JP2004294951 A JP 2004294951A JP 2006107248 A JP2006107248 A JP 2006107248A
Authority
JP
Japan
Prior art keywords
kernel
linux
boot
program
stored
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
Application number
JP2004294951A
Other languages
English (en)
Inventor
Koji Mizumachi
幸司 水町
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Victor Company of Japan Ltd
Original Assignee
Victor Company of Japan Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Victor Company of Japan Ltd filed Critical Victor Company of Japan Ltd
Priority to JP2004294951A priority Critical patent/JP2006107248A/ja
Publication of JP2006107248A publication Critical patent/JP2006107248A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】 冗長構成の組み込み機器において、起動カーネルが対応するユーザランドを確実に判別できるようにする。
【解決手段】 予め起動された起動カーネルに基づいてユーザランドAおよびBそれぞれが格納されたバンクAおよびBを起動カーネルが認識できる領域としてそれぞれマウントする処理(ステップS304)、マウントされたそれぞれのバンクAおよびBに格納されたユーザランドAおよびBそれぞれのバージョンファイルを参照してユーザランドAおよびBの中から起動カーネルにリンクするユーザランドを判別する処理(ステップS305、S306、S309)をそれぞれ実行するLinuxプログラム起動システムである。
【選択図】 図3

Description

本発明は、Linuxプログラム(以下、単にLinuxとも記載する)をオペレーティングシステムとして搭載した(組み込んだ)組み込み機器において好適に利用されるLinuxプログラム起動システムに関する。
各種家電機器、腕時計、携帯電話やPDS等の小型端末、インターネット関連機器等の様々なコンピュータアプリケーションプログラム(以下、単にアプリケーションとも記載する)により動作する機器には、オペレーティングシステム(以下、OSとも記載する)と呼ばれる基本ソフトが実装されているものが多い。そしてこの機器実装用(組み込み用)OSとして、近年では、オープンソースであるLinuxが注目を集めている。
このLinuxの特徴として、カーネル(Linuxカーネル)と呼ばれるOSのコアとなる部分のみ開発を専念し、それ以外の部分については、ロイヤリティフリーで公開されているフリーソフトウェアから容易に入手することができるという点が挙げられる。
このLinuxは、ファイルシステムを利用したブロックデバイスへの論理的なアクセスを前提として構築されている。すなわち、Linuxでは、カーネルの起動時において、ルートファイルシステムと呼ばれる基本部分をデバイスからマウント{ファイルシステムが格納されたデバイス(格納領域)を起動カーネルから認識(アクセス)できるデバイスにして、そのデバイスに格納されたファイルシステム内のアプリケーションを含む各種ファイルに対して起動カーネルがアクセス可能にすることを意味する}することにより、様々なアプリケーションを利用してブロックデバイスに格納されたデータにアクセスすることが可能である。
通常、Linuxが動作する標準的なシステムであるパーソナルコンピュータ(以下、パソコンという)である例えばIBM・AT互換機においては、起動時(ブート時)にマウントされるデバイスを表す情報は、MBR(Master Boot Record)と呼ばれるハードディスク(HDD)の起動用領域に予めデフォルトとして書き込まれている。なお、デフォルトとは異なるデバイスを利用してファイルシステムをブートしたい場合には、コマンドラインやメニュー形式を用いて、ブートしたいファイルシステムが搭載されたデバイスを選択することも一般的に行われている。
また、Linuxにおいては、カーネルに渡す引数によりルートファイルシステムをマウントする。しかしながら、組み込み機器においては、デバイスドライバの都合上、initrdと呼ばれるRAMディスクに搭載されたファイルシステムを初期ルートファイルシステムとして利用し、そのinitrdから本来マウントしたいルートファイルシステムを搭載デバイスからマウントする場合がある。
ところで、例えばパソコンでは、そのパソコンに組み込まれた(搭載された)プログラム、例えばLinuxプログラムを更新する場合、その実行ファイルのみを交換したり、またLinuxの知識のあるユーザの場合には、カーネルを再構築した上で新しい機能プログラムを追加すること等により、新しいLinuxプログラムを実行する環境をパソコン内に構築することができる。
この点、Linux組み込み機器においては、メンテナンス性の観点からもカーネルおよびこのカーネルにリンクするファイルシステム(以下、ユーザランドとも記載する)を書き換えて、Linuxプログラムの実行環境を一新する方法が効率的であると考えられている。
また、例えばパソコンにおいては、そのブート用のプログラムを記憶しておくことができるデバイスが例えばHDD、CD−ROM等複数あり、あるデバイスからブートローダを含むプログラムの更新を行って仮に失敗した場合であっても、他のデバイスに搭載されたブートローダを含むプログラムを起動して比較的容易にパソコンを復帰させることができる。
しかしながら、組み込み機器では、ユーザにブートするファイルシステムが搭載されたデバイスを選択させることは、ユーザを混乱させる原因ともなるため、自動的にファイルシステムをブートさせる仕組みが必要である。また、組み込み機器は、外部からユーザにより頻繁にオン/オフされることが多いことから、ブートローダ自体の書き換えはブート不能に陥るリスクが大きくなるため、他のデバイス特定方法を用いたいという技術的背景もある。
この点、同一又は異なるバージョンのプログラム{カーネルおよびリンクするファイルシステム(ユーザランド)}を2つのメモリ領域(メモリバンク)に冗長的に記録する2バンク方式も知られており、そのプログラムが正常に作動したかどうかによって有効パンクを切り換えることが可能になっており、上述したブート不能リスクを低減することができる。
この2バンク方式では、組み込み機器でプログラムの更新により不具合の修正や機能追加を行う場合、その更新操作は、必ず一方のプログラムの更新が完了し、更新したプログラムが正常に動作した場合に初めて他方のプログラムを無効にするようになっている。
したがって、一方のバンクに記録されたプログラムの更新に失敗した場合でも、他方のバンクに記録された現在動作しているプログラムを保持し続けることが可能になる。
上述した2バンク方式のシステムとしては、特許文献1に開示されたものがある。この特許文献1に開示されたコンピュータシステムのファームウェア記憶装置は、同一又は異なるバージョンのファームウェアを2つのメモリバンクに冗長的に記憶するファームウェア記憶装置である。
このファームウェア記憶装置によれば、2つのメモリバンクの一方のメモリバンクが選択されている間は、他方のメモリバンクを書込み禁止にする。そして、2つのメモリバンクの一方を選択し、選択されなかったメモリバンクに記憶されたファームウェアの有効性をチェックし、選択されたメモリバンクに記憶されたファームウェアのバージョンを、選択されなかったメモリバンクに記憶されたファームウェアのバージョンと比較し、その比較結果を生成する。この比較結果に従って、2つのメモリバンクに記憶されているファームウェアのどちらか一方を選択し、この選択されたメモリバンクに記憶されたファームウェアを使用してコンピュータシステムを起動し、所定の時間内に該コンピュータシステムが正常に動作可能状態にならない場合に、この選択されなかったメモリバンクを選択し、その後プロセッサをリセットするといものである。
このような構成により、システム・ファームウェアの保全性を効率的に確保すると共に、ファームウェアを簡単に変更することが可能になる。また、コンピュータシステムが動作可能な状態に留まるのに十分なファームウェアを確実に保持しながら、そのようなシステムのファームウェアを変更することができる。さらに、コンピュータシステム内の複数のファームウェアバンクからの自動選択を行うことが可能になる。
詳しくは、特許文献1の段落番号に開示されているように、2つのメモリバンク502および504が制御装置505によって管理されており、制御装置505は、メモリバンク502および504からのファームウェアの読み取り、およびそのメモリバンク502および504からのファームウェアの書込みをそれぞれ制御している。
特許第3033642号
しなしながら、LinuxをOSとして用いるLinuxプログラム組み込み機器において、Linuxプログラムを格納する領域(バンク)が複数(2バンク以上)存在している場合、起動されたカーネルは、複数のバンクそれぞれに格納された複数のユーザランドの内の何れのユーザランドを、その起動カーネルにリンクするユーザランドとしてマウントすればよいのか判断することが困難であった。
本発明は上述した事情に鑑みてなされたものであり、Linuxプログラム起動において、複数のバンクに記録された複数のファイルシステムから、起動カーネルにリンクする有効なファイルシステムを識別することを可能にするLinuxプログラム起動システムを提供することをその目的とする。
請求項1記載の発明は、上記課題を解決するため、カーネルおよび該カーネルにそれぞれリンクし且つ新旧識別用のバージョン情報をそれぞれ有する複数のファイルシステムを含む複数のLinuxプログラムを、書き換え可能な記録媒体のそれぞれの格納領域に格納しておき、複数のLinuxプログラムの内の何れか1つを起動させるためのLinuxプログラム起動システムであって、予め起動された前記複数のカーネルの内の何れか1つの起動カーネルに基づいて、前記複数のファイルシステムそれぞれの格納領域を該起動カーネルが認識できる領域としてそれぞれマウントする手段と、マウントされたそれぞれの格納領域に格納されている複数のファイルシステムそれぞれのバージョン情報を参照して該複数のファイルシステムの中から前記起動カーネルにリンクするファイルシステムを判別する手段と、を備えたことを要旨とする。
本発明によれば、マウントされた複数の格納領域にそれぞれ格納されている複数のファイルシステムのそれぞれのバージョン情報を参照することにより、例えば起動カーネルのバージョン情報に対応するファイルシステムを起動カーネルにリンクするファイルシステムとして判別することができる。この結果、複数の格納領域にそれぞれ格納された複数のファイルシステムにおける起動カーネルに対応するファイルシステムを容易に識別することができる。
以下、本発明を実施するための最良の形態を、図面を参照して説明する。
図1を参照して、本発明を実施するための最良の形態(以下、実施形態と記載する)に係るLinuxプログラム起動システム1を含むマザーボード11の概略構成を説明する。このマザーボート11は、家電機器、腕時計、携帯電話やPDS等の小型端末、インターネット関連機器等のアプリケーション動作機器に予め搭載されている。
図1に示すように、マザーボード11には、CPU/PCIブリッジ31を介して接続されているアドレスバスやデータバス等からなるホストバス13と、32ビット幅の標準化されたPCIバス15が設けられている。
このホストバス13には、内部キャッシュメモリCmおよび所定ビットのデータバスを有するCPU17、SRAMからなる外部キャッシュメモリ21、およびこの外部キャッシュメモリ21へのデータの読み書きを制御するキャッシュコントローラ19がそれぞれ接続されている。また、ホストバス13には、DRAMからなるメインメモリ25、およびこのメインメモリ25へのデータの読み書きとリフレッシュを制御するDRAMコントローラ23がそれぞれ接続されている。
さらに、ホストバス13には、例えばNANDメモリからなる書き換え可能な記録媒体の一例としてのフラッシュメモリ29、このフラッシュメモリ29へのデータの読み書きを制御するフラッシュメモリコントローラ27、およびCPUが接続されているホストバス13とPCIバス15とを接続するためのCPU/PCIブリッジ31等がそれぞれ接続されている。
一方、PCIバス15には、PCI拡張スロット33を介して例えばLANのプロトコルを制御するLANカードが接続されている。
フラッシュメモリコントローラ27は、CPU17から与えられるデータの読み書きに関するブロック転送コマンドに応じてフラッシュメモリ29との間のデータの読み書きを制御する。
フラッシュメモリ29は、いわゆるNANDメモリからなり例えば2kバイトのブロック毎に記憶されているデータを1まとまりにして読み書きするように構成されており、その異なる複数の領域(バンク)には、複数(本実施形態では2つ)のLinuxプログラムL1およびL2がそれぞれ格納されている。
そして、本実施形態においては、複数のLinuxプログラムL1およびL2における一方のLinuxプログラムが新しいプログラムに更新(バージョンアップ)されている。
次に、図2を参照して、フラッシュメモリ29に記憶されているLinuxプログラムL1およびL2の具体的な内容をそれぞれの格納領域毎に説明する。
図2に示すように、フラッシュメモリ29のブートローダ領域101(アドレス#1〜#2までの領域)には、Linuxプログラムブート用のブートローダが記憶されている。このブートローダ領域101は、システム1全体がリセットされたときに例えばMIPSアーキテクチャのプログラムカウンタにより指示されている領域であり、システム1(CPU17)起動時にブートローダが最初にメインメモリ25に転送されるようになっている。
LinuxプログラムL1のカーネルAのバージョン情報(その新旧を識別するための情報)を含むヘッダ情報は、フラッシュメモリ29のアドレス#2〜#3までの領域(第1のヘッダバンク領域)に記憶されている。
フラッシュメモリ29のカーネルA領域102(アドレス#3〜#4までの領域:第1のカーネルバンク領域)には、LinuxプログラムL1のカーネルAが記憶されており、このカーネルAは、メインメモリ25に転送されたブートローダに従ったCPU17の処理により、メインメモリ25に転送される。このカーネルAには、そのカーネル作成時にinitrdと呼ばれるファイルシステム認識用(マウント用)プログラムが内蔵されている。なお、CPU17の処理は、必要に応じてキャッシュコントローラ19、DRAMコントローラ23の処理も含むが、単にCPUの処理として説明する。
LinuxプログラムL2のカーネルBのヘッダ情報は、フラッシュメモリ29のアドレス#4〜#5までの領域(第2のヘッダバンク領域)に記憶されている。
フラッシュメモリ29のカーネルB領域103(アドレス#5〜#6までの領域:第2のカーネルバンク領域)には、LinuxプログラムL2のカーネルBが記憶されており、このカーネルBは、メインメモリ25に転送されたブートローダに従ったCPU17の処理により、メインメモリ25に転送される。このカーネルBにも、そのカーネル作成時にinitrdと呼ばれるファイルシステム認識用(マウント用)プログラムが内蔵されている。
フラッシュメモリ29のユーザランドA領域104(アドレス#6〜#7までの領域:第1のユーザバンク領域)には、LinuxプログラムL1のカーネルAにリンクされたファイルシステムであるユーザランドAが記憶されている。このユーザランドAは、カーネルの処理(カーネルに従ったCPU17の処理)によりメインメモリ25に転送されるものではなく、カーネルの処理によりマウントまたはアンマウントされる。
フラッシュメモリ29のユーザランドB領域105(アドレス#7〜#8までの領域:第2のユーザバンク領域)には、LinuxプログラムL2のカーネルBにリンクされたファイルシステムであるユーザランドBが記憶されている。このユーザランドBは、カーネルの処理(カーネルに従ったCPU17の処理)によりメインメモリ25に転送されるものではなく、カーネルの処理によりマウントまたはアンマウントされる。
ユーザランドAおよびユーザランドBには、バージョン情報としてのバージョンファイル(version_file)がそれぞれ配置されており、このバージョンファイルは、カーネルのバージョン情報と同様に、対応するカーネルを含むLinuxプログラムが更新される毎に、その更新状態を示すように更新されるように構成されている。
本実施形態において、第1のLinuxプログラムL1(カーネルA、ユーザランドA)が格納される領域(第1のヘッダバンク領域、第1のカーネルバンク領域、第1のユーザバンク領域)を総称してバンクAと記載し、第2のLinuxプログラムL2(カーネルB、ユーザランドB)が格納される領域(第2のヘッダバンク領域、第2のカーネルバンク領域、第2のユーザバンク領域)を総称してバンクBと記載する。
フラッシュメモリ29のデータ領域(アドレス#8〜#9)には、起動したLinuxプログラムL1あるいはL2により利用可能な各種データが格納されている。
次に、本実施形態に係るLinuxプログラム起動システム1におけるCPU17のLinuxプログラム起動処理について、図3および図4を参照して説明する。
Linuxプログラム起動時において、フラッシュメモリ29のデータ領域(アドレス♯1〜アドレス♯2)に記憶されたブートローダがメインメモリ25にロードされ起動される。起動されたブートローダ(つまり、ブートローダに従ったCPU17)は、フラッシュメモリ29のデータ領域(アドレス♯2〜アドレス♯3)に記憶されたカーネルAのバージョン情報を含むヘッダ情報およびフラッシュメモリ29のデータ領域(アドレス♯4〜アドレス♯5)に記憶されたカーネルBのバージョン情報を含むヘッダ情報をそれぞれ読み出す。
続いて、ブートローダは、図3に示すように、ステップS301として、読み出したカーネルAおよびカーネルBそれぞれのヘッダ情報を比較して、例えば新しいバージョンのカーネルが格納されたバンクを有効なバンクとして判断する(ステップS301)。すなわち、LinuxプログラムL1が新しく更新されている場合には、カーネルAのバージョン情報がカーネルBのバージョン情報よりも新しいことを表す情報となっているため、バンクAが有効なバンクとして判断され、LinuxプログラムL2が新しく更新されている場合には、カーネルBのバージョン情報がカーネルAのバージョン情報よりも新しいことを表す情報となっているため、バンクBが有効なバンクとして判断される。
次いで、ステップS302において、ブートローダは、有効なカーネル(カーネルAおよびカーネルBのうちの何れか一方のカーネル)をメインメモリ25内にロードかつ展開し、このカーネルを起動して、この起動カーネル(カーネルコード)に制御をシフトする。
続いて、ステップS303において、起動カーネル(つまり、起動カーネルに従ったCPU17)は、起動カーネル内における初期ルートファイルシステム(initrd)における各種ドライバのロードを行うスクリプトを起動する。
次いで、ステップS304において、起動カーネルは、initrdに従って、フラッシュメモリ29に記憶されているユーザランドAおよびユーザランドBを共にマウント、すなわち、起動カーネルのルートディレクトリ(/)に対してユーザランドAおよびユーザランドBを接続して階層化することにより、起動カーネルから認識(アクセス)できるファイルシステムに設定する。
具体的に説明すれば、図4に示すように、起動カーネルは、フラッシュメモリ29におけるユーザランドAの格納領域を表すディレクトリ(/dev/fla1)およびユーザランドBの格納領域を表すディレクトリ(/dev/fla2)を、起動カーネルのルートディレクトリ(/)のサブディレクトリ(/mnt/roota)および(/mnt/rootb)にそれぞれ接続して起動カーネルAのルートディレクトリに対して階層化(マウント)する。
この結果、起動カーネルは、フラッシュメモリ29に搭載されたそれぞれのファイルシステムAおよびB内のファイルを参照可能になる。
すなわち、上述したように、ユーザランドAおよびB内にそれぞれ配置されたバージョンファイル(version_file)は、起動カーネルから参照可能になる。
次いで、ステップS305において、起動カーネルは、マウントされたユーザランドAおよびユーザランドBからバージョンファイル(version_file)を読み出し、読み出したユーザランドAのバージョンファイル(以下、バージョンファイルAと記載する)と読み出したユーザランドBのバージョンファイル(以下、バージョンファイルBと記載する)とを比較する。
すなわち、起動カーネルは、ユーザランドAのバージョンファイルAとユーザランドBのバージョンファイルBとを比較し、起動カーネル自体のバージョン情報に対応するバージョンファイルを有するユーザランドを有効なユーザランドとして判断する(ステップS306、ステップS307)。
例えば、LinuxプログラムL1が新しいプログラムとして更新されている場合、起動カーネルはカーネルAであり、かつユーザランドAのバージョンファイルAが起動カーネルAのバージョン情報に対応し且つバージョンファイルBよりも新しいため、ステップS306の判断はYESとなり、起動カーネルは、ステップS307に進む。
このステップS307において、起動カーネルは、ユーザランドAをルートファイルシステムとしてマウントし、次のステップS308において、ユーザランドBをアンマウント、すなわち、起動カーネルのルートディレクトリ(/)からユーザランドBを切り離すことにより、起動カーネルから認識不可に設定する。
一方、例えば、LinuxプログラムL2が新しいプログラムとして更新されている場合、起動カーネルはカーネルBであり、かつユーザランドBのバージョンファイルBが起動カーネルBのバージョン情報に対応し且つバージョンファイルAよりも新しいため、ステップS306の判断はNO、ステップS307の判断はYESとなり、起動カーネルは、ステップS309に進む。
このステップS309において、起動カーネルは、ユーザランドBをルートファイルシステムとしてマウントし、次のステップS310において、ユーザランドAをアンマウントする。
なお、ステップS309において、万が一何れのユーザランドAおよびBも有効として判断できない場合には、エラーが発生したものとしてLinuxプログラム起動処理を終了する。
このようにして、起動カーネルにリンクされたユーザランドのマウントが完了されると、起動カーネルは、設定に従い通常の起動処理を続ける。
以上述べたように、本実施形態によれば、複数のLinuxプログラムL1およびL2がフラッシュメモリ29の複数のバンクにそれぞれ格納されている場合でも、起動カーネルにリンクされたユーザランドを自動的に判別してルートファイルシステムとしてマウントすることができる。
この結果、Linuxプログラム組み込み機器において2バンク方式を用いて一方のバンクに記録されたLinuxプログラムを更新した場合においても、更新後の起動カーネルがリンクされたルートファイルシステム(ユーザランド)を認識できない状態に陥ることを確実に防止することができ、Linuxプログラムの起動処理の信頼性を向上させることができる。
なお、本実施形態においては、Linuxプログラムを格納する記録媒体としてフラッシュメモリとしたが、書き換え可能な他の記録媒体であってもよい。
また、組み込み機器に搭載されるマザーボードとして、図1に示す構成を示したが、本発明はこの構成に限定されるものではなく、図2〜図4で説明した内容を実現できるコンピュータハードウェア構成であればよい。
さらに、本実施形態では、フラッシュメモリに記録されるLinuxプログラムの冗長構成として、2つのLinuxプログラムをフラッシュメモリの2つのバンクそれぞれに格納する2バンク構成としたが、本発明はこの構成に限定されるものではなく、3つ以上のLinuxプログラムをフラッシュメモリの3つ以上のバンクそれぞれに格納する冗長構成としてもよい。
そして、本実施形態では、新しいバージョンのLinuxプログラムを有効なプログラムとして起動するように構成したが、本発明はこのように限定されるものではなく、古いバージョンのLinuxプログラムを有効なプログラムとして起動するように構成してもよい。
本発明の実施の形態に係わる組み込み機器に搭載されたLinuxプログラム起動システムを含むマザーボードの概略構成を示す概略ブロック図。 本発明の実施の形態に係るLinuxプログラム起動システムにおけるLinuxプログラムを格納するフラッシュメモリのメモリマップを概略的に示す図である。 本発明の実施の形態に係るLinuxプログラム起動システムの起動処理の一例を示す概略フローチャートである。 本発明の実施の形態に係わる起動カーネルによるユーザランドのマウント処理を具体的に説明するための図である。
符号の説明
11 マザーボード
13 ホストバス
15 PCIバス
17 CPU
21 外部キャッシュメモリ
25 メインメモリ
27 フラッシュメモリコントローラ
29 フラッシュメモリ
31 CPU/PCIブリッジ
33 PCI拡張スロット
35 LANカード
♯1〜♯2 ブートローダ格納領域
♯2〜♯3 第1のヘッダバンク領域
♯3〜♯4 第1のカーネルバンク領域
♯4〜♯5 第2のヘッダバンク領域
♯5〜♯6 第2のカーネルバンク領域
♯6〜♯7 第1のユーザバンク領域
♯7〜♯8 第2のユーザバンク領域

Claims (1)

  1. カーネルおよび該カーネルにそれぞれリンクし且つ新旧識別用のバージョン情報をそれぞれ有する複数のファイルシステムを含む複数のLinuxプログラムを、書き換え可能な記録媒体のそれぞれの格納領域に格納しておき、複数のLinuxプログラムの内の何れか1つを起動させるためのLinuxプログラム起動システムであって、
    予め起動された前記複数のカーネルの内の何れか1つの起動カーネルに基づいて、前記複数のファイルシステムそれぞれの格納領域を該起動カーネルが認識できる領域としてそれぞれマウントする手段と、
    マウントされたそれぞれの格納領域に格納されている複数のファイルシステムそれぞれのバージョン情報を参照して該複数のファイルシステムの中から前記起動カーネルにリンクするファイルシステムを判別する手段と、
    を備えたことを特徴とするLinuxプログラム起動システム。

JP2004294951A 2004-10-07 2004-10-07 Linuxプログラム起動システム Pending JP2006107248A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004294951A JP2006107248A (ja) 2004-10-07 2004-10-07 Linuxプログラム起動システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004294951A JP2006107248A (ja) 2004-10-07 2004-10-07 Linuxプログラム起動システム

Publications (1)

Publication Number Publication Date
JP2006107248A true JP2006107248A (ja) 2006-04-20

Family

ID=36376902

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004294951A Pending JP2006107248A (ja) 2004-10-07 2004-10-07 Linuxプログラム起動システム

Country Status (1)

Country Link
JP (1) JP2006107248A (ja)

Similar Documents

Publication Publication Date Title
US6948165B1 (en) Method for installing an application program, to be executed during each bootload of a computer system for presenting a user with content options prior to conventional system startup presentation, without requiring a user's participation to install the program
US6594723B1 (en) Method and apparatus for updating data in nonvolatile memory
US7702894B2 (en) System and method for loading programs from HDD independent of operating system
JP4668416B2 (ja) ブート・ブロックへの書き込みアクセスを可能にする時のブート・ブロック・コードの保護
US6205558B1 (en) Recovery of file systems after modification failure
KR101602360B1 (ko) 시스템 고속 부팅 장치 및 방법
US6807630B2 (en) Method for fast reinitialization wherein a saved system image of an operating system is transferred into a primary memory from a secondary memory
JP4810172B2 (ja) 制御装置及びバージョンアップ方法並びにプログラム
US20140325496A1 (en) Apparatus and method for firmware upgrade using usb
KR20010006749A (ko) 설치된 모든 대용량 저장 장치들의 리부트/파워 온리컨피그레이션을 최종 사용한 컨피그레이션과 동일하게하도록 각각의 대용량 저장 장치의 비휘발성 메모리에시스템 레벨 대용량 저장 컨피그레이션 데이터를 저장하는장치 및 방법
JP2006286001A (ja) オペレーティングシステムの回復を目的としたusbメモリデバイスの利用
TW200847021A (en) Automatic backup, restore and update BIOS computer system
US20080270685A1 (en) Information processing apparatus and firmware updating method
US20040221147A1 (en) Method for updating BIOS
US6523103B2 (en) Disablement of a write filter stored on a write-protected partition
US8291206B2 (en) Method for booting computer system
JPWO2004081791A1 (ja) 仮想計算機システム、仮想計算機システムにおけるファームウェアアップデート方法
JP4735765B2 (ja) Linuxプログラム起動システム
CN100498710C (zh) 自储存装置上读取选择只读存储器程序代码的方法
US7234039B1 (en) Method, system, and apparatus for determining the physical memory address of an allocated and locked memory buffer
KR20060067076A (ko) 이중화 프로세서 시스템에서의 프로그램 로딩 방법 및 그장치
TWI754221B (zh) 軟體存留性關閉技術
JP2006107248A (ja) Linuxプログラム起動システム
CN115129384A (zh) 一种电子设备的启动程序的运行方法和电子设备
JP2006107249A (ja) Linuxプログラム起動システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061227

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090914

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100223

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100622