分享

嵌入开发网--下载中心-在ARMulator中移植uClinux(3)

 danydany_ok 2011-03-30

Distribution Configuration

We need to configure compilation options for kernel and user applications.

[root@hyoklinux uClinux-dist]# make menuconfig

At the first Main Menu, Select the “Vendor/Product Selection”.
And Select “GDB” for the “Vendor”, and “ARMulator” for the “GDB Products” like :

--- Select the Vendor you wish to target
(GDB) Vendor
--- Select the Product you wish to target
(ARMulator) GDB Products

You can go back to main menu with 'esc' key or “Exit” button.

At the Main Menu, Select the “Kernel/Library/Defaults Selection”.
And Select “linux-2.6.x” for the “Kernel Version”, and “uClibc” for the “Libc version”.
And toggle the whole below menus :

(linux-2.6.x) Kernel Version
(uClibc) Libc Version
[*] Default all settings (lose changes) (NEW)
[*] Customize Kernel Settings (NEW)
[*] Customize Vendor/User Settings (NEW)
[*] Update Default Vendor Settings (NEW)
You can go back to main menu with 'esc' key or “Exit” button.
With the first “default all settings”, the configuration files in the vendors directory is loaded. And with the second “Customize kernel settings”, we can edit the kernel configuration. The third “Customize Vendor/User settings” is for configuration of applications and libraries configuration for making the romfs.img which will be the rootfs of the kernel. With the final “Update Default Vendor settings”, your changes on the kernel and user application configuration will be saved on the vendors/product directory.

You can go back to main menu with 'esc' key or “Exit” button, and do it again for save dialog. And save it!

Kernel Configuration

If you followed the steps in “confirm the configuration files” above, your kernel should have been configured.

However, we need to change the initial ramdisk size. Because the romfs.img size with the default applications are about 771KB. In “General setup” menu, there is “Default kernel command string”. Change this to:

root=/dev/ram0 initrd=0x01300000,800K keepinitrd

You can go back to main menu with 'esc' key or “Exit” button, and do again for save dialog. And save it!

Application/library Configuration

On this menu, we don't need fix anything for now.

Look around the configurations and simply “exit” and save.

Make

We are ready to make the whole bunch. Simply type:

[root@hyoklinux uClinux-dist]# make

For linux-2.4.x, you should do “make dep” before “make”. But with linux-2.6.x, you don't need to.

It will compile the whole kernel and uclibc, user applications, and make the romfs.img.

The results

You should get the files in the image directory like:

[root@hyoklinux uClinux-dist]# ls -al images

total 3036
drwxr-xr-x 2 root root 4096 Apr 27 22:13 .
drwxr-xr-x 17 1000 users 4096 Apr 27 22:13 ..
-rw-r--r-- 1 root root 1540272 Apr 27 22:13 image.bin
-rwxr-xr-x 1 root root 45912 Apr 27 22:13 linux.data
-rwxr-xr-x 1 root root 704856 Apr 27 22:13 linux.text
-rw-r--r-- 1 root root 789504 Apr 27 22:13 romfs.img

[root@hyoklinux uClinux-dist]# ls -al linux-2.6.x/linux

-rwxr-xr-x 2 root root 15499433 Apr 27 22:11 linux-2.6.x/linux

If you see all the files, you've the whole kernel and rootfs image.

Let's play with it with ARMulator!

ARMulator installation

We need another directory to compile the GDB/ARMulator. However, this time, I'll install it in the uClinux-dist directory for temporary usage.

[root@hyoklinux uClinux-dist]# tar -jxvf ~/incoming/gdb-5.0.tar.bz2

And patch it!

[root@hyoklinux uClinux-dist]# gzip -dc ~/incoming/gdb-5.0-uclinux-armulator-20021127.patch.gz | patch -p0

And another one.

[root@hyoklinux uClinux-dist]# gzip -dc ~/incoming/gdb-5.0-uclinux-armulator-ramdisk-20040412.patch.gz | patch -p0

Okay, the codes are ready for compilation. Let's make it.

[root@hyoklinux uClinux-dist]# cd gdb-5.0/
[root@hyoklinux gdb-5.0]# ./configure –target=arm-elf
[root@hyoklinux gdb-5.0]# make
[root@hyoklinux gdb-5.0]# make install (be the root before this)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多