Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

linux 2.6.24ÔÚS3C2410ÉϵÄÒÆÖ²(1)(»ùÓÚGEC2410)

1.ÏÂÔØlinux kernelÔ´´úÂë
µ½http://www.kernel.org/ÏÂÔØlinuxÄÚºËÔ´´úÂë,ÕâÀïÎÒÃÇʹÓÃ2.6.24.4µÄÄÚºË.
½âѹlinux-2.6.24.4.tar.bz2
[matt@localhost GEC2410]$ tar -xvjf linux-2.6.24.4.tar.bz2
[matt@localhost GEC2410]$ cd linux-2.6.24.4
2.ÐÞ¸ÄMakefile,ÉèÖý»²æ±àÒëÆ÷
ARCH  ?= arm
CROSS_COMPILE ?= /home/GEC2410/toolchain/arm-softfloat-linux-gnu/bin/arm-softfloat-linux-gnu-
3.ÉèÖÃNand·ÖÇø
ÐÞ¸Äarch/arm/plat-s3c24xx/common-smdk.cÖÐ108ÐеÄsmdk_default_nand_part[]ÈçÏÂ:
[matt@localhost linux-2.6.24.4]$ vim arch/arm/plat-s3c24xx/common-smdk.c
static struct mtd_partition smdk_default_nand_part[] = {
#if 0
[0] = {
.name = "Boot Agent",
.size = SZ_16K,
.offset = 0,
},
[1] = {
.name = "S3C2410 flash partition 1",
.offset = 0,
.size = SZ_2M,
},
[2] = {
.name = "S3C2410 flash partition 2",
.offset = SZ_4M,
.size = SZ_4M,
},
[3] = {
.name = "S3C2410 flash partition 3",
.offset = SZ_8M,
.size = SZ_2M,
},
[4] = {
.name = "S3C2410 flash partition 4",
.offset = SZ_1M * 10,
.size = SZ_4M,
},
[5] = {
.name = "S3C2410 flash partition 5",
.offset = SZ_1M * 14,
.size = SZ_1M * 10,
},
[6] = {
.name = "S3C2410 flash partition 6",
.offset = SZ_1M * 24,
.size = SZ_1M * 24,
},
[7] = {
.name = "S3C2410 flash partition 7",
.offset = SZ_1M * 48,
.size = SZ_16M,
}
#endif
[0] = {
.name = "U-Boot",
.size = SZ_1M,
.offset = 0,
},
[1] = {
.name = "Linux Kernel",
.offset = SZ_1M,
.size = SZ_1M*3,
},
[2] = {
.name = "Root",
.offset = SZ_4M,
.size = SZ_4M*10,
},
[3] = {
.name = "User",
.offset = SZ_4M*11,
.size = SZ_4M*5,
}
};
4 ÅäÖÃÄÚºË
4.1 Ö§³ÖÆô¶¯Ê±¹ÒÔØdevfs
ΪÁËÎÒÃǵÄÄÚºËÖ§³ÖdevfsÒÔ¼°ÔÚÆô¶¯Ê±²¢ÔÚ/sbin/initÔËÐÐ֮ǰÄÜ×Ô¶¯¹ÒÔØ/devΪdevfsÎļþϵͳ£¬ÐÞ¸Äfs/KconfigÎļþ
vi fs/Kconfig
ÕÒµ½menu "Pseudo filesystems"
Ìí¼ÓÈçÏÂÓï¾ä£º
config DEVFS_FS
bool "/dev file system support (OBSOLETE)"
default y
config DEVFS_MOUNT
bool "Au


Ïà¹ØÎĵµ£º

ÈçºÎ¹²ÏílinuxÓëxpµÄÎļþ¼Ð

step1£º
              ÔÚubuntuÀïÃæÓÒ»÷Òª¹²ÏíµÄÎļþ¼Ð£¬»áÌáʾ°²×°Èí¼þ£¬Ñ¡Ôñ°²×°¼´¿É£»
step2£º
              ʵÏÖxpÄäÃû·ÃÎÊUbuntu¹²ÏíÎļþ¼Ð£¬ ÔòÖ»ÐèÐÞ¸Ä/etc/samba/smb.co ......

±àÒëÒ»¸ölinuxÄÚºËÄ£¿é

¿´Ô´´úÂë¡£
#include <linux/kernel.h>
#include <linux/module.h>
#if CONFIG_MODVERSIONS==1
#define MODVERSIONS
#include <linux/modversions.h>
#endif
int init_module()
{
printk("Hello, I'm kernel\n");
return 0;
}
void cleanup_module()
{
printk("I'm kernel, bye\n");
} ......

linuxÄÚºËÇý¶¯

ÄÚºËÇý¶¯·ÖÀà
Çý¶¯ÊµÏÖ¹¦ÄÜ£º
¶Á
д
´ò¿ª
ÉèÖÃ
×îÖÕÄ¿µÄ²Ù×÷Ó²¼þÉ豸£ºÊý¾Ý´«ÊäºÍÊý¾Ý¿ØÖÆ
Ó²¼þ²Î¿¼ÊֲᣬÄÚºËÌṩµÄ¹¦ÄÜ£º²Ù×÷ʱÐò£¬×ÜÏßÈçºÎ²Ù×÷£¬ÄÚºËAPI
 
 
 
1.×Ö·ûÉ豸£¨char£©
2.¿éÉ豸£¨block£©
3.ÍøÂçÉ豸£¨net£©
 
 
ÄÚºËÄ£¿é²Ù×÷ÃüÁî
make
¼ÓÔØ:sudo modprobe ./Mo ......

redhat enterprise linux5.4 °²×° oracle 11g R2

Ò»£¬Ó²¼þÅäÖÃ×îµÍÒªÇó£º
32루X86£©£º
¸öÈËÈÏΪÖÁÉÙ1GÄڴ棨linux ÉÏ512M ¿ÉÒÔ£¬µ«Ì«¹ýÓÚÃãÇ¿ÁË£¬ÄÇÑùÈÝÒ×ËÀ»ú»ò¿¨×¡²»¶¯£¬»áÈÃÈË×¥¿ñµÄ;
windows 512M µÄ¿Ï¶¨²»ÐУ©

10GµÄ¿ÉÓô ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ