Building LinuxBIOS: Difference between revisions

From OLPC
Jump to navigation Jump to search
No edit summary
m (Reverted edits by Rizwan1218 (Talk) to last revision by JordanCrouse)
 
(6 intermediate revisions by 6 users not shown)
Line 1: Line 1:
<noinclude>{{Translations}}</noinclude>
[http://www.global-jipiao.cn/ 机票]
{{deprecated}}
[http://www.bolea.com/x2.htm 运动粘度]
[http://www.bolea.com/ 倾点凝点]
[http://www.zbgb.com/ 股骨头坏死]
[http://tejiajipiao.cn.35so.cn/ 特价机票]
[http://www.bjlxjy.com/ 集团电话]
[http://www.bhjj.net/ 北京家教]
[http://www.sj83.com/google.htm google排名]
[http://www.global-jipiao.cn/ 特价机票]
[http://www.beijingyizheng.com/zhongkongban/ 塑料周转箱]
[http://www.njjghg.com/user/jghg/index_cn.asp 偶联剂]
[http://www.bawwgt.com/ powerleveling]


== Warnings and Disclaimers ==
[http://www.jingeyuqi.com.cn/index.asp 婚庆公司]
[http://www.jingeyuqi.com.cn/index.asp 演出公司]
[http://www.jingeyuqi.com.cn/index.asp 广告公司]
[http://www.jingeyuqi.com.cn/product.asp 公关公司]
[http://www.jingeyuqi.com.cn/intro.asp 北京婚庆公司]
[http://www.jingeyuqi.com.cn/yanchu.asp 北京演出公司]
[http://www.jingeyuqi.com.cn/yewu.asp 礼仪庆典公司]
[http://www.jingeyuqi.com.cn/index.asp 文化传播有限公司]
[http://www.bj-huaao.com/ 机票]
[http://www.98689.net/ LED显示屏]
[http://www.baida.org/ google排名]
[http://www.baida.org/google.html google左侧排名]
[http://www.baida.org/banjia/ 搬家]
[http://www.baida.org/banjia/ 北京搬家]


'''These instructions are new and subject to change. No assurance is made that this won't permanently harm your hardware. If you don't understand any of these steps, please stop and ask for clarification on the mailing lists or in IRC. You have now been officially warned.'''
[http://googleseo.cn.35so.cn/ google排名]
[http://googleseo.cn.35so.cn/ google左侧排名]
[http://www.baida.org/banjia/ 搬家公司]
[http://www.baida.org/banjia/ 北京搬家公司]
[http://www.wolaog.cn/company/hk_1.asp 注册香港公司]
[http://www.wolaog.cn/other/project.asp 香港公司注册]
[http://www.baida.org/zhucegongsi/ 公司注册]
[http://www.baida.org/zhucegongsi/ 注册公司]
[http://www.wolaog.cn/ 注册公司]
[http://www.52crystal.cn/ 搬家]


== Buildrom ==
[http://www.edoll.cn/about.htm 北京google左侧排名]
[http://www.global-jipiao.cn/guoneijipiao.htm 国内机票]
[http://www.edoll.cn/ google左侧排名]
[http://www.edoll.net.cn/ 网站设计]
[http://www.global-jipiao.cn/jipiaochaxun.htm 机票查询]
[http://www.global-jipiao.cn/dianzijipiao.htm 电子机票]
[http://www.cccstandard.com/ 废料]


During boot, LinuxBIOS loads a small payload that consists of a minimal kernel and an initramfs image. We refer to this payload as the "ROM image".
[http://googlepr.blog.china.alibaba.com/ google排名]
The ROM image is responsible for bringing up the system enough to try to load a full kernel from the NAND flash, a USB mass storage device, or the network.
[http://www.edoll.net.cn/about.htm 北京网站建设]
Buildrom is a small set of build scripts that facilitiates building the bootloader and ROM image (including the kernel and all the different utilities and scripts that make
[http://www.global-jipiao.cn/guojijipiao.htm 国际机票]
up the initramfs image). If you understand buildroot (from the uclibc team), then buildrom will look familiar - it is based on the same concept.
[http://www.baida.org/bbs/ 成人小说]
[http://www.edoll.cn/ 北京google排名]
[http://www.52crystal.cn/price.htm 搬家公司]
[http://hi.baidu.com/googlepk google排名]
[http://www.godabj.com/cn/product/detail.php?page=&id=15&subid=155 雷达物位计]
[http://ggrank.blog.ccidnet.com/ google排名]


Buildrom is a GNU Make based build system. Using a series of configuration files, the makefile will determine what packages need to be built. Each package is
[http://www.98689.net/front/index.jsp LED显示屏]
obtained from an upstream repository with wget and built locally on your machine. When all the packages have been built, the script pulls together all the binaries
[http://www.bjlxjy.com/jituandianhua2-1.htm 集团电话]
for the ROM image, and combines them into a .ELF file which is then used as the payload to build a LinuxBIOS ROM.
[http://www.bhjj.net/teacher/default.asp?st=1 北京家教]

[http://www.wolaog.cn/company/bvi_1.asp 注册BVI公司]
'''Update''' - buildrom now builds ROM images for the SPI flash by default. You don't need to change anything from the default configuration.
[http://www.wolaog.cn/company/main.asp 注册海外公司]

[http://www.bj-huaao.com/dzjp.htm 机票]
=== Getting buildrom ===
[http://blog.sina.com.cn/u/1258187562 google排名]

[http://www.52crystal.cn/jianjie.htm 搬家公司]
Buildrom is available from the OLPC GIT repository on [http://dev.laptop.org http://dev.laptop.org]. After installing git, run:
[http://www.52crystal.cn/fuwu.htm 北京搬家]

[http://www.52crystal.cn/jianjie.htm 北京搬家公司]
$ git clone git://dev.laptop.org/users/jcrouse/buildrom
[http://www.global-jipiao.cn/guangzhoujipiao.htm 广州机票]

[http://www.edoll.cn/problems.htm google排名]
This will make a copy of the tree in a folder called 'buildrom'. From time to time, you will want to make sure you are synced with the tree:
$ cd buildrom; git pull

=== Building the image ===

Buildrom requires the following tools on your development system to run:

* make
* gcc
* svn
* wget
* quilt
* perl

To build the default image, just type

$ make

You will notice that the system will start downloading packages from the web with wget, and compiling them. If you are behind a proxy, don't forget to set http_proxy
before starting.

$ export http_proxy=<proxyurl>:<proxyport>

Note that there is also one package (LinuxBIOS) that will be pulled down with SVN. If you have proxy worries, make sure your local SVN environment is correctly setup.

Buildrom already sets all the important flags and other settings to build the tools and libraries so they can be included into the ROM.
There are several configuration options you can play with once you are more familar with the system. Check ''Config.mk'' and read the comments.

=== Using the Image ===

When the system is done building, you will have three files in the deploy/ directory:

* bzImage - The minimal kernel that was built
* initrd - the gziped initramfs image
* olpc-payload.elf - ELF file that includes both the bzImage and the initrd. This is the payload that LinuxBIOS uses.

The most important deliverable is the 1MB ROM image:
* linuxbios.rom

== What Next? ==

* [[Flashing LinuxBIOS]]

* [[Recipes for buildrom and LinuxBIOS]]

* [[ROM Emulators for OLPC]]

* [[Building an SPI image for olpcflash]]

* [[Maintainer Notes]]

[[Category:Hardware]]
[[Category:Developers]]

Latest revision as of 20:32, 25 July 2013

  english | 한국어 HowTo [ID# 289636]  +/-  
Stop hand.png WARNING:
The content of this section is considered
DEPRECATED and OBSOLETE
It is preserved for historical or documenting reasons.

Warnings and Disclaimers

These instructions are new and subject to change. No assurance is made that this won't permanently harm your hardware. If you don't understand any of these steps, please stop and ask for clarification on the mailing lists or in IRC. You have now been officially warned.

Buildrom

During boot, LinuxBIOS loads a small payload that consists of a minimal kernel and an initramfs image. We refer to this payload as the "ROM image". The ROM image is responsible for bringing up the system enough to try to load a full kernel from the NAND flash, a USB mass storage device, or the network. Buildrom is a small set of build scripts that facilitiates building the bootloader and ROM image (including the kernel and all the different utilities and scripts that make up the initramfs image). If you understand buildroot (from the uclibc team), then buildrom will look familiar - it is based on the same concept.

Buildrom is a GNU Make based build system. Using a series of configuration files, the makefile will determine what packages need to be built. Each package is obtained from an upstream repository with wget and built locally on your machine. When all the packages have been built, the script pulls together all the binaries for the ROM image, and combines them into a .ELF file which is then used as the payload to build a LinuxBIOS ROM.

Update - buildrom now builds ROM images for the SPI flash by default. You don't need to change anything from the default configuration.

Getting buildrom

Buildrom is available from the OLPC GIT repository on http://dev.laptop.org. After installing git, run:

$ git clone git://dev.laptop.org/users/jcrouse/buildrom

This will make a copy of the tree in a folder called 'buildrom'. From time to time, you will want to make sure you are synced with the tree:

$ cd buildrom; git pull

Building the image

Buildrom requires the following tools on your development system to run:

  • make
  • gcc
  • svn
  • wget
  • quilt
  • perl

To build the default image, just type

 $ make

You will notice that the system will start downloading packages from the web with wget, and compiling them. If you are behind a proxy, don't forget to set http_proxy before starting.

 $ export http_proxy=<proxyurl>:<proxyport>

Note that there is also one package (LinuxBIOS) that will be pulled down with SVN. If you have proxy worries, make sure your local SVN environment is correctly setup.

Buildrom already sets all the important flags and other settings to build the tools and libraries so they can be included into the ROM. There are several configuration options you can play with once you are more familar with the system. Check Config.mk and read the comments.

Using the Image

When the system is done building, you will have three files in the deploy/ directory:

  • bzImage - The minimal kernel that was built
  • initrd - the gziped initramfs image
  • olpc-payload.elf - ELF file that includes both the bzImage and the initrd. This is the payload that LinuxBIOS uses.

The most important deliverable is the 1MB ROM image:

  • linuxbios.rom

What Next?