Welcome![Sign In][Sign Up]
Location:
Search - uclibc.t

Search list

[Embeded Linuxsmp86xx_rootfs.tar.bz2

Description:

 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.

 

 


Platform: | Size: 234248 | Author: mattli001 | Hits:

[Embeded LinuxuClibc-0.9.27.tar

Description: 一个嵌入式C库,专门为uClinux设计,由glibc精简而来。-an embedded C library, designed specifically for uClinux by streamlining from glibc.
Platform: | Size: 2309120 | Author: | Hits:

CodeBus www.codebus.net