linux-3.6.6移植----基于mini6410

zzzz:http://blog.csdn.net/longtian635241/article/details/8166614

1.从www.kernel.org上下载kernel-3.6.6.tar.bz2

2.解压tar jxfv kernel-3.6.6.tar.bz2

3.cd linux-3.6.6/

4.vi Makefile,修改

#ARCH ?= $(SUBARCH)

#CROSS_COMPILE ?=

ARCH ?= arm

#CROSS_COMPILE   ?= /usr/local/arm/4.3.2/bin/arm-linux-       (这样修改后编译时还是会有错误,显示没有arm-none-linux-gnueabi-gcc,不过设置下环境变量也能编译通过)

CROSS_COMPILE   ?= /usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-    (这样修改省事省力,不需第五步

5.设置环境变量:export PATH=$PATH:/usr/local/arm/4.3.2/bin/arm-linux-

否则找不到arm-none-linux-编译器。这样就可以可以直接make尝试编译了!


6.这样修改后就可以使用

make s3c6400_defconfig

来生成对s3c6410的支持。 因为arch/arm/configs下面只有s3c6400_defconfig和6410

最相近。

 

7.这样修改后就可以使用

make s3c6400_defconfig

来生成对s3c6410的支持。 因为arch/arm/configs下面只有s3c6400_defconfig和6410最相近。

8.make menuconfig

System Type  ---> 

 -*- S3C64XX DMA                                                                             | | 
  | |                     [ ] SMDK6400                                                                                | | 
  | |                     [ ] A&W6410                                                                                 | | 
  | |                     [ ] MINI6410                                                                                | | 
  | |                     [ ] REAL6410                                                                                | | 
  | |                     [*] SMDK6410                                                                                | | 
  | |                           SMDK6410 MMC/SD slot setup (Use channel 0 only)  --->                                 | | 
  | |                     [ ]   Support Wolfson Microelectronics 1190-EV1 PMIC card                                   | | 
  | |                     [ ]   Support Wolfson Microelectronics 1192-EV1 PMIC card                                   | | 
  | |                     [ ] NCP                                                                                     | | 
  | |                     [ ] Airgoo HMT                                                                              | | 
  | |                     [ ] SmartQ 5                                                                                | | 
  | |                     [ ] SmartQ 7                                                                                | | 
  | |                     [ ] Wolfson Cragganmore 6410   

仅选择smdk6410,我的移植选择这个,但是你想偷懒也可以选择mini6410

9.make

10.烧进idea6410开发板,这是你发现能起来了,串口有输出了,但是分区信息等都没有!

注意:如果你选择mini6410编译,他已经移植了dm9000,分区,lcd支持!做如下处理就可以看到qt界面!

a:MTD分区支持

Device Drivers  --->

  <*> Memory Technology Device (MTD) support  ---> 

                          <*>   Direct char device access to MTD devices                                              | | 
  | |                     -*-   Common interface to block layer for MTD 'translation layers'                          | | 
  | |                     <*>   Caching block device access to MTD devices

b:DM9000支持

[*] Networking support  --->

Networking options  --->

 <*> Packet socket                                                                           | | 
  | |                     <*> Unix domain sockets                                                                     | | 
  | |                     <*>   UNIX: socket monitoring interface                                                     | | 
  | |                     < > Transformation user configuration interface (NEW)                                       | | 
  | |                     [ ] Transformation sub policy support (EXPERIMENTAL) (NEW)                                  | | 
  | |                     [ ] Transformation migrate database (EXPERIMENTAL) (NEW)                                    | | 
  | |                     [ ] Transformation statistics (EXPERIMENTAL) (NEW)                                          | | 
  | |                     < > PF_KEY sockets (NEW)                                                                    | | 
  | |                     [*] TCP/IP networking                                                                       | | 
  | |                     [*]   IP: multicasting                                                                      | | 
  | |                     [*]   IP: advanced router                                                                   | | 
  | |                     [*]     FIB TRIE statistics                                                                 | | 
  | |                     [*]     IP: policy routing                                                                  | | 
  | |                     [*]     IP: equal cost multipath                                                            | | 
  | |                     [*]     IP: verbose route monitoring                                                        | | 
  | |                     [*]   IP: kernel level autoconfiguration                                                                        //其他是网络必须,NFS支持这两项一定的选上!

                           [*]     IP: DHCP support                        

 

 Device Drivers  --->

 [*] Network device support  --->

[*]   Ethernet driver support (NEW)  --->

  <*>   DM9000 support                                                                        | | 
  | |                     [ ]     Force simple NSR based PHY polling (NEW)                                            | | 
  | |                     < >   Dave ethernet support (DNET) (NEW)                                                

c:NFS支持

b步全部做好后再

File systems  --->

  [*] Network File Systems  --->   //b要设置后才会出现

--- Network File Systems                                                                    | | 
  | |                     <*>   NFS client support                                                                    | | 
  | |                     <*>     NFS client support for NFS version 2 (NEW)                                          | | 
  | |                     <*>     NFS client support for NFS version 3 (NEW)                                          | | 
  | |                     [*]       NFS client support for the NFSv3 ACL protocol extension                           | | 
  | |                     <*>     NFS client support for NFS version 4                                                | | 
  | |                     [*]     Provide swap over NFS support                                                       | | 
  | |                     [*]   NFS client support for NFSv4.1 (EXPERIMENTAL)                                         | | 
  | |                     (kernel.org) NFSv4.1 Implementation ID Domain (NEW)                                         | | 
  | |                     [*]   Root file system on NFS                                                               | | 
  | |                     [*]   Use the legacy NFS DNS resolver      

d.上面步骤做完后能挂载nfs系统了

#设置bootcmd
setenv bootcmd nand read 0xc0008000 0x100000 0x300000\;bootm 0xc0008000

#设置NFS启动 bootargs
setenv bootargs "root=/dev/nfs nfsroot=192.168.1.228:/home/song/nfs_share ip=192.168.1.128:192.168.1.228:192.168.1.1:255.255.255.0:www.urbetter.com:eth0:off console=ttySAC0,115200"

e.但是没有可爱企鹅,配置:

      Device Drivers  --->

  Graphics support  --->

 < > Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)  --->                   | | 
  | |                     < > Lowlevel video output switch controls                                                   | | 
  | |                     <*> Support for frame buffer devices  --->    | |                     <*>   Samsung S3C framebuffer support   (这个的选)                                               | | 
  | |                     [ ] Exynos Video driver support  --->                                                       | | 
  | |                     [ ] Backlight & LCD device support  --->                                                    | | 
  | |                         Console display driver support  --->              <*> Framebuffer Console support                                       | | 
  | |                     [*] Bootup logo  --->     | |                     [*]   Standard 224-color Linux logo

f.如果挂载文件系统不能进入系统一定的选上进程间通信选项

     General setup  --->                                                                     | | 
|                     [*] System V IPC    

g.所有的都配置好了还是没有反应,的修改代码

# vi mach-mini6410.c

将480*272的参数改为

static struct fb_videomode mini6410_lcd_type0_timing = {
 /* 4.3" 480x272 */
 .left_margin = 2,
 .right_margin = 2,
 .upper_margin = 2,
 .lower_margin = 2,
 .hsync_len = 41,
 .vsync_len = 10,
 .xres  = 480,
 .yres  = 272,
};

这样就可以看到图形界面了!

这其中有问题,不知道为啥,只将内核传进内存运行,usb鼠标是可用的,但是固化到falsh,挂载nfs就不能用了~求高人指点!

具体步骤:dnw c0008000

bootm c0008000 这样可以用

但:dnw c0008000

nand erase 100000 300000;nand write c0008000 100000 300000 这样usb鼠标就不能用了~按理如果驱动有问题内核都是一样的,为啥有一种情况可用额~提示错误

ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
s3c2410-ohci s3c2410-ohci: S3C24XX OHCI
s3c2410-ohci s3c2410-ohci: new USB bus registered, assigned bus number 1
s3c2410-ohci s3c2410-ohci: irq 79, io mem 0x74300000
s3c2410-ohci s3c2410-ohci: init err (00000000 0000)
s3c2410-ohci s3c2410-ohci: can't start s3c24xx
s3c2410-ohci s3c2410-ohci: startup error -75
s3c2410-ohci s3c2410-ohci: USB bus 1 deregistered
s3c2410-ohci: probe of s3c2410-ohci failed with error -75


=========================================

你可能感兴趣的:(linux-3.6.6移植----基于mini6410)