ComputerInBook的博客
自我介绍
切换风格
订阅我的Blog
博客日历
文章归档...
最新发表...
博客统计...
网站链接...
资源
===========================================================
利用Windows的本地安全策略限制指定的IP访问服务器
===========================================================

其步骤如下:

1. 1. 从控制面板->管理工具->本地安全策略 打开本地安全策略窗口;

2. 2. 选择软件限制策略,地本地计算机,右键->创建IP安全策略,在常规页中输入

名称:限制指定的IP访问服务器

描述:限制指定的IP访问服务器

如图:

3. 3. 在规则页中点击添加,添加两条IP安全规则,首先添加允许的IP段或IP地址,例如我允许1P:10.234.108.16910.41.30.81和两个网段的IP10.42.62.*网段以及10.42.128.*网段,编辑规则,在IP筛选页中选择添加,在弹出的IP筛选器列表页中选择添加,弹出IP筛选器列表对话框,编辑充许的IPIP段,,如下:

其中*号部分添0,点击确定后回到编辑规则窗口,在IP筛选器列表中选中刚才新建的筛选器规则列表“允许”,切换到筛选器操作页,选中一条筛选器操作方式“许可”,如果没有刚新建一条筛选器操作,编辑属性时选择许可即可。如图

在以上窗口中点击确定回到规则窗口,则时允许的规则已建好。

4. 4. 同样在规则页中点击添加,在弹出窗口的IP筛选器列表窗口中选择添加,在弹出的IP筛选器列中对话框的名称中写为:禁止,描述为:禁止所有IP访问服务器,在筛选器列表添加一条禁止所有IP访问我的IP的规则,如下图显示:

点击确定回到筛选器列表,选中刚建的这条规则,切换到筛选器操作页,在筛选器操作中选择阻止,如果没有,新建一条,在安全措施中选择阻止即可。如图:

点击确定回到规则窗口,此时两条规则已建好,都勾选上,如图:

点击应用,关闭后回到IP安全策略列表,选中刚建的这条安全规则,右键选择指派,则安全策略生效,只有指定的IPIP段可以连接进来。如图


ComputerInBook 发表于:2011.07.03 20:33 ::分类: ( 一般分类 ) ::阅读:(185次) :: Permanent link :: 引用 (0)
===========================================================
S3C2410 LCD驱动的移植(基于linux-2.6.15.4内核)
===========================================================

在linux-2.6.15.4的内核代码中已经含有LCD屏的驱动代码,只需作少量的修改,把你的LCD屏的参数加入即可.以东华3.5LCD为例作说明.

1. 在内核配置中把以下选项选上:

Device Drivers->

Graphics support-> (除了VGA text console将其及其子项全选上)

2. 修改linux-2.6.15.4/arch/arm/mach-s3c2410/mach-smdk2410.c文件:

加入头文件:

#include<asm/arch-s3c2410/regs-lcd.h>
#include<asm/arch-s3c2410/fb.h>

static struct platform_device *smdk2410_devices[] __initdata = {
&s3c_device_usb,
&s3c_device_lcd, //加入这一句
&s3c_device_wdt,
&s3c_device_i2c,
&s3c_device_iis,
&s3c_device_nand,
};

//添加如下代码,这些参数要参考屏的手册,如果未写正确则屏不会有反应,这是关键,以下为东华LCD屏的参数配置.

static struct s3c2410fb_mach_info s3c2410_lcd_info __initdata = {
.fixed_syncs = 1,
.regs = {
.lcdcon1 = S3C2410_LCDCON1_TFT16BPP|S3C2410_LCDCON1_TFT|S3C2410_LCDCON1_CLKVAL(6),
.lcdcon2 = S3C2410_LCDCON2_VBPD(14)|S3C2410_LCDCON2_VFPD(11)|S3C2410_LCDCON2_VSPW(2)|
S3C2410_LCDCON2_LINEVAL(239),
.lcdcon3 = S3C2410_LCDCON3_HBPD(37)|S3C2410_LCDCON3_HFPD(15)|S3C2410_LCDCON3_HOZVAL(319),
.lcdcon4 = S3C2410_LCDCON4_MVAL(13)|S3C2410_LCDCON4_HSPW(13),
.lcdcon5 = S3C2410_LCDCON5_FRM565|S3C2410_LCDCON5_INVVLINE|S3C2410_LCDCON5_HWSWP|
S3C2410_LCDCON5_PWREN|S3C2410_LCDCON5_INVVFRAME|S3C2410_LCDCON5_INVVCLK,
},
.lpcsel = 0x0,
.gpccon = 0xaaaaaaaa,
.gpccon_mask = 0xffffffff,
.gpcup = 0xffffffff,
.gpcup_mask = 0xffffffff,
.gpdcon = 0xaaaaaaaa,
.gpdcon_mask = 0x0,
.gpdup = 0xffffffff,
.gpdup_mask = 0xffffffff,
.width = 320,
.height = 240,
.xres = {320,320,320},
.yres = {240,240,240},
.bpp = {16,16,16},

};

//定义初始化函数

static void __init smdk2410_init_lcd(void)
{
s3c24xx_fb_set_platdata(&s3c2410_lcd_info);
}

//将上面函数加入以下结构:

MACHINE_START(SMDK2410, "SMDK2410") /* @TODO: request a new identifier and switch
* to SMDK2410 */
/* Maintainer: Jonas Dietsche */
.phys_ram = S3C2410_SDRAM_PA,
.phys_io = S3C2410_PA_UART,
.io_pg_offst = (((u32)S3C24XX_VA_UART) >> 18) & 0xfffc,
.boot_params = S3C2410_SDRAM_PA + 0x100,
.fixup = smdk2410_fixup,
.map_io = smdk2410_map_io,
.init_irq = smdk2410_init_irq,
.timer = &s3c24xx_timer,
.init_machine = smdk2410_init_lcd,
MACHINE_END

//编译内核,系统启动后如果移植正确,则会在屏的左上角显示一个小企鹅的图标,如果不正确则存细查看一下参数配置。


ComputerInBook 发表于:2009.01.18 02:14 ::分类: ( 软件编程相关 ) ::阅读:(1035次) :: 评论 (0) :: 引用 (0)
===========================================================
移植minigui-1.6.10到s3c2410开发板
===========================================================

在移植minigui之前,要确保你屏的驱动已经能够正常使用,如果配置内核时选择了logo的应该可以在屏的左上角看到一个小企鹅.

基本上要移植以下几类资源:

1. zlib库

2. png库

3. jpeg库

4. libttf库

5. libminigui-1.6.10

6. libminigui-res-1.6.10

7. 制作含有minigui相关库与资源的文件系统

8. 配置Minigui.cfg文件

安装过程中可能遇到的一些问题.

待叙


ComputerInBook 发表于:2009.01.16 22:50 ::分类: ( 软件编程相关 ) ::阅读:(739次) :: 评论 (0) :: 引用 (0)
===========================================================
关于BusyBox动态编译的问题:
===========================================================

BusyBox-1.10.1为例:静态编译省去了找共享库的麻烦,但是运行自己写的程序极为不方便,也必须静态编译,最好还是编译成动态的.与静态编译相比,动态编译需注意以下几点:

1. BusyBox-1.10.1的配置中将如下选项勾上:

Busybox settings->

Build Options->

Build shared bosybox->

将如下两项去掉勾(不去掉编译通不过,具体愿因还未研究):

Produce a binary for each applet,linked against libbusybox.

Produce a additional busybox binary linked against libbusybox.

2. 在建立文件系统时将交叉编译器的lib库全部复制到文件系统的ib库中,一般可以运行起来,如果还差其它动态库,则找到后放在文件系统的lib库下即可.如我的4.0版本的交叉编译器lib库为../arm-9tdmi-linux-gnu/arm-9tdmi-linux-gnu/lib下面,复制到文件系统的lib目录中,并在etc目录下建立一个ld.so.conf配置文件,将动态库的路径加入其中,usr/local/lib,保存.然事在PC上对文件系统根目录运行配置命令:如根目录为netfs,则如下:

ldconfig –r netfs

之后在etc下生成一个ld.so.cache的文件,这样启动后即可加载动态编译的文件系统了,自己的编译的程序也不用静态编译了.
ComputerInBook 发表于:2009.01.16 22:25 ::分类: ( 软件编程相关 ) ::阅读:(790次) :: 评论 (0) :: 引用 (0)
===========================================================
NFS(网络文件系统)的制作
===========================================================

一、开发环境:

1.主机:FC4,装在VMWare Workstation下。

2.硬件:S3C2410开发板,网络接口DM900AE

3.文件系统:使用Busybox-1.10.1制作完成。

4.主机和开发板通过路由器相连。

二、配置过程:

1. 确保网卡驱动已经成功移植并编译到内核中,如果加载内核后路由器对应灯不亮则多半是网卡驱动移植不正确。

2. 编译内核的配置:在编译内核时,一定要选上网卡相关的驱动,选中网络支持,一定选上如下几项:

NetWorking下面:

NetWorking Support

NetWorking options

TCP/IP networking

  √IP:kernel level autoconfiguration

IP:DHCP support

IP:BOOTP support

IP:RARP support

Device Drivers

NetWorking Device Support

Ethernet(10 or 100Mbit)及其子项全勾上。

File Systems:

NFS file system support

Root file system on NFS

3. 主机nfs服务配置:

新建一个目录用于存放文件系统,如/home/Filter/netfs,root身份登录主机,编译/etc目录下的共享目录配置文件exports,加入共享路径,如下

/home/Filter/netfs 192.168.1.* (rw,sync,no_root_squash)

保存并退出。注意中间要隔空格,也可以按:桌面->系统设置->服务器设置->NFS图形化设置。

以上配置的意义是:允许IP地址为192.168.1.*网段的计算机以读写的方式

访问共享目录:/home/Filter/netnfssync:数据同步写入内存和磁盘。no_root_squash:NFS服务器共享目录用户的属性,如果用户是root,那么这个共享目录就具有root权限。

运行如下命令关掉防火墙:service iptables stop

如果没有安装NFS服务则先安装NFS服务,安装好后启动端口映射和NFS服务:

启动端口映射:./portmap restart (/etc/rc.d/init.d/目录)

启动NFS服务:./nfs restart (/etc/rc.d/init.d/目录)

通过本机测试:mount –t nfs 192.168.1.101:/home/Filter/netfs /mnt

如果能挂载上则配置正确,注意要是同一网段的IP,否则不能访问。

至此主机配置完成。

4. 网络连接的配置:通过虚拟机连接网络时要将网络设置为:

Bridged connected directly to the physical network。设置为其它模式似乎不能连接.

5.内核启动参数的配置:

noinitrd root=/dev/nfs rw init=/linuxrc nfsroot=192.168.1.101:/home/Filter/netfs console=ttySAC0,115200 ip=192.168.1.99:192.168.1.101:192.168.1.1:255.255.255.0 rootfstype=nfs mem=64M

说明:nfsroot=192.168.1.101 为主机IP:/home/Filter/netfs为上面配置的共享目录。 

ip=192.168.1.99:192.168.1.101:192.168.1.1:255.255.255.0

IP的配置按事下顺序:开发板IP:主机IP:路由器网关:子网掩码

以上配置中:

开发板IP: 192.168.1.99 这个IP在启动时会重新配置,随便写一个不影响配置。

主机IP: 192.168.1.101, 通过ifconfig查询即得。inet addr:192.168.1.101

网关IP:192.168.1.1 (路由器IP)

子网掩码: 255.255.255.0

6.将配置好的内核编译加载,将文件系统制作好放到共享目录,启动后如果配置正确,即可加载NFS文件系统。

7. 注意要关掉Windows的防火墙和其它防火墙。

以下为启动部分信息:

.....................

DM9000 ethernet driver V1.26 I/O: c4928300, VID: 90000a46

.....................................

enable_irq(19) unbalanced from c01afb7c

Sending DHCP and RARP requests .. OK

IP-Config: Got DHCP answer from 192.168.1.1, my address is 192.168.1.99

IP-Config: Complete:

device=eth0, addr=192.168.1.99, mask=255.255.255.0, gw=192.168.1.1,

host=192.168.1.99, domain=private, nis-domain=(none),

bootserver=192.168.1.1, rootserver=192.168.1.101, rootpath=

md: Autodetecting RAID arrays.

md: autorun ...

md: ... autorun DONE.

Looking up port of RPC 100003/2 on 192.168.1.101

Looking up port of RPC 100005/1 on 192.168.1.101

VFS: Mounted root (nfs filesystem).

Freeing init memory: 140K


init started: BusyBox v1.10.1 (2008-04-23 23:20:41 CST)

starting pid 251, tty '/dev/console': '/etc/init.d/rcS'


ComputerInBook 发表于:2008.12.24 23:59 ::分类: ( 软件编程相关 ) ::阅读:(960次) :: 评论 (0) :: 引用 (0)
===========================================================
使用Busybox构造cramfs根文件系统
===========================================================

11. 下载Busybox,如果系统中没有mkcramfs工具则还要下载mkcramfs压缩工具。本文件系统使用Busybox-1.10.1cramfs-1.1。压缩文件Busybox-1.10.1.tar.bz2cramfs-1.1.tar.gz

22. 解压文件:

tar jxvf Busybox-1.10.1.tar.bz2

tar zxvf cramfs-1.1.tar.gz

进入解包之后生成cramfs-1.1目录,执行编译命令:

make

编译完成之后,会生成mkcramfscramfsck两个工具,其中mkcramfs工具是用来创建cramfs文件系统的,而cramfsck工具则用来进行cramfs文件系统的释放以及检查。如果该目录下已有这两个可执行程序,则无需编译,直接使用。

3. 修改Makefile文件

ARM板为例,打开Makefile文件,找到ARCH?=CROSS_COMPILE?=两项,修改为

ARCH ?= arm

CROSS_COMPILE ?= arm-linux- //arm-linux-为交叉编译器在环境变量中的目录前缀,视自己交叉编译环境而定。

4. 进入解压后的Busybox-1.10.1目录,运行make menuconfig make gconfig进行配置。

在进行配置时有几项需要注意:

Ø Build Options>

Build BusyBox as a static binary (no shared libs)

Force NOMMU build

Build shared libbusybox

Build with Large File Support (for accessing file>2GB)

如果选择 Build BusyBox as a static binary (no shared libs) 方式进行编译时,所需的库已经与程序静态地链接在一起,这些程序不需要额外的库就可以单独运行,但是自己编写的程序在文件系统上运行必须采用静态编译,否则会报诸如:bin/sh: hello :not found的错误。

静态编译如:

arm-linux-gcc –static hello.c –o hello

 如果选择Build shared libbusybox方式进行编译时,要将交叉编译的动态库或符号链接复制到对应的目录中,否则程序不能运行。同时在配置时应去掉Build shared libbusybox目录下的两项:如下 

Build shared libbusybox>

 Produce binary for each applet,linked against libbusybox

Produce additional busybox binary linked against libbusybox

同时去掉

Build with Large File Support (for accessing file>2GB)

否则编译会报错。

Ø 一定要勾选上如下配置:

Init Utilities>

(*) init

(*) Supporting reading an inittab file //支技init进程读取/etc/inittab配置文件。

(*) Supporting running commands with controlling-tty //使busybox在真实的串口设备中运行命令行,不使用可能会报类似与:shcan’t access ttyjob control turned off的错误。

其它基本可按默认配置。

5. 执行

make

编译完成后执行

make install

  则在Busybox-1.10.1目录下有_install这个目录,这正是我们想要的。

66. _install目录下已经有三个包含应用程序的目录:binsbinusr和脚本linuxrc,注意此linuxrc不要随便换掉,就用此linuxrc

在此_install目录下创建其它几个需要的目录,如下

mkdir etc dev proc tmp lib var sys

7.转到dev目录下创建设备节点

mknod ram0 b 1 0

mknod -m 660 console c 5 1

mknod -m 660 null c 1 3

mknod -m 660 zero c 1 3

mknod -m 666 ttySAC0 c 204 64

8. 编写脚本,这一点很重要,没写好或脚本有错误,文件系统都起不来。

转到etc目录,编写inittab脚本,内容如下:

# Startup the system

null::sysinit: /bin/mount –o remount,rw/

null::sysinit: /bin/mount –t proc proc /proc

null::sysinit: /bin/mount –a

console::sysinit: /etc/init.d/rcS

ttySAC0::respawn: /bin/sh

9. 编写挂载表fstab

proc /proc proc defaults 0 0

sysfs /sys sysfs defaults 0 0

none /dev/pts devpts mod=0622 0 0

tmpfs /dev/shm tmpfs defaults 0 0

10. etc下创建目录init.d

cd init.d

创建脚本rcS

内容如下:

# /bin/sh

保存,并修改rcS的权限,否则会出现Cannot run ‘/etc/init.d/rcS’:Permission denied的错误:

chmod 775 rcS

1111. 生成文件系统映像。

./mkcramfs _install rootfs.cramfs

至此,文件系统制作完毕。
ComputerInBook 发表于:2008.08.30 16:46 ::分类: ( 软件编程相关 ) ::阅读:(2819次) :: 评论 (0) :: 引用 (0)
===========================================================
Linux下的一些功能使用
===========================================================

1. linux下的超级终端:在linux下类似于windows的超级终端或DNW的功能是minicom,如果在VMWare下安装的linux,则首先要关闭linux,在虚拟机的hardware里添加COM1、COM2

进入linux后,以root用户登录系统,运行命令minicom

后显示如下

[root@zhoub TestArm]# minicom
** Parameter bits is public, but is marked private in global config file
** Parameter parity is public, but is marked private in global config file
** Parameter stopbits is public, but is marked private in global config file


Welcome to minicom 2.00.0

OPTIONS: History Buffer, F-key Macros, Search History Buffer, I18n
Compiled on Mar 7 2005, 10:29:09.

Press CTRL-A Z for help on special keys

运行配置进行配置,如115200-8N1,则可。

注意:linux下的设备号是从0开始的,COM1对应linux下的ttyS0。

2. 将应用程序加入环境变量的方法:

编译/etc/bashrc文件,将应用程序路径加入,如

export PATH=/usr/local/arm-9tdmi-linux-gnu/bin:$PATH

以上是交叉编译环境程序所在的目录。


ComputerInBook 发表于:2008.06.12 22:42 ::分类: ( 软件编程相关 ) ::阅读:(432次) :: 评论 (0) :: 引用 (0)
===========================================================
skyeye模拟u-boot在s3c2410上运行
===========================================================

1. 下载skyeye-1.2.4,解压

1.1 进入skyeye-1.2.4目录,执行命令 make distclean 清除以前配置。

1.2 执行make 命令编译,中间会出现一些警,不影响系统编译。当出现"The binary file located at 'binary/skyeye' ,enjoy it"语句时则编译成功,生成的可执行文件为skyeye目录下的skyeye。

2. 下载u-boot-1.1.6,解压,进入U-boot-1.1.6目录

2.1 配置板子SDROM和FLASH参数为板子实际大小,找到u-boot-1.1.6/include/configs/smdk2410.h,修改其中的PHYS_SDRAM_1_SIZE为板子实际SDRAM大小,

CFG_MAX_FLASH_SECT为128,修改PHYS_FLASH_SIZE为板子实际FLASH大小。并保存。

如下所示

*-----------------------------------------------------------------------
* Physical Memory Map
*/
#define CONFIG_NR_DRAM_BANKS 1 /* we have 1 bank of DRAM */
#define PHYS_SDRAM_1 0x30000000 /* SDRAM Bank #1 */
#define PHYS_SDRAM_1_SIZE 0x04000000 /* 64 MB */

#define PHYS_FLASH_1 0x00000000 /* Flash Bank #1 */

#define CFG_FLASH_BASE PHYS_FLASH_1

/*-----------------------------------------------------------------------
* FLASH and environment organization
*/

#define CONFIG_AMD_LV400 1 /* uncomment this if you have a LV400 flash */
#if 0
#define CONFIG_AMD_LV800 1 /* uncomment this if you have a LV800 flash */
#endif

#define CFG_MAX_FLASH_BANKS 1 /* max number of memory banks */
#ifdef CONFIG_AMD_LV800
#define PHYS_FLASH_SIZE 0x04000000 /* 64MB */
#define CFG_MAX_FLASH_SECT (128) /* max number of sectors on one chip */
#define CFG_ENV_ADDR (CFG_FLASH_BASE + 0x020000) /* addr of environment */
#endif
#ifdef CONFIG_AMD_LV400
#define PHYS_FLASH_SIZE 0x04000000 /* 64MB */
#define CFG_MAX_FLASH_SECT (128) /* max number of sectors on one chip */
#define CFG_ENV_ADDR (CFG_FLASH_BASE + 0x020000) /* addr of environment */
#endif
2.2 配置并编译:

 make distclean

make smdk2410_config

make

经过以上命令则生成两个文件:u-boot和u-boot.bin。

3. 创建一个目录用于存放相关文件。

3.1 如创建TestArm目录:mkdir TestArm

3.2 将前面生成的u-boot文件放在TestArm目录下。

3.3 新建文件命名为skyeye.conf并放在TestArm目录下,文件内容如下

cpu: arm920t

mach: s3c2410x

mem_bank:map=I,type=RW,addr=0x48000000,size=0x20000000

#注意此处的addr一定要与上面smdk2410.h配置的SDRAM和FLASH的大小与基地址一定要相同,否则启动不起来,卡在那里。

#下面这一句和FLASH一样

mem_bank:map=M,type=RW,addr=0x00000000,size=0x04000000,file=u-boot,boot=yes

#下面这一句和SDRAM一样

mem_bank:map=M,type=RW,addr=0x30000000,size=0x04000000

4. 运行命令./skyeye如下所示

[Filter@zhoub TestArm]$ skyeye

**************************** WARNING **********************************
If you want to run ELF image, you should use -e option to indicate
your elf-format image filename. Or you only want to run binary image,
you need to set the filename of the image and its entry in skyeye.conf.
***********************************************************************

big_endian is false.
arch: arm
cpu info: armv4, arm920t, 41009200, ff00fff0, 2
mach info: name s3c2410x, mach_init addr 0x8067f58
flash: dump nand.dump
uart_mod:0, desc_in:, desc_out:, converter:
SKYEYE: use arm920t mmu ops
Loaded RAM u-boot
ERROR: s3c2410x_io_write_word(0x4c000000) = 0x00ffffff
ERROR: s3c2410x_io_write_word(0x4c000008) = 0x00048032


U-Boot 1.1.6 (Jun 10 2008 - 08:40:29)

DRAM: 64 MB
Flash: 64 MB
*** Warning - bad CRC, using default environment

In: serial
Out: serial
Err: serial
SMDK2410

表明已经运行起来了,上面显示有一个警靠我两个ERROR,不知为何,正在查原因。

执行help命令查看帮助如下

SMDK2410 # go
Usage:
go - start application at address 'addr'

SMDK2410 # help
? - alias for 'help'
autoscr - run script from memory
base - print or set address offset
bdinfo - print Board Info structure
boot - boot default, i.e., run 'bootcmd'
bootd - boot default, i.e., run 'bootcmd'
bootelf - Boot from an ELF image in memory
bootm - boot application image from memory
bootp - boot image via network using BootP/TFTP protocol
bootvx - Boot vxWorks from an ELF image
cmp - memory compare
coninfo - print console devices and information
cp - memory copy
crc32 - checksum calculation
date - get/set/reset date & time
dcache - enable or disable data cache
echo - echo args to console
erase - erase FLASH memory
flinfo - print FLASH memory information
go - start application at address 'addr'
help - print online help
icache - enable or disable instruction cache
iminfo - print header information for application image
imls - list all images found in flash
itest - return true/false on integer compare
loadb - load binary file over serial line (kermit mode)
loads - load S-Record file over serial line
loady - load binary file over serial line (ymodem mode)
loop - infinite loop on address range
md - memory display
mm - memory modify (auto-incrementing)
mtest - simple RAM test
mw - memory write (fill)
nfs - boot image via network using NFS protocol
nm - memory modify (constant address)
printenv- print environment variables
protect - enable or disable FLASH write protection
rarpboot- boot image via network using RARP/TFTP protocol
reset - Perform RESET of the CPU
run - run commands in an environment variable
saveenv - save environment variables to persistent storage
setenv - set environment variables
sleep - delay execution for some time
tftpboot- boot image via network using TFTP protocol
version - print monitor version

在上面的skyeye.conf文件中,将u-boot放到

mem_bank:map=M,type=RW,addr=0x30000000,size=0x04000000,file=u-boot,boot=yes

同样可以运行


ComputerInBook 发表于:2008.06.12 22:23 ::分类: ( 软件编程相关 ) ::阅读:(1892次) :: 评论 (1) :: 引用 (0)
===========================================================
skyeye模拟u-boot在s3c2410上运行
===========================================================

1. 下载skyeye-1.2.4,解压

1.1 进入skyeye-1.2.4目录,执行命令 make distclean 清除以前配置。

1.2 执行make 命令编译,中间会出现一些警,不影响系统编译。当出现"The binary file located at 'binary/skyeye' ,enjoy it"语句时则编译成功,生成的可执行文件为skyeye目录下的skyeye。

2. 下载u-boot-1.1.6,解压,进入U-boot-1.1.6目录

2.1 配置板子SDROM和FLASH参数为板子实际大小,找到u-boot-1.1.6/include/configs/smdk2410.h,修改其中的PHYS_SDRAM_1_SIZE为板子实际SDRAM大小,

CFG_MAX_FLASH_SECT为128,修改PHYS_FLASH_SIZE为板子实际FLASH大小。并保存。

如下所示

*-----------------------------------------------------------------------
* Physical Memory Map
*/
#define CONFIG_NR_DRAM_BANKS 1 /* we have 1 bank of DRAM */
#define PHYS_SDRAM_1 0x30000000 /* SDRAM Bank #1 */
#define PHYS_SDRAM_1_SIZE 0x04000000 /* 64 MB */

#define PHYS_FLASH_1 0x00000000 /* Flash Bank #1 */

#define CFG_FLASH_BASE PHYS_FLASH_1

/*-----------------------------------------------------------------------
* FLASH and environment organization
*/

#define CONFIG_AMD_LV400 1 /* uncomment this if you have a LV400 flash */
#if 0
#define CONFIG_AMD_LV800 1 /* uncomment this if you have a LV800 flash */
#endif

#define CFG_MAX_FLASH_BANKS 1 /* max number of memory banks */
#ifdef CONFIG_AMD_LV800
#define PHYS_FLASH_SIZE 0x04000000 /* 64MB */
#define CFG_MAX_FLASH_SECT (128) /* max number of sectors on one chip */
#define CFG_ENV_ADDR (CFG_FLASH_BASE + 0x020000) /* addr of environment */
#endif
#ifdef CONFIG_AMD_LV400
#define PHYS_FLASH_SIZE 0x04000000 /* 64MB */
#define CFG_MAX_FLASH_SECT (128) /* max number of sectors on one chip */
#define CFG_ENV_ADDR (CFG_FLASH_BASE + 0x020000) /* addr of environment */
#endif
2.2 配置并编译:

 make distclean

make smdk2410_config

make

经过以上命令则生成两个文件:u-boot和u-boot.bin。

3. 创建一个目录用于存放相关文件。

3.1 如创建TestArm目录:mkdir TestArm

3.2 将前面生成的u-boot文件放在TestArm目录下。

3.3 新建文件命名为skyeye.conf并放在TestArm目录下,文件内容如下

cpu: arm920t

mach: s3c2410x

mem_bank:map=I,type=RW,addr=0x48000000,size=0x20000000

#注意此处的addr一定要与上面smdk2410.h配置的SDRAM和FLASH的大小与基地址一定要相同,否则启动不起来,卡在那里。

#下面这一句和FLASH一样

mem_bank:map=M,type=RW,addr=0x00000000,size=0x04000000,file=u-boot,boot=yes

#下面这一句和SDRAM一样

mem_bank:map=M,type=RW,addr=0x30000000,size=0x04000000

4. 运行命令./skyeye如下所示

[Filter@zhoub TestArm]$ skyeye

**************************** WARNING **********************************
If you want to run ELF image, you should use -e option to indicate
your elf-format image filename. Or you only want to run binary image,
you need to set the filename of the image and its entry in skyeye.conf.
***********************************************************************

big_endian is false.
arch: arm
cpu info: armv4, arm920t, 41009200, ff00fff0, 2
mach info: name s3c2410x, mach_init addr 0x8067f58
flash: dump nand.dump
uart_mod:0, desc_in:, desc_out:, converter:
SKYEYE: use arm920t mmu ops
Loaded RAM u-boot
ERROR: s3c2410x_io_write_word(0x4c000000) = 0x00ffffff
ERROR: s3c2410x_io_write_word(0x4c000008) = 0x00048032


U-Boot 1.1.6 (Jun 10 2008 - 08:40:29)

DRAM: 64 MB
Flash: 64 MB
*** Warning - bad CRC, using default environment

In: serial
Out: serial
Err: serial
SMDK2410

表明已经运行起来了,上面显示有一个警靠我两个ERROR,不知为何,正在查原因。

执行help命令查看帮助如下

SMDK2410 # go
Usage:
go - start application at address 'addr'

SMDK2410 # help
? - alias for 'help'
autoscr - run script from memory
base - print or set address offset
bdinfo - print Board Info structure
boot - boot default, i.e., run 'bootcmd'
bootd - boot default, i.e., run 'bootcmd'
bootelf - Boot from an ELF image in memory
bootm - boot application image from memory
bootp - boot image via network using BootP/TFTP protocol
bootvx - Boot vxWorks from an ELF image
cmp - memory compare
coninfo - print console devices and information
cp - memory copy
crc32 - checksum calculation
date - get/set/reset date & time
dcache - enable or disable data cache
echo - echo args to console
erase - erase FLASH memory
flinfo - print FLASH memory information
go - start application at address 'addr'
help - print online help
icache - enable or disable instruction cache
iminfo - print header information for application image
imls - list all images found in flash
itest - return true/false on integer compare
loadb - load binary file over serial line (kermit mode)
loads - load S-Record file over serial line
loady - load binary file over serial line (ymodem mode)
loop - infinite loop on address range
md - memory display
mm - memory modify (auto-incrementing)
mtest - simple RAM test
mw - memory write (fill)
nfs - boot image via network using NFS protocol
nm - memory modify (constant address)
printenv- print environment variables
protect - enable or disable FLASH write protection
rarpboot- boot image via network using RARP/TFTP protocol
reset - Perform RESET of the CPU
run - run commands in an environment variable
saveenv - save environment variables to persistent storage
setenv - set environment variables
sleep - delay execution for some time
tftpboot- boot image via network using TFTP protocol
version - print monitor version

在上面的skyeye.conf文件中,将u-boot放到

mem_bank:map=M,type=RW,addr=0x30000000,size=0x04000000,file=u-boot,boot=yes

同样可以运行


ComputerInBook 发表于:2008.06.12 22:23 ::分类: ( 软件编程相关 ) ::阅读:(259次) :: 评论 (0) :: 引用 (0)
===========================================================
linux-2.6.14.1内核在S3C2410上运行时的一些问题
===========================================================

1. 问题一

  下载内核到flash中,运行到如下即停止没有下文:

Uncompressing Linux……………………done,booting the kernel

卡在这里不动了

原因分析:可能是内核的启动参数传递时没有填写正确,也可能是在linux内核中没对flash分区,还有另一可能原因是在内核编译配置时没将串口驱动勾选。

解决办法:

如果是命令参数问题,则作如下修改:注释掉arch/arm/kernel/setup.c文件中的parse_tag_cmdline()函数中的strlcpy()函数,这样就可以使用默认的CONFIG_CMDLINE了,在.config文件中它被定义为"root=/dev/mtdblock2 ro init=/linuxrc console=ttySAC0,115200"(视具体情况而定),在内核配置文件的Boot options中填入也可。

如果是内核NAND flash分区的问题,则作如下修改:

1. 1 修改文件arch/arm/mach-s3c2410/devs.c,添加如下信息:

#include <linux/mtd/partitions.h>

#include <asm/arch/nand.h>

#include <linux/mtd/nand.h>

static struct mtd_partition partition_info[]=

{

{

name:"bootloader",

size:0x00040000,

offset:0,

},

{

name:"kernel",

size:0x001c0000,

offset:0x00040000,

},

{

name:"rootfs",

size: 0x01e00000,

offset:0x00200000,

},

{

name:"ext-fs1",

size: 0x01000000,

offset:0x02000000,

},

{

name:"ext-fs2",

size: 0x01000000,

offset:0x03000000,

},

};

//以上分区和NAND flash物理分区一样,分区不一样没试过,根据自己板子情况而定

struct s3c2410_nand_set nandset=

{

nr_partitions:5,

partitions:partition_info,

};

struct s3c2410_platform_nand s3c_nand_info=

{

tacls:0,

twrph0:30,

twrph1:0,

sets:&nandset,

nr_sets:1,

};

以上分区和NAND flash物理分区一样,分区不一样没试过,根据自己板子情况而定

struct s3c2410_nand_set nandset=

{

nr_partitions:5,

partitions:partition_info,

};

struct s3c2410_platform_nand s3c_nand_info=

{

tacls:0,

twrph0:30,

twrph1:0,

sets:&nandset,

nr_sets:1,

};

struct platform_device s3c_device_nand={

.name="s3c2410-nand",

.id = -1,

.num_resources = ARRAY_SIZE(s3c_nand_resources),

.resource = s3c_nand_resource, /*黑体为新加内容*/

.dev = {

.platform_data=&s3c_nand_info

}

};

1.2 在arch/arm/mach-s3c2410/mach-smdk2410.c文件中添加&s3c_device_nand,如下所示:

static struct platform_device * smdk2410_device[] _initdata=

{

&s3c_device_usb,

&s3c_device_lcd,

&s3c_device_wdt,

&s3c_device_i2c,

&s3c_device_iis,

&s3c_device_nand,

};

配置好以上内容后重新编译内核即可。

如果是串口驱动没有勾选,则一定记住将勾上如下选项:

Character devices

-> Serial Drivers下的项勾上.

2. 出现如下错误:VFS:Cannot open root device "mtdblock/2" or unknown-block(0,0)

Please append a correct "root=" boot option.

Kernel panic not syncing,VFS Unable to mount root fs on unknown-block(0,0)

原因分析:出现这种情况一般有两种情况:没有文件系统或boot options参数不正确,如我的系统文件系统为cramfs格式,存放文件系统的分区为第三个分区,启动参数为:

"noinitrd root=/dev/mtdblock2 ro init=/linuxrc console=ttySAC0,115200 rootfstype=cramfs mem=64M"

其中文件系统使用busybox-1.10.1制作

重新编译即可。

3. 系统启动后出现如下错误:

Kernel panic -not syncing:VFS:Unable to mount root fs on unknown-block(31,2)

或者类似的错误。

原因分析:我在这里耗了大量的时间,这种情况一般是NAND flash分区未能分正确,或者所在的分区上没有文件系统,当启动中出现类似如下信息时表明分区正确了

Scanning device for bad blocks

Creating 5 MTD partitions on "NAND 64MiB 3,3V 8-bit":

0x00000000-0x00040000 : "boot"

mtd: Giving out device 0 to boot

0x00040000-0x00200000 : "kernel"

mtd: Giving out device 1 to kernel

0x00200000-0x02000000 : "rootfs"

mtd: Giving out device 2 to rootfs

0x02000000-0x03000000 : "ext-fs1"

mtd: Giving out device 3 to ext-fs1

0x03000000-0x04000000 : "ext-fs2"

mtd: Giving out device 4 to ext-fs2

从上面看出我的文件系统放在第三个分区rootfs上,其设备号为2,启动后文件系统能挂上,如下所示

Reading data from NAND FLASH without ECC is not recommended

the error code is:0,name=/dev/root,fs=cramfs,flags=32769

VFS: Mounted root (cramfs filesystem) readonly.

Freeing init memory: 104K

Reading data from NAND FLASH without ECC is not recommended


init started: BusyBox v1.10.1 (2008-04-23 23:20:41 CST)

starting pid 229, tty '': '/etc/init.d/rcS'

Reading data from NAND FLASH without ECC is not recommended

the error code is:0,name=/dev/root,fs=cramfs,flags=32769

VFS: Mounted root (cramfs filesystem) readonly.

Freeing init memory: 104K

Reading data from NAND FLASH without ECC is not recommended


init started: BusyBox v1.10.1 (2008-04-23 23:20:41 CST)

starting pid 229, tty '': '/etc/init.d/rcS'

Please press Enter to activate this console.

4. 系统启动到到如下语句即停止不前,停在那里:

VFS:Mounted root (cramfs filesystem) readonly.

Freeing init memory:104

卡在这里没有下文

原因分析:系统在启用init函数时有这么一句,粗体所示

static int init(void * unused)

{

if(execute_command)

{

run_init_process(execute_command);

}

………………

在这句里面出错就会没有下文

解决办法:在配置内核时少选了几句,将如下选择全选上

Floating Point emulation

->At least one emulation must be selected:

NWFPE math emulation

Support extended precision

FastFPE math emulation(EXPERIMENTAL)

5. 关于文件系统问题:在有些资料上提到在配置内核时选上devfs,如果不存在时则手动在文件里加上。但我在内核里面和busybox-1.10.1中都未加devfs支持,文件系统运行正常。在linux-2.6.14.1及以后版本中已去掉devfs。

6. linux-2.6.15.4这个版本也能成功在s3c2410上运行.


ComputerInBook 发表于:2008.05.22 00:48 ::分类: ( 软件编程相关 ) ::阅读:(1737次) :: 评论 (0) :: 引用 (0)
===========================================================
基于S3C2410的linux-2.6.14.1内核编译问题
===========================================================

1. 在内核目录直接执行命令make gconfig,在配置菜单中并看不到System Type的菜单,修改Makefile中的

ARCH = arm

CROSS_COMPILE = arm-linux-

保存后,执行make gconfig可看到System Type菜单。

2. 出现如下错误:

make[3] ……[drivers/media/radio/radio_maestro.o]

make[2]:[drivers/media/radio]

错误

解决办法:从device drivers下去掉Multimedia和Graphic模块,原因未知。

3. 出现如下错误:arm-linux-ld:arch/arm/kernel/vmlinux.lds:1087:parse error

make:…[.tmp_vmlinux1]

解决办法:修改arch/arm/kernel/vmlinux.lds文件,将该文件尾2条assert注释掉

/*

ASSERT((_proc_info_end-_proc_info_begin),"missing CPU support)

*/

/*

ASSERT((_arch_info_end-_arch_info_begin),"no mathine record define")

*/

4. 出现如下错误:

Building modules, stage 2.
MODPOST
*** Warning: drivers/bluetooth/btuart_cs ids 0 bad size (each on 52)
/bin/sh: line 1: 3871
段错误 scripts/mod/modpost -m -a -o /home/Filter/embedded/kernel/linux-2.6.14.1/Module.symvers vmlinux arch/arm/oprofile/oprofile.o crypto/aes.o crypto/anubis.o crypto/arc4.o crypto/blowfish.o crypto/cast5.o crypto/cast6.o crypto/crc32c.o crypto/crypto_null.o crypto/deflate.o crypto/des.o crypto/khazad.o crypto/md4.o crypto/michael_mic.o crypto/serpent.o crypto/sha256.o crypto/sha512.o crypto/tea.o crypto/tgr192.o crypto/twofish.o crypto/wp512.o drivers/block/aoe/aoe.o drivers/block/cryptoloop.o drivers/block/loop.o drivers/block/nbd.o drivers/block/paride/aten.o drivers/block/paride/bpck.o drivers/block/paride/bpck6.o drivers/block/paride/comm.o drivers/block/paride/dstr.o drivers/block/paride/epat.o drivers/block/paride/epia.o drivers/block/paride/fit2.o drivers/block/paride/fit3.o drivers/block/paride/friq.o drivers/block/paride/frpw.o drivers/block/paride/kbic.o drivers/block/paride/ktti.o drivers/block/paride/on20.o drivers/block/paride/on26.o drivers/block/paride/paride.o drivers/block/paride/pcd.o drivers/block/paride/pd.o drivers/block/paride/pf.o drivers/block/paride/pg.o drivers/block/paride/pt.o drivers/block/pktcdvd.o drivers/bluetooth/bcm203x.o drivers/bluetooth/bfusb.o drivers/bluetooth/bluecard_cs.o drivers/bluetooth/bpa10x.o drivers/bluetooth/bt3c_cs.o drivers/bluetooth/btuart_cs.o drivers/bluetooth/dtl1_cs.o drivers/bluetooth/hci_uart.o drivers/bluetooth/hci_usb.o drivers/bluetooth/hci_vhci.o drivers/char/dtlk.o drivers/char/ipmi/ipmi_devintf.o drivers/char/ipmi/ipmi_msghandler.o drivers/char/ipmi/ipmi_poweroff.o drivers/char/ipmi/ipmi_si.o drivers/char/ipmi/ipmi_watchdog.o drivers/char/lp.o drivers/char/n_hdlc.o drivers/char/n_r3964.o drivers/char/nvram.o drivers/char/pcmcia/synclink_cs.o drivers/char/ppdev.o drivers/char/rocket.o drivers/char/synclinkmp.o drivers/char/tipar.o drivers/char/watchdog/pcwd_usb.o drivers/char/watchdog/softdog.o drivers/hwmon/adm1021.o drivers/hwmon/adm1025.o drivers/hwmon/adm1026.o drivers/hwmon/adm1031.o drivers/hwmon/asb100.o drivers/hwmon/ds1621.o drivers/hwmon/fscher.o drivers/hwmon/fscpos.o drivers/hwmon/gl518sm.o drivers/hwmon/gl520sm.o drivers/hwmon/hwmon-vid.o drivers/hwmon/it87.o drivers/hwmon/lm63.o drivers/hwmon/lm75.o drivers/hwmon/lm77.o drivers/hwmon/lm78.o drivers/hwmon/lm80.o drivers/hwmon/lm83.o drivers/hwmon/lm85.o drivers/hwmon/lm87.o drivers/hwmon/lm90.o drivers/hwmon/lm92.o drivers/hwmon/max1619.o drivers/hwmon/pc87360.o drivers/hwmon/smsc47b397.o drivers/hwmon/smsc47m1.o drivers/hwmon/w83627hf.o drivers/hwmon/w83781d.o drivers/hwmon/w83l785ts.o drivers/i2c/algos/i2c-algo-bit.o drivers/i2c/algos/i2c-algo-pca.o drivers/i2c/algos/i2c-algo-pcf.o drivers/i2c/busses/i2c-isa.o drivers/i2c/busses/i2c-pca-isa.o drivers/i2c/busses/i2c-stub.o drivers/i2c/chips/ds1337.o drivers/i2c/chips/eeprom.o drivers/i2c/chips/pcf8574.o drivers/i2c/chips/pcf8591.o drivers/i2c/chips/rtc8564.o drivers/i2c/i2c-core.o drivers/i2c/i2c-dev.o drivers/ide/legacy/ide-cs.o drivers/input/gameport/gameport.o drivers/input/gameport/lightning.o drivers/input/gameport/ns558.o drivers/input/joydev.o drivers/input/joystick/a3d.o drivers/input/joystick/adi.o drivers/input/joystick/analog.o drivers/input/joystick/cobra.o drivers/input/joystick/db9.o drivers/input/joystick/gamecon.o drivers/input/joystick/gf2k.o drivers/input/joystick/grip.o drivers/input/joystick/grip_mp.o drivers/input/joystick/guillemot.o drivers/input/joystick/iforce/iforce.o drivers/input/joystick/interact.o drivers/input/joystick/joydump.o drivers/input/joystick/magellan.o drivers/input/joystick/sidewinder.o drivers/input/joystick/spaceball.o drivers/input/joystick/spaceorb.o drivers/input/joystick/stinger.o drivers/input/joystick/tmdc.o drivers/input/joystick/turbografx.o drivers/input/joystick/twidjoy.o drivers/input/joystick/warrior.o drivers/input/misc/uinput.o drivers/input/mouse/sermouse.o drivers/input/mouse/vsxxxaa.o drivers/input/touchscreen/elo.o drivers/input/touchscreen/gunze.o drivers/input/touchscreen/mk712.o drivers/input/touchscreen/mtouch.o drivers/isdn/capi/capi.o drivers/isdn/capi/capidrv.o drivers/isdn/capi/capifs.o drivers/isdn/capi/kernelcapi.o drivers/isdn/divert/dss1_divert.o drivers/isdn/hardware/avm/avm_cs.o drivers/isdn/hardware/avm/b1.o drivers/isdn/hardware/avm/b1pcmcia.o drivers/isdn/hisax/avma1_cs.o drivers/isdn/hisax/elsa_cs.o drivers/isdn/hisax/hfc4s8s_l1.o drivers/isdn/hisax/hfc_usb.o drivers/isdn/hisax/hisax.o drivers/isdn/hisax/hisax_st5481.o drivers/isdn/hisax/isdnhdlc.o drivers/isdn/hisax/sedlbauer_cs.o drivers/isdn/hisax/teles_cs.o drivers/isdn/i4l/isdn.o drivers/isdn/isdnloop/isdnloop.o drivers/md/dm-crypt.o drivers/md/dm-emc.o drivers/md/dm-mirror.o drivers/md/dm-mod.o drivers/md/dm-multipath.o drivers/md/dm-round-robin.o drivers/md/dm-snapshot.o drivers/md/dm-zero.o drivers/md/faulty.o drivers/md/linear.o drivers/md/multipath.o drivers/md/raid0.o drivers/md/raid1.o drivers/md/raid10.o drivers/md/raid5.o drivers/md/raid6.o drivers/md/xor.o drivers/media/dvb/b2c2/b2c2-flexcop-usb.o drivers/media/dvb/b2c2/b2c2-flexcop.o drivers/media/dvb/cinergyT2/cinergyT2.o drivers/media/dvb/dvb-core/dvb-core.o drivers/media/dvb/frontends/at76c651.o drivers/media/dvb/frontends/bcm3510.o drivers/media/dvb/frontends/cx22700.o drivers/media/dvb/frontends/cx22702.o drivers/media/dvb/frontends/cx24110.o drivers/media/dvb/frontends/dib3000-common.o drivers/media/dvb/frontends/dib3000mb.o drivers/media/dvb/frontends/dib3000mc.o drivers/media/dvb/frontends/dvb-pll.o drivers/media/dvb/frontends/l64781.o drivers/media/dvb/frontends/mt312.o drivers/media/dvb/frontends/mt352.o drivers/media/dvb/frontends/nxt2002.o drivers/media/dvb/frontends/nxt6000.o drivers/media/dvb/frontends/or51132.o drivers/media/dvb/frontends/or51211.o drivers/media/dvb/frontends/sp8870.o drivers/media/dvb/frontends/sp887x.o drivers/media/dvb/frontends/stv0297.o drivers/media/dvb/frontends/stv0299.o drivers/media/dvb/frontends/tda10021.o drivers/media/dvb/frontends/tda1004x.o drivers/media/dvb/frontends/tda8083.o drivers/media/dvb/frontends/tda80xx.o drivers/media/dvb/frontends/ves1820.o drivers/media/dvb/frontends/ves1x93.o drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.o drivers/media/dvb/ttusb-dec/ttusb_dec.o drivers/media/dvb/ttusb-dec/ttusbdecfe.o drivers/mmc/mmc_block.o drivers/mmc/mmc_core.o drivers/mmc/wbsd.o drivers/mtd/chips/cfi_cmdset_0001.o drivers/mtd/chips/cfi_cmdset_0002.o drivers/mtd/chips/cfi_cmdset_0020.o drivers/mtd/chips/cfi_probe.o drivers/mtd/chips/cfi_util.o drivers/mtd/chips/chipreg.o drivers/mtd/chips/gen_probe.o drivers/mtd/chips/jedec_probe.o drivers/mtd/chips/map_absent.o drivers/mtd/chips/map_ram.o drivers/mtd/chips/map_rom.o drivers/mtd/devices/block2mtd.o drivers/mtd/devices/doc2000.o drivers/mtd/devices/doc2001plus.o drivers/mtd/devices/docecc.o drivers/mtd/devices/docprobe.o drivers/mtd/devices/mtdram.o drivers/mtd/ftl.o drivers/mtd/inftl.o drivers/mtd/maps/map_funcs.o drivers/mtd/mtd_blkdevs.o drivers/mtd/mtdblock.o drivers/mtd/mtdblock_ro.o drivers/mtd/mtdchar.o drivers/mtd/mtdconcat.o drivers/mtd/mtdcore.o drivers/mtd/mtdpart.o drivers/mtd/nand/nand.o drivers/mtd/nand/nand_ecc.o drivers/mtd/nand/nand_ids.o drivers/mtd/nftl.o drivers/mtd/redboot.o drivers/net/appletalk/ipddp.o drivers/net/irda/act200l-sir.o drivers/net/irda/actisys-sir.o drivers/net/irda/ali-ircc.o drivers/net/irda/esi-sir.o drivers/net/irda/girbil-sir.o drivers/net/irda/irda-usb.o drivers/net/irda/irport.o drivers/net/irda/irtty-sir.o drivers/net/irda/litelink-sir.o drivers/net/irda/ma600-sir.o drivers/net/irda/mcp2120-sir.o drivers/net/irda/nsc-ircc.o drivers/net/irda/old_belkin-sir.o drivers/net/irda/sir-dev.o drivers/net/irda/smsc-ircc2.o drivers/net/irda/stir4200.o drivers/net/irda/tekram-sir.o drivers/net/irda/via-ircc.o drivers/net/irda/w83977af_ir.o drivers/net/mii.o drivers/net/slhc.o drivers/parport/parport.o drivers/parport/parport_cs.o drivers/parport/parport_pc.o drivers/pcmcia/pcmcia.o drivers/pcmcia/pcmcia_core.o drivers/scsi/ide-scsi.o drivers/scsi/imm.o drivers/scsi/osst.o drivers/scsi/pcmcia/aha152x_cs.o drivers/scsi/pcmcia/fdomain_cs.o drivers/scsi/pcmcia/nsp_cs.o drivers/scsi/pcmcia/qlogic_cs.o drivers/scsi/pcmcia/sym53c500_cs.o drivers/scsi/ppa.o drivers/scsi/qlogicfas408.o drivers/scsi/scsi_mod.o drivers/scsi/scsi_transport_fc.o drivers/scsi/scsi_transport_iscsi.o drivers/scsi/scsi_transport_spi.o drivers/scsi/sd_mod.o drivers/scsi/sg.o drivers/scsi/sr_mod.o drivers/scsi/st.o drivers/serial/s3c2410.o drivers/serial/serial_cs.o drivers/usb/atm/speedtch.o drivers/usb/atm/usbatm.o drivers/usb/class/cdc-acm.o drivers/usb/class/usblp.o drivers/usb/host/sl811-hcd.o drivers/usb/image/mdc800.o drivers/usb/image/microtek.o drivers/usb/input/aiptek.o drivers/usb/input/ati_remote.o drivers/usb/input/kbtab.o drivers/usb/input/mtouchusb.o drivers/usb/input/powermate.o drivers/usb/input/touchkitusb.o drivers/usb/input/wacom.o drivers/usb/input/xpad.o drivers/usb/media/dabusb.o drivers/usb/misc/auerswald.o drivers/usb/misc/emi62.o drivers/usb/misc/idmouse.o drivers/usb/misc/legousbtower.o drivers/usb/misc/phidgetkit.o drivers/usb/misc/phidgetservo.o drivers/usb/misc/rio500.o drivers/usb/misc/usblcd.o drivers/usb/misc/usbled.o drivers/usb/misc/usbtest.o drivers/usb/misc/uss720.o drivers/usb/net/catc.o drivers/usb/net/cdc_ether.o drivers/usb/net/kaweth.o drivers/usb/net/net1080.o drivers/usb/net/pegasus.o drivers/usb/net/rtl8150.o drivers/usb/net/usbnet.o drivers/usb/net/zaurus.o drivers/usb/serial/airprime.o drivers/usb/serial/belkin_sa.o drivers/usb/serial/cp2101.o drivers/usb/serial/cyberjack.o drivers/usb/serial/cypress_m8.o drivers/usb/serial/digi_acceleport.o drivers/usb/serial/empeg.o drivers/usb/serial/ftdi_sio.o drivers/usb/serial/garmin_gps.o drivers/usb/serial/hp4x.o drivers/usb/serial/io_edgeport.o drivers/usb/serial/io_ti.o drivers/usb/serial/ipaq.o drivers/usb/serial/ipw.o drivers/usb/serial/ir-usb.o drivers/usb/serial/keyspan.o drivers/usb/serial/keyspan_pda.o drivers/usb/serial/kl5kusb105.o drivers/usb/serial/kobil_sct.o drivers/usb/serial/mct_u232.o drivers/usb/serial/omninet.o drivers/usb/serial/pl2303.o drivers/usb/serial/safe_serial.o drivers/usb/serial/ti_usb_3410_5052.o drivers/usb/serial/usbserial.o drivers/usb/serial/visor.o drivers/usb/serial/whiteheat.o drivers/usb/storage/usb-storage.o fs/affs/affs.o fs/autofs/autofs.o fs/autofs4/autofs4.o fs/befs/befs.o fs/bfs/bfs.o fs/cifs/cifs.o fs/cramfs/cramfs.o fs/efs/efs.o fs/exportfs/exportfs.o fs/ext3/ext3.o fs/fat/fat.o fs/freevxfs/freevxfs.o fs/hfs/hfs.o fs/hfsplus/hfsplus.o fs/jbd/jbd.o fs/jffs2/jffs2.o fs/jfs/jfs.o fs/lockd/lockd.o fs/minix/minix.o fs/msdos/msdos.o fs/ncpfs/ncpfs.o fs/nfs/nfs.o fs/nfsd/nfsd.o fs/nls/nls_cp1250.o fs/nls/nls_cp1251.o fs/nls/nls_cp1255.o fs/nls/nls_cp737.o fs/nls/nls_cp775.o fs/nls/nls_cp850.o fs/nls/nls_cp852.o fs/nls/nls_cp855.o fs/nls/nls_cp857.o fs/nls/nls_cp860.o fs/nls/nls_cp861.o fs/nls/nls_cp862.o fs/nls/nls_cp863.o fs/nls/nls_cp864.o fs/nls/nls_cp865.o fs/nls/nls_cp866.o fs/nls/nls_cp869.o fs/nls/nls_cp874.o fs/nls/nls_cp932.o fs/nls/nls_cp936.o fs/nls/nls_cp949.o fs/nls/nls_cp950.o fs/nls/nls_euc-jp.o fs/nls/nls_iso8859-1.o fs/nls/nls_iso8859-13.o fs/nls/nls_iso8859-14.o fs/nls/nls_iso8859-15.o fs/nls/nls_iso8859-2.o fs/nls/nls_iso8859-3.o fs/nls/nls_iso8859-4.o fs/nls/nls_iso8859-5.o fs/nls/nls_iso8859-6.o fs/nls/nls_iso8859-7.o fs/nls/nls_iso8859-9.o fs/nls/nls_koi8-r.o fs/nls/nls_koi8-ru.o fs/nls/nls_koi8-u.o fs/nls/nls_utf8.o fs/qnx4/qnx4.o fs/reiserfs/reiserfs.o fs/romfs/romfs.o fs/smbfs/smbfs.o fs/sysv/sysv.o fs/udf/udf.o fs/ufs/ufs.o fs/vfat/vfat.o fs/xfs/xfs.o lib/crc-ccitt.o lib/libcrc32c.o lib/zlib_deflate/zlib_deflate.o net/802/p8022.o net/802/psnap.o net/8021q/8021q.o net/appletalk/appletalk.o net/atm/atm.o net/atm/br2684.o net/atm/clip.o net/atm/lec.o net/bluetooth/bluetooth.o net/bluetooth/bnep/bnep.o net/bluetooth/cmtp/cmtp.o net/bluetooth/hidp/hidp.o net/bluetooth/l2cap.o net/bluetooth/rfcomm/rfcomm.o net/bluetooth/sco.o net/bridge/bridge.o net/bridge/netfilter/ebt_802_3.o net/bridge/netfilter/ebt_among.o net/bridge/netfilter/ebt_arp.o net/bridge/netfilter/ebt_arpreply.o net/bridge/netfilter/ebt_dnat.o net/bridge/netfilter/ebt_ip.o net/bridge/netfilter/ebt_limit.o net/bridge/netfilter/ebt_log.o net/bridge/netfilter/ebt_mark.o net/bridge/netfilter/ebt_mark_m.o net/bridge/netfilter/ebt_pkttype.o net/bridge/netfilter/ebt_redirect.o net/bridge/netfilter/ebt_snat.o net/bridge/netfilter/ebt_stp.o net/bridge/netfilter/ebt_ulog.o net/bridge/netfilter/ebt_vlan.o net/bridge/netfilter/ebtable_broute.o net/bridge/netfilter/ebtable_filter.o net/bridge/netfilter/ebtable_nat.o net/bridge/netfilter/ebtables.o net/ieee80211/ieee80211.o net/ieee80211/ieee80211_crypt.o net/ieee80211/ieee80211_crypt_ccmp.o net/ieee80211/ieee80211_crypt_tkip.o net/ipv4/ah4.o net/ipv4/esp4.o net/ipv4/ip_gre.o net/ipv4/ipcomp.o net/ipv4/ipip.o net/ipv4/ipvs/ip_vs.o net/ipv4/ipvs/ip_vs_dh.o net/ipv4/ipvs/ip_vs_ftp.o net/ipv4/ipvs/ip_vs_lblc.o net/ipv4/ipvs/ip_vs_lblcr.o net/ipv4/ipvs/ip_vs_lc.o net/ipv4/ipvs/ip_vs_nq.o net/ipv4/ipvs/ip_vs_rr.o net/ipv4/ipvs/ip_vs_sed.o net/ipv4/ipvs/ip_vs_sh.o net/ipv4/ipvs/ip_vs_wlc.o net/ipv4/ipvs/ip_vs_wrr.o net/ipv4/multipath_drr.o net/ipv4/multipath_random.o net/ipv4/multipath_rr.o net/ipv4/multipath_wrandom.o net/ipv4/netfilter/arp_tables.o net/ipv4/netfilter/arpt_mangle.o net/ipv4/netfilter/arptable_filter.o net/ipv4/netfilter/ip_conntrack.o net/ipv4/netfilter/ip_conntrack_amanda.o net/ipv4/netfilter/ip_conntrack_ftp.o net/ipv4/netfilter/ip_conntrack_irc.o net/ipv4/netfilter/ip_conntrack_proto_sctp.o net/ipv4/netfilter/ip_conntrack_tftp.o net/ipv4/netfilter/ip_nat.o net/ipv4/netfilter/ip_nat_amanda.o net/ipv4/netfilter/ip_nat_ftp.o net/ipv4/netfilter/ip_nat_irc.o net/ipv4/netfilter/ip_nat_snmp_basic.o net/ipv4/netfilter/ip_nat_tftp.o net/ipv4/netfilter/ip_queue.o net/ipv4/netfilter/ip_tables.o net/ipv4/netfilter/ipt_CLASSIFY.o net/ipv4/netfilter/ipt_CLUSTERIP.o net/ipv4/netfilter/ipt_CONNMARK.o net/ipv4/netfilter/ipt_DSCP.o net/ipv4/netfilter/ipt_ECN.o net/ipv4/netfilter/ipt_LOG.o net/ipv4/netfilter/ipt_MARK.o net/ipv4/netfilter/ipt_MASQUERADE.o net/ipv4/netfilter/ipt_NETMAP.o net/ipv4/netfilter/ipt_NOTRACK.o net/ipv4/netfilter/ipt_REDIRECT.o net/ipv4/netfilter/ipt_REJECT.o net/ipv4/netfilter/ipt_SAME.o net/ipv4/netfilter/ipt_TCPMSS.o net/ipv4/netfilter/ipt_TOS.o net/ipv4/netfilter/ipt_ULOG.o net/ipv4/netfilter/ipt_addrtype.o net/ipv4/netfilter/ipt_ah.o net/ipv4/netfilter/ipt_comment.o net/ipv4/netfilter/ipt_connmark.o net/ipv4/netfilter/ipt_conntrack.o net/ipv4/netfilter/ipt_dscp.o net/ipv4/netfilter/ipt_ecn.o net/ipv4/netfilter/ipt_esp.o net/ipv4/netfilter/ipt_hashlimit.o net/ipv4/netfilter/ipt_helper.o net/ipv4/netfilter/ipt_iprange.o net/ipv4/netfilter/ipt_length.o net/ipv4/netfilter/ipt_limit.o net/ipv4/netfilter/ipt_mac.o net/ipv4/netfilter/ipt_mark.o net/ipv4/netfilter/ipt_multiport.o net/ipv4/netfilter/ipt_owner.o net/ipv4/netfilter/ipt_physdev.o net/ipv4/netfilter/ipt_pkttype.o net/ipv4/netfilter/ipt_realm.o net/ipv4/netfilter/ipt_recent.o net/ipv4/netfilter/ipt_sctp.o net/ipv4/netfilter/ipt_state.o net/ipv4/netfilter/ipt_tcpmss.o net/ipv4/netfilter/ipt_tos.o net/ipv4/netfilter/ipt_ttl.o net/ipv4/netfilter/iptable_filter.o net/ipv4/netfilter/iptable_mangle.o net/ipv4/netfilter/iptable_nat.o net/ipv4/netfilter/iptable_raw.o net/ipv4/xfrm4_tunnel.o net/ipv6/ah6.o net/ipv6/esp6.o net/ipv6/ip6_tunnel.o net/ipv6/ipcomp6.o net/ipv6/ipv6.o net/ipv6/netfilter/ip6_tables.o net/ipv6/netfilter/ip6t_LOG.o net/ipv6/netfilter/ip6t_MARK.o net/ipv6/netfilter/ip6t_ah.o net/ipv6/netfilter/ip6t_dst.o net/ipv6/netfilter/ip6t_esp.o net/ipv6/netfilter/ip6t_eui64.o net/ipv6/netfilter/ip6t_frag.o net/ipv6/netfilter/ip6t_hbh.o net/ipv6/netfilter/ip6t_hl.o net/ipv6/netfilter/ip6t_ipv6header.o net/ipv6/netfilter/ip6t_length.o net/ipv6/netfilter/ip6t_limit.o net/ipv6/netfilter/ip6t_mac.o net/ipv6/netfilter/ip6t_mark.o net/ipv6/netfilter/ip6t_multiport.o net/ipv6/netfilter/ip6t_owner.o net/ipv6/netfilter/ip6t_physdev.o net/ipv6/netfilter/ip6t_rt.o net/ipv6/netfilter/ip6table_filter.o net/ipv6/netfilter/ip6table_mangle.o net/ipv6/netfilter/ip6table_raw.o net/ipv6/xfrm6_tunnel.o net/ipx/ipx.o net/irda/ircomm/ircomm-tty.o net/irda/ircomm/ircomm.o net/irda/irda.o net/irda/irlan/irlan.o net/key/af_key.o net/llc/llc.o net/sched/cls_basic.o net/sched/cls_fw.o net/sched/cls_route.o net/sched/cls_rsvp.o net/sched/cls_rsvp6.o net/sched/cls_tcindex.o net/sched/cls_u32.o net/sched/em_cmp.o net/sched/em_meta.o net/sched/em_nbyte.o net/sched/em_u32.o net/sched/sch_atm.o net/sched/sch_cbq.o net/sched/sch_dsmark.o net/sched/sch_gred.o net/sched/sch_hfsc.o net/sched/sch_htb.o net/sched/sch_ingress.o net/sched/sch_netem.o net/sched/sch_prio.o net/sched/sch_red.o net/sched/sch_sfq.o net/sched/sch_tbf.o net/sched/sch_teql.o net/sctp/sctp.o net/sunrpc/auth_gss/auth_rpcgss.o net/sunrpc/auth_gss/rpcsec_gss_krb5.o net/sunrpc/auth_gss/rpcsec_gss_spkm3.o net/sunrpc/sunrpc.o net/wanrouter/wanrouter.o
make[1]: *** [__modpost]
错误 139
make: *** [modules]
错误 2
[Filter@zhoub linux-2.6.14.1]$

解决办法:在配置菜单中,将Networking-->Networking Support-->Bluetooth subsystem support去掉,即将它的value值设为N,而不是Y或M

然后保存配置,编译成功


ComputerInBook 发表于:2008.04.20 17:53 ::分类: ( 软件编程相关 ) ::阅读:(543次) :: 评论 (0) :: 引用 (0)
===========================================================
恭喜您成功申请ITPUB BLOG
===========================================================
恭喜您成功申请ITPUB BLOG。 查看全文
ComputerInBook 发表于:2006.11.23 14:00 ::分类: ( 一般分类 ) ::阅读:(147次) :: 评论 (0) :: 引用 (0)