Hot Search : Source embeded web remote control p2p game More...
Location : Home Search - kernel building
Search - kernel building - List

 sigma smp8634/8635 toolchain rootfs building source.

=================

Readme.txt

=================

 

This is the Sigma Designs customization of the root file system for the

SMP86xx family of chips.

 

This package is of course heavily depending on the toolchain and kernel

packages.

 

Quick HOW-TO

============

a) You need to have a working toolchain package. Once you have built your 

   toolchain, be sure to source toolchain-path.env. This is required for you to

   be able to build the rootfs package.

b) Untar the rootfs package.

c) First, configure your root file system: 'make menuconfig'. All the options 

   in the configuration menus have detailed help. Once you are satisfied with

   your choice of options, exit and save the configuration.

d) If you are using the toolchain composed of gcc 3.4.2, binutils 2.15.91.0.2,

   and uClibc 0.9.27 (defined in the toolchain package) then you must select

   Busybox 1.00 from the 'Package Selection for the target --->' menu.

   If on the other hand you are using the toolchain composed of gcc 4.0.4,

   binutils 2.17, and uClibc 0.9.28.3 then you must select Busybox 1.5 from

   the 'Package Selection for the target --->' menu.

e) If you chose to customize your root file system (option 'customize' in

   submenu 'Package Selection for the target'), be sure to prepare your custom

   files now.

f) Run 'make' to produce your root file system.

 

IMPORTANT NOTE: as of this release, the only supported option in the 'Target 

Options' menu is 'cramfs root filesystem for the target device' (with all its

suboptions). Any other option is currently unsupported and some are known to

not work.

 

Once you are through with step e), your root file system is available in the

main directory of the package as 'root_fs_mipsel.cramfs'.

 

Note about the integration with the toolchain and the kernel source packages

============================================================================

The rootfs package is now integrated with the toolchain package and the 

kernel source package and is able to interact with them in the following

ways:

 

 a) it can grab the necessary runtime libraries from the toolchain package.

 b) it can receive the kernel modules and support files from the kernel source

    package.

 c) the kernel source package can use the produced rootfs image for its initial

    RAM disk.

 

For interaction a) to take place, the SMP86XX_TOOLCHAIN_PATH environment 

variable must be defined and it must point to the main directory of the 

produced toolchain. The easiest way to achieve that is by sourcing the

'toolchain-path.env' environment file after it is produced at the end of the

toolchain production.

 

Note that defining SMP86XX_TOOLCHAIN_PATH is not optional. The build will not

go through unless the environment variable is defined and points to a correct

location. This is because, even if the build went through, the resulting root

file system would be unusable as it would not provide *any* run time library.

 

For interactions b) and c) to take place, the SMP86XX_ROOTFS_PATH environment

variable must be defined and must point to the main directory of the rootfs

package. The easiest way to achieve that is by sourcing the 'rootfs-path.env'

environment file after it is produced, right after your run 'make' or 

'make menuconfig' for the first time.

 

When SMP86XX_ROOTFS_PATH is defined and points to a valid location, the kernel

source package is able to:

 

 b) install its modules to the correct location under the customization 

    directory ('package/customize/source') in the rootfs package. In order to

    then make sure the modules end up in the produced rootfs image, you must

    select the 'customize' option under the 'Package Selection for the target'

    menu in 'make menuconfig'.

 c) grab the produced rootfs image (root_fs_mipsel.cramfs) and use it for its

    initial RAM disk.

 

Thus, in order to produce a rootfs holding the kernel modules and use it as the

kernel initial RAM disk, you need to go through the following steps in order

(note: this is convoluted):

 1) optionally build the toolchain (or use an existing one, more recent than

    2.6.90.0)

 2) source toolchain-path.env in the toolchain package directory

 3) configure the rootfs package with the 'customize' option on in the

    'Package Selection for the target' menu

 4) source 'rootfs-path.env' in the rootfs package directory

 5) configure the kernel, review what is configured as modules, 'make dep'

 6) 'make modules' in the kernel source directory

 7) the 'modules_install' target for the kernel needs that the system map be

    already produced. In order to achieve that, build a first version of the

    kernel: 'make vmlinux'

 8) 'make modules_install' in the kernel source directory. The modules are now

    installed in the rootfs package customization directory.

 9) 'make' in the rootfs package directory. You have now produced a rootfs 

    image holding the kernel modules.

10) 'make' in the kernel source directory. You have now produced a linux ZBF

    image with an initrd holding the kernel modules.

    

Coming features

===============

N/A

 

Troubleshooting

===============

a) when building the cramfs utility tool, the compiler complains that it can't

   find 'zlib.h' or '-lz'.

 

   You need to have the development version of zlib installed on your system.

   How to do that depends on your distribution.

 

 


Date : 2008-12-27 Size : 228.76kb User : mattli001

笔者使用的是华恒公司提供的基于at91rm9200的开发板,公司提供的开发环境使用Linux内核是2.4, 交叉编译环境也比较老,由于笔者用到的驱动对2.4内核支持不好(尤其在arm上)。笔者决定自己移植2.6内核到该款开发板上,目前工作已经基本完成。本部分主要介绍了jffs2文件系统的建立过程。-author used the huaheng company based at91rm9200 development boards, provide development environment is the use of Linux kernel 2.4, cross-compiler environment is also a veteran, As I drive right to use the 2.4 kernel support well (especially in the arm.). I decided to transplant themselves to the 2.6 kernel development board which, at present the work has been basically completed. The main part of jffs2 file system building process.
Date : 2025-12-16 Size : 76kb User : shixi

文章全面的介绍如何运用各种工具以及代码构建一个完整的自定义嵌入式系统 -Building Embedded Linux Systems shows you how to design and build your own embedded systems using Linux® as the kernel and freely available open source tools as the framework
Date : 2025-12-16 Size : 1.22mb User : huadong
CodeBus is one of the largest source code repositories on the Internet!
Contact us :
1999-2046 CodeBus All Rights Reserved.