kboot

移动设备启动加载器
授权协议 未知
开发语言 C/C++ 汇编
所属分类 其他开源、 嵌入式操作系统
软件类型 开源软件
地区 不详
投 递 者 孙绍辉
操作系统 嵌入式
开源组织
适用人群 未知
 软件概览

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中做到繁瑣的事情。

  • //! @brief Bootloader global context data. //! //! @ingroup context bootloader_context_t g_bootloaderContext = {.memoryInterface = &g_memoryInterface, .memo

 相关资料
  • 为了更好地为移动设备服务,HTML 5推出了一系列针对移动设备的API。 Viewport Geolocation API getCurrentPosition方法 watchPosition方法和clearWatch方法 Vibration API Luminosity API Orientation API 参考链接 Viewport Viewport指的是网页的显示区域,也就是不借助滚动条的

  • 我有一个基于Bootstrap ver2 css框架的响应性WP主题。一切都可以在桌面上运行:如果测试的大小不同(针对不同的媒体查询),则没有问题。但如果我在电话上测试,则不会加载媒体查询。有什么问题吗。 网站链接:http://moldovan.szanto-zoltan.com/ p、 s:标题包含此项以适合设备宽度

  • 1.1.3.为移动设备而设计 Android是为移动设备而设计的系统。Android的开发团队在设计时,会对移动设备本身的一些限制做些评估,哪些可以在可见的未来得到改善,而哪些会长期不变。比如移动设备多是使用蓄电池,而电池的续航能力可能在几年内并不能得到多大的改善。再比如,移动设备受其体积所限,它们只能拥有较少的内存,CPU的速度也要打个折扣。 在设计伊始即考虑这些限制,并将其贯彻始终。这对最终用

  • 使用 Chrome 开发者工具的Device Mode(设备模式)来构建移动优先,完全响应式的网站。了解如何使用它来模拟各种设备及其功能。警告: `Device Mode`(设备模式)可以近似估计您的网站在移动设备上的显示效果,但要获得完整的状况,你应该总是在真实的设备上测试你的网站。例如,DevTools无法模拟移动设备的性能特点。 简而言之 在不同的屏幕尺寸和分辨率,包括Retina显示屏,上

  • 我正在用Hubot框架开发一个应用程序,使用Heroku。我在Heroku上设置了一些配置变量,当我部署代码时,我的引用可以正常工作。

  • 本文向大家介绍JS判断移动端访问设备并加载对应CSS样式,包括了JS判断移动端访问设备并加载对应CSS样式的使用技巧和注意事项,需要的朋友参考一下 JS判断不同web访问环境,主要针对移动设备,提供相对应的解析方案(判断设备代码直接copy腾讯网的) 加载页面

  • 问题内容: 听起来应该在整个Internet上都应该有一个解决方案,但是我不确定为什么找不到它。我想在移动设备上禁用水平滚动。基本上试图做到这一点: 这可能是相关的信息:我的头部标签中也有此信息,因为我也不希望用户能够缩放: 谢谢 问题答案: 相对职位很重要,我只是偶然发现了这一点。没有它就无法使它工作。

  • 我的目标是有一个移动网站(手机和平板电脑)和一个响应桌面网站,建立在Wordpress上。我想最简单的方法来实现傻瓜证明设备检测。 移动网站将会有很多只对触摸设备有益的功能,并将为手机和平板电脑定制设计。桌面网站将完全不同(有相同的页面,但有额外的内容),并将充分响应,以防任何设备逃过检测。 我有一个可以检测触摸设备并重定向到另一个页面的衬里,但它似乎太简单了,不是一个简单的设备检测方法。这是多么