西游记86版百度云盘:嵌入开发网--下载中心-在ARMulator中移植uClinux(3)

来源:百度文库 编辑:九乡新闻网 时间:2024/05/05 03:30:01

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.
Withthe first “default all settings”, the configuration files in thevendors directory is loaded. And with the second “Customize kernelsettings”, we can edit the kernel configuration. The third “CustomizeVendor/User settings” is for configuration of applications and librariesconfiguration for making the romfs.img which will be the rootfs of thekernel. With the final “Update Default Vendor settings”, your changes onthe kernel and user application configuration will be saved on thevendors/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 theromfs.img size with the default applications are about 771KB. In“General setup” menu, there is “Default kernel command string”. Changethis 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, thistime, I'll install it in the uClinux-dist directory for temporaryusage.

[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)