当前位置:  软件>C/C++软件

移动设备启动加载器 kboot

    来源:    发布时间:2015-01-24

    本文导语:  kboot本質上是個小型Linux作業系統,但功能卻是個boot loader,何解?kboot本身提供簡單的系統工具,支援檔案與網路操作,可自外界取得kernel image或其他檔案,進而kboot利用了kexec的機制,讓Linux kernel可快速重新啟動,於是具備...

移动设备启动加载器 kboot[图片]

kboot本質上是個小型Linux作業系統,但功能卻是個boot loader,何解?kboot本身提供簡單的系統工具,支援檔案與網路操作,可自外界取得kernel image或其他檔案,進而kboot利用了kexec的機制,讓Linux kernel可快速重新啟動,於是具備boot loader的功能。

kexec是一組新的系統呼叫,包含在2.6 kernel中 (視支援架構而定),搭配其user-space的工具kexec-tools,則可在既有的Linux kernel (支援kexec系統呼叫) 中載入其他的kernel (不需要有kexec支援),並給予必要之參數或檔案,如kernel command line與initrd等,這方面的資訊可參考以下文章:

目前,kexec的硬體支援不限定x86,包含ARM與PPC都已有patch現身。那麼,如此的機制到底有什麼價值呢?以往的boot程序是很單純,清一色就是boot loader載入kernel,然後跳到user-mode或者是特定的工作,但現在的系統設計往往不是單一硬體、單一架構就可勝任的,諸如RAID或高負載的備援系統設計,都需要相當繁複的規劃,很顯然就非普通的boot loader可以應付,也很難修改Etherboot去圓滿符合需求,這時候,我們聯想到Linux,搭配到上述的kexec,不就是最美妙的boot loader嗎?在載入新的kernel之前,我們可作任何Linux能做的事情,像是載入firmware並進行設定、掛載NFS、掛載NTFS (透過Linux-NTFS)、... 等等,只要能提供新kernel給kexec-tools工具作載入,最後再透過kexec系統呼叫,就可完成這個「功能強大的boot loader」的終極任務。

kboot就是這樣的概念驗證實做品,使用的情境相當多元。舉例來說,kboot想進行遠端開機 (Diskless),但只有Wireless LAN或3G network可用,這時候就掛載對應的kernel module (包附在kboot中),然後透過user-space的應用程式進行設定,等待連線建立並確保檔案擷取成功,接著就在裝置上執行自遠端取得核心。另一種情境也很有趣,以往Linux distribution都得作通用性與最佳化的妥協,前者往往得將系統劃分諸多核心模組與大量的設定程式,後者往往得針對硬體作多次嘗試,那麼,透過kboot可先啟動generic kernel,然後進行硬體偵測,參考所需的硬體與最佳化組態,重新編譯核心,最後將該核心載入,而這個過程可透過一些設計得當的效能評估工具,一次又一次的重複自動微調,有別於以往的boot loader。關於kboot的應用,可參考以下簡報:

後者給予我們極大的想像空間,當我們在新的硬體進行核心與週邊移植時,的確可先把能運作的最低限度核心置入kboot,然後再從不同的開發分支取得新核心並啟動,而這些過程都是透明的,而且不需要燒錄到傳統儲存裝置中,只要資源允許,可在RAM中做到繁瑣的事情。


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 怎么让手机有“可移动设备”和“光盘”两个分区?
  • linux下怎样使用usb移动存储设备?
  • 移动设备开发平台 Maemo
  • 移动设备开发框架 Joshfire
  • 在linux下面如何访问SCSI移动设备?
  • 移动设备上的OpenGL OpenGL ES
  • js判断是否是移动设备登陆网页的简单方法
  • PHP检测移动设备类mobile detection使用实例
  • php判断移动设备来源方法示例
  • JSP判断移动设备的正则
  • 想将系统装入移动硬盘但是安装过程中找不到移动硬盘
  • 求一批量移动文件的liunx指令,按时间倒序移动10W条
  • 如何移动整体移动大块内存,用哪个函数???
  • 开源移动CMS框架 墨颀移动CMS
  • vim中一行内容太多折行,用移动命令却无法移动到中间一行
  • Jquery创建层显示标题和内容且随鼠标移动而移动
  • LINUX 如何移动光标
  • 高手看过来:请教如何在移动硬盘上安装Linux?
  • 移动硬盘使用问题求解?百分相赠!!
  • 移动端滑动JS库 swipejs
  • 如何将Ubuntu安装到可移动硬盘上
  • linux系统如何向移动硬盘中导数据
  • gtk窗口移动后屏幕锁定且无响应
  • solaris下如何格式化移动硬盘
  • 移动购物车应用 MobileCartly
  • 如何用mv移动多个文件
  • linux与移动硬盘?
  • centos 无法挂载 移动硬盘
  • 已经安装到移动硬盘上的ubuntu怎样在其它电脑上使用
  • 电子商务移动客户端 ECMobile


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3