zl程序教程

您现在的位置是:首页 >  硬件

当前栏目

mini2440 uboot使用nfs方式引导内核,文件系统

内核 方式 文件系统 引导 NFS uboot 使用
2023-09-27 14:29:31 时间

成于坚持,败于止步

看了一段时间的u-boot了,到今天才真正完全实现u-boot引导内核和文件系统,顺利开机,在此记录完整过程

1、首先如果你u-boot还没有一直也没有关系,这里上传了一个已经移植好的u-boot,版本问2010.03,多谢tekkaman分享的这个源码

分享下载地址:u-boot-2010.03

编译uboot的过程就不在多说了,解压到你希望的目录下执行make,当时事前安装好交叉编译工具,这个相信大家都会

编译完成之后生成uboot.bin文件,使用mini2440自带的USB下载方式下载到开发板,选择v命令下载即可

开机界面如下,你的可能不完全显示的一样,这是经过我修改的

 


 

然后就要开始考虑怎么下载内核了,不错,要引导内核首先你需要把内核下载的你的内存中,那么首先配置好你的下载环境是最重要的

2、linux nfs安装与配置

在ubuntu下安装、配置nfs服务的步骤如下: 

安装nfs 

Ubuntu上默认是没有安装nfs服务器的,因此我们首先安装nfs服务器端: 

$sudo apt-get install nfs-kernel-server 

在一些文档中,提出还需要使用apt-get来手动安装nfs的客户端nfs-common,以及端口映射器portmap,但其实这是没有必要的,因为在安装nfs-kernel-server时,apt会自动为我们把它们安装好。

配置/etc/exports 

nfs允许挂载的目录及权限在文件/etc/exports中进行了定义。 

例如,我们要将根目录下的rootfs目录共享出来,那么我们需要在/etc/exports文件末尾添加如下一行:

/rootfs *(rw,sync,no_root_squash)

其中: /rootfs是要共享的目录,*代表允许所有的网络段访问,rw是可读写权限,sync是资料同步写入内存和硬盘,no_root_squash是nfs客户端分享目录使用者的权限,如果客户端使用的是root用户,那么对于该共享目录而言,该客户端就具有root权限。

nfs的安装如果大家还有疑问网上可以多查查

接下就要配置pc端和我们开发板端的ip等,以达到我们使用nfs这种方式下载image的目的

从新启动nfs

/etc/init.d/nfs-kernel-server restart

挂载方法:

mount 192.168.1.103:/root/tftpboot  /test

嵌入式要mount 的时候 使用

mount -o nolock 192.168.1.103:/root/tftpboot /mnt/net

3、配置开发板ip和主机ip

我的配置参数:

开发板ip:192.168.1.102

主机ip(pc端ip):192.168.1.103

uboot启动起来的使用printenv查看默认参数,包括开发板ip、server ip,还有其他一些启动参数

 


gatewayip=192.168.1.1   bootcmd=nfs 0x30008000 192.168.1.103:/root/tftpboot/w35_image.img ;bootm 30008000   bootargs=root=/dev/nfs rw nfsroot=192.168.1.103:/root/tftpboot/rootfs ip=192.168.1.102:192.168.1.1::255.255.255.0 console=ttySAC0,115200 init=/linuxrc mem=64M   Environment size: 460/131068 bytes   [u-boot@MINI2440]#   

 

上面打印出来的参数请参照设置,特别是以下说到的几个参数格外小心,他们直接关系到你的image是否可以成功下载,成功被引导,文件系统是否成功挂载并启动

其实为了使用nfs而设定的参数为以下以下几个:

ipaddr(开发板ip)

serverip(pc端作为服务器的ip)

gatewayip(使主机ip和开发板ip在同一个网段内)

bootcmd用于启动时下载image到指定的内存地址,同时使用bootm命令引导内核启动

bootargs 用于使用nfs方式挂载我们创建好的文件系统

其他参数从字面大家也可以理解,设置方法很简单,举例说明,设置bootcmd的方法

setenv bootcmd nfs 0x30008000 192.168.1.103:/root/tftpboot/w35_image.img \;bootm 30008000

其他设置方法依次类推,值得注意的是:设置完成必须保持到内存,下一次启动才会生效,使用saveenv命令

4、如何实现使用nfs下载image到指定内存

首先需要制作能被u-boot直接引导的内核image,通常,kernel的启动需要u-boot提供一些参数信息,比如ramdisk在RAM中的地址。经过编译后的u-boot在根目录下的tools目录中,会有个叫做mkimage的工具,他可以给zImage添加一个header,也就是说使得通常我们编译的内核zImage添加一个数据头信息部分,我们把添加头后的image通常叫uImage,uImage是可以被u-boot直接引导的内核镜像。

mkimage工具的使用介绍如下:

使用: 中括号括起来的是可选的
mkimage [-x] -A arch -O os -T type -C comp -a addr -e ep -n name -d data_file[:data_file...] image
选项:
-A:set architecture to arch //用于指定CPU类型,比如ARM
-O:set operating system to os //用于指定操作系统,比如Linux
-T:set image type to type //用于指定image类型,比如Kernel
-C:set compression type comp //指定压缩类型
-a:set load address to addr (hex) //指定image的载入地址
-e:set entry point to ep (hex) //内核的入口地址,一般为image的载入地址+0x40(信息头的大小)
-n:set image name to name //image在头结构中的命名
-d:use image data from datafile //无头信息的image文件名
-x:set XIP (execute in place) //设置执行位置

先将u-boot下的tools中的mkimage复制到主机的/usr/local/bin目录下,这样就可以在主机的任何目录下使用该工具了。

首先请确认你的uboot配置信息是否与我上面说到的一致,很重中,决定成败

现在我们进入kernel生成目录(一般是arch/arm/boot目录),然后执行如下命令,就会在该目录下生成一个uImage.img的镜像文件,把他复制到你的nfs配置好的目录下,我的是/root/tftpboot,这就是我们所说的uImage。当然你现在不想编译内核也没有关系,使用mini2440自带的image,我的是zImage_W35,打开终端,现操作如下:

 


file  rootfs  u-boot.bin  uImage  zImage_W35   root@ubuntu:~/tftpboot# mkimage -n mini2440_linux -A arm -O linux -T kernel -C none -a 0x30008000 -e 0x30008040 -d zImage_W35 w35_image.img   Image Name:   mini2440_linux   Created:      Fri Jun 21 08:37:58 2013   Image Type:   ARM Linux Kernel Image (uncompressed)   Data Size:    2266616 Bytes = 2213.49 kB = 2.16 MB   Load Address: 30008000   Entry Point:  30008040   root@ubuntu:~/tftpboot# ls   file  rootfs  u-boot.bin  uImage  w35_image.img  zImage_W35   root@ubuntu:~/tftpboot# chmod 777 w35_image.img    root@ubuntu:~/tftpboot# ls   file  rootfs  u-boot.bin  uImage  w35_image.img  zImage_W35   root@ubuntu:~/tftpboot#  
一定要记住修改文件的可执行权限,否则下载时可能提示你找不到文件,我最终生成的image名字就是w35_image.img

 

接下来你可以重启开发板看结果了

 


Using dm9000 device   File transfer via NFS from server 192.168.1.103; our IP address is 192.168.1.102   Filename /root/tftpboot/w35_image.img.   Load address: 0x30008000   Loading: #################################################################            #################################################################            #################################################################            #################################################################            #################################################################            #################################################################            #####################################################   done   Bytes transferred = 2266680 (229638 hex)   ## Booting kernel from Legacy Image at 30008000 ...      Image Name:   mini2440      Created:      2013-06-20  16:34:41 UTC      Image Type:   ARM Linux Kernel Image (uncompressed)      Data Size:    2266616 Bytes =  2.2 MB      Load Address: 30008000      Entry Point:  30008040      Verifying Checksum ... OK      XIP Kernel Image ... OK   Starting kernel ...   Uncompressing Linux................................................................................................................................................... done, booting the kernel.   Linux version 2.6.32.2-FriendlyARM (root@localhost.localdomain) (gcc version 4.4.3 (ctng-1.6.1) ) #18 Wed Apr 13 20:06:31 HKT 2011   CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177   CPU: VIVT data cache, VIVT instruction cache   Machine: FriendlyARM Mini2440 development board   Memory policy: ECC disabled, Data cache writeback   CPU S3C2440A (id 0x32440001)   S3C24XX Clocks, (c) 2004 Simtec Electronics   S3C244X: core 405.000 MHz, memory 101.250 MHz, peripheral 50.625 MHz   CLOCK: Slow mode (1.500 MHz), fast, MPLL on, UPLL on   Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256   Kernel command line: root=/dev/nfs rw nfsroot=192.168.1.103:/root/tftpboot/rootfs ip=192.168.1.102:192.168.1.1::255.255.255.0 console=ttySAC0,115200 init=/linuxrc mem=64M   PID hash table entries: 256 (order: -2, 1024 bytes)   Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)   Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)   Memory: 64MB = 64MB total   Memory: 60084KB available (4176K code, 451K data, 156K init, 0K highmem)   SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1   Hierarchical RCU implementation.   NR_IRQS:85   irq: clearing pending status 02000000   irq: clearing subpending status 00000002   Console: colour dummy device 80x30   console [ttySAC0] enabled   Calibrating delay loop... 201.93 BogoMIPS (lpj=504832)   Mount-cache hash table entries: 512   CPU: Testing write buffer coherency: ok   NET: Registered protocol family 16   S3C2440: Initialising architecture   S3C2440: IRQ Support   S3C24XX DMA Driver, (c) 2003-2004,2006 Simtec Electronics   DMA channel 0 at c4808000, irq 33   DMA channel 1 at c4808040, irq 34   DMA channel 2 at c4808080, irq 35   DMA channel 3 at c48080c0, irq 36   S3C244X: Clock Support, DVS off   bio: create slab  bio-0  at 0   SCSI subsystem initialized   usbcore: registered new interface driver usbfs   usbcore: registered new interface driver hub   usbcore: registered new device driver usb   s3c-i2c s3c2440-i2c: slave address 0x10   s3c-i2c s3c2440-i2c: bus frequency set to 98 KHz   s3c-i2c s3c2440-i2c: i2c-0: S3C I2C adapter   NET: Registered protocol family 2   IP route cache hash table entries: 1024 (order: 0, 4096 bytes)   TCP established hash table entries: 2048 (order: 2, 16384 bytes)   TCP bind hash table entries: 2048 (order: 1, 8192 bytes)   TCP: Hash tables configured (established 2048 bind 2048)   TCP reno registered   NET: Registered protocol family 1   RPC: Registered udp transport module.   RPC: Registered tcp transport module.   RPC: Registered tcp NFSv4.1 backchannel transport module.   NetWinder Floating Point Emulator V0.97 (double precision)   yaffs Apr 13 2011 18:29:56 Installing.    msgmni has been set to 117   alg: No test for stdrng (krng)   io scheduler noop registered (default)   Console: switching to colour frame buffer device 40x15   fb0: s3c2410fb frame buffer device   backlight       initialized   leds    initialized   buttons initialized   pwm     initialized   adc     initialized   s3c2440-uart.0: s3c2410_serial0 at MMIO 0x50000000 (irq = 70) is a S3C2440   s3c2440-uart.1: s3c2410_serial1 at MMIO 0x50004000 (irq = 73) is a S3C2440   s3c2440-uart.2: s3c2410_serial2 at MMIO 0x50008000 (irq = 76) is a S3C2440   loop: module loaded   S3C24XX NAND Driver, (c) 2004 Simtec Electronics   s3c24xx-nand s3c2440-nand: Tacls=3, 29ns Twrph0=7 69ns, Twrph1=3 29ns   s3c24xx-nand s3c2440-nand: NAND soft ECC   NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND 256MiB 3,3V 8-bit)   Scanning device for bad blocks   Creating 5 MTD partitions on "NAND 256MiB 3,3V 8-bit":   0x000000000000-0x000000040000 : "supervivi"   0x000000040000-0x000000060000 : "param"   0x000000060000-0x000000560000 : "Kernel"   0x000000560000-0x000040560000 : "root"   mtd: partition "root" extends beyond the end of device "NAND 256MiB 3,3V 8-bit" -- size truncated to 0xfaa0000   0x000000000000-0x000040000000 : "nand"   mtd: partition "nand" extends beyond the end of device "NAND 256MiB 3,3V 8-bit" -- size truncated to 0x10000000   dm9000 Ethernet Driver, V1.31   eth0: dm9000e at c4814300,c4818304 IRQ 51 MAC: 08:90:90:90:90:90 (chip)   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 42, io mem 0x49000000   usb usb1: New USB device found, idVendor=1d6b, idProduct=0001   usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1   usb usb1: Product: S3C24XX OHCI   usb usb1: Manufacturer: Linux 2.6.32.2-FriendlyARM ohci_hcd   usb usb1: SerialNumber: s3c24xx   usb usb1: configuration #1 chosen from 1 choice   hub 1-0:1.0: USB hub found   hub 1-0:1.0: 2 ports detected   Initializing USB Mass Storage driver...   usbcore: registered new interface driver usb-storage   USB Mass Storage support registered.   usbcore: registered new interface driver ums-alauda   usbcore: registered new interface driver ums-cypress   usbcore: registered new interface driver ums-datafab   usbcore: registered new interface driver ums-freecom   usbcore: registered new interface driver ums-isd200   usbcore: registered new interface driver ums-jumpshot   usbcore: registered new interface driver ums-karma   usbcore: registered new interface driver ums-onetouch   usbcore: registered new interface driver ums-sddr09   usbcore: registered new interface driver ums-sddr55   usbcore: registered new interface driver ums-usbat   usbcore: registered new interface driver usbserial   USB Serial support registered for generic   usbcore: registered new interface driver usbserial_generic   usbserial: USB Serial Driver core   USB Serial support registered for aircable   usbcore: registered new interface driver aircable   USB Serial support registered for ark3116   usbcore: registered new interface driver ark3116   USB Serial support registered for Belkin / Peracom / GoHubs USB Serial Adapter   usbcore: registered new interface driver belkin   belkin_sa: v1.2:USB Belkin Serial converter driver   USB Serial support registered for ch341-uart   usbcore: registered new interface driver ch341   USB Serial support registered for cp210x   usbcore: registered new interface driver cp210x   cp210x: v0.09:Silicon Labs CP210x RS232 serial adaptor driver   USB Serial support registered for Reiner SCT Cyberjack USB card reader   usbcore: registered new interface driver cyberjack   cyberjack: v1.01 Matthias Bruestle   cyberjack: REINER SCT cyberJack pinpad/e-com USB Chipcard Reader Driver   USB Serial support registered for DeLorme Earthmate USB   USB Serial support registered for HID- COM RS232 Adapter   USB Serial support registered for Nokia CA-42 V2 Adapter   usbcore: registered new interface driver cypress   cypress_m8: v1.09:Cypress USB to Serial Driver   USB Serial support registered for Digi 2 port USB adapter   USB Serial support registered for Digi 4 port USB adapter   usbcore: registered new interface driver digi_acceleport   digi_acceleport: v1.80.1.2:Digi AccelePort USB-2/USB-4 Serial Converter driver   USB Serial support registered for Edgeport 2 port adapter   USB Serial support registered for Edgeport 4 port adapter   USB Serial support registered for Edgeport 8 port adapter   USB Serial support registered for EPiC device   usbcore: registered new interface driver io_edgeport   io_edgeport: v2.7:Edgeport USB Serial Driver   USB Serial support registered for Edgeport TI 1 port adapter   USB Serial support registered for Edgeport TI 2 port adapter   usbcore: registered new interface driver io_ti   io_ti: v0.7mode043006:Edgeport USB Serial Driver   USB Serial support registered for empeg   usbcore: registered new interface driver empeg   empeg: v1.2:USB Empeg Mark I/II Driver   USB Serial support registered for FTDI USB Serial Device   usbcore: registered new interface driver ftdi_sio   ftdi_sio: v1.5.0:USB FTDI Serial Converters Driver   USB Serial support registered for funsoft   usbcore: registered new interface driver funsoft   USB Serial support registered for Garmin GPS usb/tty   usbcore: registered new interface driver garmin_gps   garmin_gps: v0.33:garmin gps driver   USB Serial support registered for hp4X   usbcore: registered new interface driver hp4X   hp4x: v1.00:HP4x (48/49) Generic Serial driver   USB Serial support registered for PocketPC PDA   usbcore: registered new interface driver ipaq   ipaq: v0.5:USB PocketPC PDA driver   USB Serial support registered for IPWireless converter   usbcore: registered new interface driver ipwtty   ipw: v0.3:IPWireless tty driver   USB Serial support registered for IR Dongle   usbcore: registered new interface driver ir-usb   ir_usb: v0.4:USB IR Dongle driver   USB Serial support registered for iuu_phoenix   usbcore: registered new interface driver iuu_phoenix   iuu_phoenix: v0.11:Infinity USB Unlimited Phoenix driver   USB Serial support registered for Keyspan - (without firmware)   USB Serial support registered for Keyspan 1 port adapter   USB Serial support registered for Keyspan 2 port adapter   USB Serial support registered for Keyspan 4 port adapter   usbcore: registered new interface driver keyspan   keyspan: v1.1.5:Keyspan USB to Serial Converter Driver   USB Serial support registered for Keyspan PDA   USB Serial support registered for Keyspan PDA - (prerenumeration)   USB Serial support registered for Xircom / Entregra PGS - (prerenumeration)   usbcore: registered new interface driver keyspan_pda   keyspan_pda: v1.1:USB Keyspan PDA Converter driver   USB Serial support registered for KL5KUSB105D / PalmConnect   usbcore: registered new interface driver kl5kusb105d   kl5kusb105: v0.3a:KLSI KL5KUSB105 chipset USB- Serial Converter driver   USB Serial support registered for KOBIL USB smart card terminal   usbcore: registered new interface driver kobil   kobil_sct: 21/05/2004:KOBIL USB Smart Card Terminal Driver (experimental)   USB Serial support registered for MCT U232   usbcore: registered new interface driver mct_u232   mct_u232: z2.1:Magic Control Technology USB-RS232 converter driver   USB Serial support registered for Moschip 2 port adapter   mos7720: 1.0.0.4F:Moschip USB Serial Driver   usbcore: registered new interface driver moschip7720   USB Serial support registered for Moschip 7840/7820 USB Serial Driver   mos7840: 1.3.2:Moschip 7840/7820 USB Serial Driver   usbcore: registered new interface driver mos7840   USB Serial support registered for moto-modem   usbcore: registered new interface driver moto-modem   USB Serial support registered for navman   usbcore: registered new interface driver navman   USB Serial support registered for ZyXEL - omni.net lcd plus usb   usbcore: registered new interface driver omninet   omninet: v1.1:USB ZyXEL omni.net LCD PLUS Driver   USB Serial support registered for opticon   usbcore: registered new interface driver opticon   USB Serial support registered for GSM modem (1-port)   usbcore: registered new interface driver option   option: v0.7.2:USB Driver for GSM modems   USB Serial support registered for oti6858   usbcore: registered new interface driver oti6858   USB Serial support registered for pl2303   usbcore: registered new interface driver pl2303   pl2303: Prolific PL2303 USB to serial adaptor driver   USB Serial support registered for Qualcomm USB modem   usbcore: registered new interface driver qcserial   safe_serial: v0.0b:USB Safe Encapsulated Serial   USB Serial support registered for safe_serial   usbcore: registered new interface driver safe_serial   USB Serial support registered for siemens_mpi   usbcore: registered new interface driver siemens_mpi   Driver for Siemens USB/MPI adapter   Version 0.1 09/26/2005 Thomas Hergenhahn@web.de http://libnodave.sf.net   USB Serial support registered for Sierra USB modem   usbcore: registered new interface driver sierra   sierra: v.1.3.8:USB Driver for Sierra Wireless USB modems   USB Serial support registered for SPCP8x5   usbcore: registered new interface driver spcp8x5   spcp8x5: v0.04:SPCP8x5 USB to serial adaptor driver   USB Serial support registered for symbol   usbcore: registered new interface driver symbol   USB Serial support registered for TI USB 3410 1 port adapter   USB Serial support registered for TI USB 5052 2 port adapter   usbcore: registered new interface driver ti_usb_3410_5052   ti_usb_3410_5052: v0.9:TI USB 3410/5052 Serial Driver   USB Serial support registered for Handspring Visor / Palm OS   USB Serial support registered for Sony Clie 3.5   USB Serial support registered for Sony Clie 5.0   usbcore: registered new interface driver visor   visor: USB HandSpring Visor / Palm OS driver   USB Serial support registered for Connect Tech - WhiteHEAT - (prerenumeration)   USB Serial support registered for Connect Tech - WhiteHEAT   usbcore: registered new interface driver whiteheat   whiteheat: v2.0:USB ConnectTech WhiteHEAT driver   mice: PS/2 mouse device common for all mice   s3c2410 TouchScreen successfully loaded   input: s3c2410 TouchScreen as /devices/virtual/input/input0   S3C24XX RTC, (c) 2004,2006 Simtec Electronics   s3c2410-rtc s3c2410-rtc: rtc disabled, re-enabling   s3c2410-rtc s3c2410-rtc: rtc core: registered s3c as rtc0   i2c /dev entries driver   Linux video capture interface: v2.00   gspca: main v2.7.0 registered   usbcore: registered new interface driver conex   conex: registered   usbcore: registered new interface driver etoms   etoms: registered   usbcore: registered new interface driver finepix   finepix: registered   usbcore: registered new interface driver jeilinj   jeilinj: registered   usbcore: registered new interface driver mars   mars: registered   usbcore: registered new interface driver mr97310a   mr97310a: registered   usbcore: registered new interface driver ov519   ov519: registered   usbcore: registered new interface driver ov534   ov534: registered   usbcore: registered new interface driver pac207   pac207: registered   usbcore: registered new interface driver pac7311   pac7311: registered   usbcore: registered new interface driver sn9c20x   sn9c20x: registered   usbcore: registered new interface driver sonixb   sonixb: registered   usbcore: registered new interface driver sonixj   sonixj: registered   usbcore: registered new interface driver spca500   spca500: registered   usbcore: registered new interface driver spca501   spca501: registered   usbcore: registered new interface driver spca505   spca505: registered   usbcore: registered new interface driver spca506   spca506: registered   usbcore: registered new interface driver spca508   spca508: registered   usbcore: registered new interface driver spca561   spca561: registered   usbcore: registered new interface driver sq905   sq905: registered   usbcore: registered new interface driver sq905c   sq905c: registered   usbcore: registered new interface driver sunplus   sunplus: registered   usbcore: registered new interface driver stk014   stk014: registered   usbcore: registered new interface driver t613   t613: registered   usbcore: registered new interface driver tv8532   tv8532: registered   usbcore: registered new interface driver vc032x   vc032x: registered   usbcore: registered new interface driver zc3xx   zc3xx: registered   usbcore: registered new interface driver ALi m5602   ALi m5602: registered   usbcore: registered new interface driver STV06xx   STV06xx: registered   gspca_gl860: driver startup - version 0.9d10   usbcore: registered new interface driver gspca_gl860   gspca_gl860: driver registered   usbcore: registered new interface driver uvcvideo   USB Video Class driver (v0.1.0)   initializing s3c2440 camera interface......   s3c2440 camif init done   Loading OV9650 driver.........   SCCB address 0x60, manufacture ID 0xFFFF, expect 0x7FA2   SCCB address 0x60, manufacture ID 0xFFFF, expect 0x7FA2   No OV9650 found!!!   S3C2410 Watchdog Timer, (c) 2004 Simtec Electronics   s3c2410-wdt s3c2410-wdt: watchdog inactive, reset disabled, irq enabled   s3c-sdi s3c2440-sdi: powered down.   s3c-sdi s3c2440-sdi: mmc0 - using pio, sw SDIO IRQ   usbcore: registered new interface driver usbhid   usbhid: v2.6:USB HID core driver   Advanced Linux Sound Architecture Driver Version 1.0.21.   No device for DAI UDA134X   No device for DAI s3c24xx-i2s   S3C24XX_UDA134X SoC Audio driver   UDA134X SoC Audio Codec   asoc: UDA134X  -  s3c24xx-i2s mapping ok   ALSA device list:     #0: S3C24XX_UDA134X (UDA134X)   TCP cubic registered   NET: Registered protocol family 17   s3c2410-rtc s3c2410-rtc: setting system clock to 2007-10-30 02:00:47 UTC (1193709647)   eth0: link down  
这个时候内核已经可以正常启动了,但是因为没有文件系统,所以最后系统就卡在那里了,没动静了

 

下一步就开始创建文件系统,并挂载文件系统

5、制作nfs启动的根文件系统

首先请确认你的uboot配置信息是否与我上面说到的一致,很重中,决定成败

再次检查配置服务器nfs路径

 vi /etc/exports 

/root/tftpboot  *(rw,sync,no_root_squash)   

其中/root/tftpboot:允许开发板或其他计算机访问的目录,这里允许所有客户端访问

rw:文件系统可读可写,

sync:同步写磁盘(async:资料会先暂存于内存当中,而非直接写入磁盘)

创建文件系统需要使用busybox,另外,文件系统etc目录下需要不少的配置,这里打包好供大家下载

下载busybox,分享下载地址:busybox1.3.3

ect目录脚本文件,分享下载地址:etc.tar

下载后,放在linux下的一个新建的目录里面。

接下来,创建根文件系统目录

在nfs服务器根目录:/root/tftpboot下,创建rootfs目录,以及根文件系统的各个目录。


[root@www tftpboot]# cd rootfs     [root@www rootfs]# mkdir bin dev etc lib proc sbin sys usr mnt tmp var     [root@www rootfs]# mkdir usr/bin usr/lib usr/sbin lib/modules  
内核在引导根文件系统时候,需要用到设备节点console和null,因此,在这里还要创建设备文件


[root@www dev]# mknod -m 666 console c 5 1     [root@www dev]# mknod -m 666 null c 1 3   
[root@www 4-3-2]# tar -xvz -f etc.tar.gz -C /root/tftpboot/rootfs     [root@www 4-3-2]# ls /root/tftpboot/rootfs/etc/     fstab  init.d  inittab  profile  
接下来很重要的一步,编译内核模块,将内核模块安装到根文件系统(我用的是友善提供的内核linux-2.6.32.2)

 

到内核根目录下,首先执行命令:

make modules ARCH=arm CROSS_COMPILE=arm-linux-

编译完成,接着执行命令:

make modules_install ARCH=arm INSTALL_MOD_PATH=/root/tftpboot/rootfs

最后到下面路径查看是否安装成功

 


root@ubuntu:~# cd tftpboot/rootfs/lib/modules/   root@ubuntu:~/tftpboot/rootfs/lib/modules# ls   2.6.32.2   root@ubuntu:~/tftpboot/rootfs/lib/modules#   

进入图形化配置界面后:

1)、进入"Busybox Settings"-- "Build Options ",选中“Build Busybox as a static binary”(直接按键盘空格键到“*”)。注意:这里是静态链接。

2)、同时在“Build Busybox as a static binary”同一个页面的下面“ Cross Compiler prefix”,按键盘Enter键进入,然后输入:“arm-linux-” ,这时出现如下的图示:

3)、进入"Busybox Settings"-- "Installation Options",选中“Don‘t use /user”(这是为了不将busybox安装在/usr/sbin目录下);同时,在同一个页面下的“ BusyBox installation prefix ”添加安装路径:“/nfsroot/rootfs”,如下图所示:

编译和安装busybox,首先执行:

make ARCH=arm CROSS_COMPILE=arm-linux-

编译完成之后运行:

 make install

最后检查busybox是否安装好,具体方法为:查看/nfsroot/rootfs/sbin目录下是否有init存在。注意:如果init不存在说明busybox没有安装好,那么根文件系统是不能用的,这个时候,可以换个busybox试试

 


root@ubuntu:~/tftpboot/rootfs/sbin# ls   adjtimex  crond       fbset        fsck.minix  ifconfig   insmod    lpd         mkswap      raidautorun  route       slattach           switch_root  vconfig   arp       depmod      fbsplash     getty       ifdown     klogd     lsmod       modprobe    rdate        runlevel    start-stop-daemon  sysctl       watchdog   blkid     devmem      fdisk        halt        ifenslave  loadfont  makedevs    nameif      rdev         sendmail    sulogin            syslogd      zcip   brctl     dhcprelay   findfs       hdparm      ifup       loadkmap  man         pivot_root  readprofile  setconsole  svlogd             telnetd   chpasswd  dnsd        freeramdisk  httpd       inetd      logread   mdev        popmaildir  reboot       setfont     swapoff            udhcpc   chroot    fakeidentd  fsck         hwclock     init       losetup   mkfs.minix  poweroff    rmmod        setlogcons  swapon             udhcpd   root@ubuntu:~/tftpboot/rootfs/sbin#   

 

到这了内核image和文件系统都已经制作完毕,内核image名称w35_image.img在/root/tftpboot/目录下,文件系统在/root/tftpboot/rootfs目录下,现在你可以重新启动你的开发板了

 


gatewayip=192.168.1.1   bootcmd=nfs 0x30008000 192.168.1.103:/root/tftpboot/w35_image.img ;bootm 30008000   bootargs=root=/dev/nfs rw nfsroot=192.168.1.103:/root/tftpboot/rootfs ip=192.168.1.102:192.168.1.1::255.255.255.0 console=ttySAC0,115200 init=/linuxrc mem=64M   Environment size: 460/131068 bytes   [u-boot@MINI2440]# t   U-Boot 2010.03 (Jun 20 2013 - 08:43:59)   Modified by Wang,Hai-Tao (king_haitao@163.com)   Study Linux and love linux forever!!   Study u-boot   I2C:   ready   DRAM:  64 MB   Flash:  2 MB   NAND:  256 MiB   Video: 240x320x16 20kHz 62Hz   In:    serial   Out:   serial   Err:   serial   USB slave is enable!   Net:   dm9000   Hit any key to stop autoboot:  0    dm9000 i/o: 0x20000300, id: 0x90000a46    DM9000: running in 16 bit mode   MAC: 08:08:11:18:12:27   operating at 100M full duplex mode   Using dm9000 device   File transfer via NFS from server 192.168.1.103; our IP address is 192.168.1.102   Filename /root/tftpboot/w35_image.img.   Load address: 0x30008000   Loading: #################################################################            #################################################################            #################################################################            #################################################################            #################################################################            #################################################################            #####################################################   done   Bytes transferred = 2266680 (229638 hex)   ## Booting kernel from Legacy Image at 30008000 ...      Image Name:   mini2440      Created:      2013-06-20  16:34:41 UTC      Image Type:   ARM Linux Kernel Image (uncompressed)      Data Size:    2266616 Bytes =  2.2 MB      Load Address: 30008000      Entry Point:  30008040      Verifying Checksum ... OK      XIP Kernel Image ... OK   Starting kernel ...   Uncompressing Linux................................................................................................................................................... done, booting the kernel.   Linux version 2.6.32.2-FriendlyARM (root@localhost.localdomain) (gcc version 4.4.3 (ctng-1.6.1) ) #18 Wed Apr 13 20:06:31 HKT 2011   CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177   CPU: VIVT data cache, VIVT instruction cache   Machine: FriendlyARM Mini2440 development board   Memory policy: ECC disabled, Data cache writeback   CPU S3C2440A (id 0x32440001)   S3C24XX Clocks, (c) 2004 Simtec Electronics   S3C244X: core 405.000 MHz, memory 101.250 MHz, peripheral 50.625 MHz   CLOCK: Slow mode (1.500 MHz), fast, MPLL on, UPLL on   Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256   Kernel command line: root=/dev/nfs rw nfsroot=192.168.1.103:/root/tftpboot/rootfs ip=192.168.1.102:192.168.1.1::255.255.255.0 console=ttySAC0,115200 init=/linuxrc mem=64M   PID hash table entries: 256 (order: -2, 1024 bytes)   Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)   Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)   Memory: 64MB = 64MB total   Memory: 60084KB available (4176K code, 451K data, 156K init, 0K highmem)   SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1   Hierarchical RCU implementation.   NR_IRQS:85   irq: clearing pending status 02000000   irq: clearing subpending status 00000002   Console: colour dummy device 80x30   console [ttySAC0] enabled   Calibrating delay loop... 201.93 BogoMIPS (lpj=504832)   Mount-cache hash table entries: 512   CPU: Testing write buffer coherency: ok   NET: Registered protocol family 16   S3C2440: Initialising architecture   S3C2440: IRQ Support   S3C24XX DMA Driver, (c) 2003-2004,2006 Simtec Electronics   DMA channel 0 at c4808000, irq 33   DMA channel 1 at c4808040, irq 34   DMA channel 2 at c4808080, irq 35   DMA channel 3 at c48080c0, irq 36   S3C244X: Clock Support, DVS off   bio: create slab  bio-0  at 0   SCSI subsystem initialized   usbcore: registered new interface driver usbfs   usbcore: registered new interface driver hub   usbcore: registered new device driver usb   s3c-i2c s3c2440-i2c: slave address 0x10   s3c-i2c s3c2440-i2c: bus frequency set to 98 KHz   s3c-i2c s3c2440-i2c: i2c-0: S3C I2C adapter   NET: Registered protocol family 2   IP route cache hash table entries: 1024 (order: 0, 4096 bytes)   TCP established hash table entries: 2048 (order: 2, 16384 bytes)   TCP bind hash table entries: 2048 (order: 1, 8192 bytes)   TCP: Hash tables configured (established 2048 bind 2048)   TCP reno registered   NET: Registered protocol family 1   RPC: Registered udp transport module.   RPC: Registered tcp transport module.   RPC: Registered tcp NFSv4.1 backchannel transport module.   NetWinder Floating Point Emulator V0.97 (double precision)   yaffs Apr 13 2011 18:29:56 Installing.    msgmni has been set to 117   alg: No test for stdrng (krng)   io scheduler noop registered (default)   Console: switching to colour frame buffer device 40x15   fb0: s3c2410fb frame buffer device   backlight       initialized   leds    initialized   buttons initialized   pwm     initialized   adc     initialized   s3c2440-uart.0: s3c2410_serial0 at MMIO 0x50000000 (irq = 70) is a S3C2440   s3c2440-uart.1: s3c2410_serial1 at MMIO 0x50004000 (irq = 73) is a S3C2440   s3c2440-uart.2: s3c2410_serial2 at MMIO 0x50008000 (irq = 76) is a S3C2440   loop: module loaded   S3C24XX NAND Driver, (c) 2004 Simtec Electronics   s3c24xx-nand s3c2440-nand: Tacls=3, 29ns Twrph0=7 69ns, Twrph1=3 29ns   s3c24xx-nand s3c2440-nand: NAND soft ECC   NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND 256MiB 3,3V 8-bit)   Scanning device for bad blocks   Creating 5 MTD partitions on "NAND 256MiB 3,3V 8-bit":   0x000000000000-0x000000040000 : "supervivi"   0x000000040000-0x000000060000 : "param"   0x000000060000-0x000000560000 : "Kernel"   0x000000560000-0x000040560000 : "root"   mtd: partition "root" extends beyond the end of device "NAND 256MiB 3,3V 8-bit" -- size truncated to 0xfaa0000   0x000000000000-0x000040000000 : "nand"   mtd: partition "nand" extends beyond the end of device "NAND 256MiB 3,3V 8-bit" -- size truncated to 0x10000000   dm9000 Ethernet Driver, V1.31   eth0: dm9000e at c4814300,c4818304 IRQ 51 MAC: 08:90:90:90:90:90 (chip)   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 42, io mem 0x49000000   usb usb1: New USB device found, idVendor=1d6b, idProduct=0001   usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1   usb usb1: Product: S3C24XX OHCI   usb usb1: Manufacturer: Linux 2.6.32.2-FriendlyARM ohci_hcd   usb usb1: SerialNumber: s3c24xx   usb usb1: configuration #1 chosen from 1 choice   hub 1-0:1.0: USB hub found   hub 1-0:1.0: 2 ports detected   Initializing USB Mass Storage driver...   usbcore: registered new interface driver usb-storage   USB Mass Storage support registered.   usbcore: registered new interface driver ums-alauda   usbcore: registered new interface driver ums-cypress   usbcore: registered new interface driver ums-datafab   usbcore: registered new interface driver ums-freecom   usbcore: registered new interface driver ums-isd200   usbcore: registered new interface driver ums-jumpshot   usbcore: registered new interface driver ums-karma   usbcore: registered new interface driver ums-onetouch   usbcore: registered new interface driver ums-sddr09   usbcore: registered new interface driver ums-sddr55   usbcore: registered new interface driver ums-usbat   usbcore: registered new interface driver usbserial   USB Serial support registered for generic   usbcore: registered new interface driver usbserial_generic   usbserial: USB Serial Driver core   USB Serial support registered for aircable   usbcore: registered new interface driver aircable   USB Serial support registered for ark3116   usbcore: registered new interface driver ark3116   USB Serial support registered for Belkin / Peracom / GoHubs USB Serial Adapter   usbcore: registered new interface driver belkin   belkin_sa: v1.2:USB Belkin Serial converter driver   USB Serial support registered for ch341-uart   usbcore: registered new interface driver ch341   USB Serial support registered for cp210x   usbcore: registered new interface driver cp210x   cp210x: v0.09:Silicon Labs CP210x RS232 serial adaptor driver   USB Serial support registered for Reiner SCT Cyberjack USB card reader   usbcore: registered new interface driver cyberjack   cyberjack: v1.01 Matthias Bruestle   cyberjack: REINER SCT cyberJack pinpad/e-com USB Chipcard Reader Driver   USB Serial support registered for DeLorme Earthmate USB   USB Serial support registered for HID- COM RS232 Adapter   USB Serial support registered for Nokia CA-42 V2 Adapter   usbcore: registered new interface driver cypress   cypress_m8: v1.09:Cypress USB to Serial Driver   USB Serial support registered for Digi 2 port USB adapter   USB Serial support registered for Digi 4 port USB adapter   usbcore: registered new interface driver digi_acceleport   digi_acceleport: v1.80.1.2:Digi AccelePort USB-2/USB-4 Serial Converter driver   USB Serial support registered for Edgeport 2 port adapter   USB Serial support registered for Edgeport 4 port adapter   USB Serial support registered for Edgeport 8 port adapter   USB Serial support registered for EPiC device   usbcore: registered new interface driver io_edgeport   io_edgeport: v2.7:Edgeport USB Serial Driver   USB Serial support registered for Edgeport TI 1 port adapter   USB Serial support registered for Edgeport TI 2 port adapter   usbcore: registered new interface driver io_ti   io_ti: v0.7mode043006:Edgeport USB Serial Driver   USB Serial support registered for empeg   usbcore: registered new interface driver empeg   empeg: v1.2:USB Empeg Mark I/II Driver   USB Serial support registered for FTDI USB Serial Device   usbcore: registered new interface driver ftdi_sio   ftdi_sio: v1.5.0:USB FTDI Serial Converters Driver   USB Serial support registered for funsoft   usbcore: registered new interface driver funsoft   USB Serial support registered for Garmin GPS usb/tty   usbcore: registered new interface driver garmin_gps   garmin_gps: v0.33:garmin gps driver   USB Serial support registered for hp4X   usbcore: registered new interface driver hp4X   hp4x: v1.00:HP4x (48/49) Generic Serial driver   USB Serial support registered for PocketPC PDA   usbcore: registered new interface driver ipaq   ipaq: v0.5:USB PocketPC PDA driver   USB Serial support registered for IPWireless converter   usbcore: registered new interface driver ipwtty   ipw: v0.3:IPWireless tty driver   USB Serial support registered for IR Dongle   usbcore: registered new interface driver ir-usb   ir_usb: v0.4:USB IR Dongle driver   USB Serial support registered for iuu_phoenix   usbcore: registered new interface driver iuu_phoenix   iuu_phoenix: v0.11:Infinity USB Unlimited Phoenix driver   USB Serial support registered for Keyspan - (without firmware)   USB Serial support registered for Keyspan 1 port adapter   USB Serial support registered for Keyspan 2 port adapter   USB Serial support registered for Keyspan 4 port adapter   usbcore: registered new interface driver keyspan   keyspan: v1.1.5:Keyspan USB to Serial Converter Driver   USB Serial support registered for Keyspan PDA   USB Serial support registered for Keyspan PDA - (prerenumeration)   USB Serial support registered for Xircom / Entregra PGS - (prerenumeration)   usbcore: registered new interface driver keyspan_pda   keyspan_pda: v1.1:USB Keyspan PDA Converter driver   USB Serial support registered for KL5KUSB105D / PalmConnect   usbcore: registered new interface driver kl5kusb105d   kl5kusb105: v0.3a:KLSI KL5KUSB105 chipset USB- Serial Converter driver   USB Serial support registered for KOBIL USB smart card terminal   usbcore: registered new interface driver kobil   kobil_sct: 21/05/2004:KOBIL USB Smart Card Terminal Driver (experimental)   USB Serial support registered for MCT U232   usbcore: registered new interface driver mct_u232   mct_u232: z2.1:Magic Control Technology USB-RS232 converter driver   USB Serial support registered for Moschip 2 port adapter   mos7720: 1.0.0.4F:Moschip USB Serial Driver   usbcore: registered new interface driver moschip7720   USB Serial support registered for Moschip 7840/7820 USB Serial Driver   mos7840: 1.3.2:Moschip 7840/7820 USB Serial Driver   usbcore: registered new interface driver mos7840   USB Serial support registered for moto-modem   usbcore: registered new interface driver moto-modem   USB Serial support registered for navman   usbcore: registered new interface driver navman   USB Serial support registered for ZyXEL - omni.net lcd plus usb   usbcore: registered new interface driver omninet   omninet: v1.1:USB ZyXEL omni.net LCD PLUS Driver   USB Serial support registered for opticon   usbcore: registered new interface driver opticon   USB Serial support registered for GSM modem (1-port)   usbcore: registered new interface driver option   option: v0.7.2:USB Driver for GSM modems   USB Serial support registered for oti6858   usbcore: registered new interface driver oti6858   USB Serial support registered for pl2303   usbcore: registered new interface driver pl2303   pl2303: Prolific PL2303 USB to serial adaptor driver   USB Serial support registered for Qualcomm USB modem   usbcore: registered new interface driver qcserial   safe_serial: v0.0b:USB Safe Encapsulated Serial   USB Serial support registered for safe_serial   usbcore: registered new interface driver safe_serial   USB Serial support registered for siemens_mpi   usbcore: registered new interface driver siemens_mpi   Driver for Siemens USB/MPI adapter   Version 0.1 09/26/2005 Thomas Hergenhahn@web.de http://libnodave.sf.net   USB Serial support registered for Sierra USB modem   usbcore: registered new interface driver sierra   sierra: v.1.3.8:USB Driver for Sierra Wireless USB modems   USB Serial support registered for SPCP8x5   usbcore: registered new interface driver spcp8x5   spcp8x5: v0.04:SPCP8x5 USB to serial adaptor driver   USB Serial support registered for symbol   usbcore: registered new interface driver symbol   USB Serial support registered for TI USB 3410 1 port adapter   USB Serial support registered for TI USB 5052 2 port adapter   usbcore: registered new interface driver ti_usb_3410_5052   ti_usb_3410_5052: v0.9:TI USB 3410/5052 Serial Driver   USB Serial support registered for Handspring Visor / Palm OS   USB Serial support registered for Sony Clie 3.5   USB Serial support registered for Sony Clie 5.0   usbcore: registered new interface driver visor   visor: USB HandSpring Visor / Palm OS driver   USB Serial support registered for Connect Tech - WhiteHEAT - (prerenumeration)   USB Serial support registered for Connect Tech - WhiteHEAT   usbcore: registered new interface driver whiteheat   whiteheat: v2.0:USB ConnectTech WhiteHEAT driver   mice: PS/2 mouse device common for all mice   s3c2410 TouchScreen successfully loaded   input: s3c2410 TouchScreen as /devices/virtual/input/input0   S3C24XX RTC, (c) 2004,2006 Simtec Electronics   s3c2410-rtc s3c2410-rtc: rtc disabled, re-enabling   s3c2410-rtc s3c2410-rtc: rtc core: registered s3c as rtc0   i2c /dev entries driver   Linux video capture interface: v2.00   gspca: main v2.7.0 registered   usbcore: registered new interface driver conex   conex: registered   usbcore: registered new interface driver etoms   etoms: registered   usbcore: registered new interface driver finepix   finepix: registered   usbcore: registered new interface driver jeilinj   jeilinj: registered   usbcore: registered new interface driver mars   mars: registered   usbcore: registered new interface driver mr97310a   mr97310a: registered   usbcore: registered new interface driver ov519   ov519: registered   usbcore: registered new interface driver ov534   ov534: registered   usbcore: registered new interface driver pac207   pac207: registered   usbcore: registered new interface driver pac7311   pac7311: registered   usbcore: registered new interface driver sn9c20x   sn9c20x: registered   usbcore: registered new interface driver sonixb   sonixb: registered   usbcore: registered new interface driver sonixj   sonixj: registered   usbcore: registered new interface driver spca500   spca500: registered   usbcore: registered new interface driver spca501   spca501: registered   usbcore: registered new interface driver spca505   spca505: registered   usbcore: registered new interface driver spca506   spca506: registered   usbcore: registered new interface driver spca508   spca508: registered   usbcore: registered new interface driver spca561   spca561: registered   usbcore: registered new interface driver sq905   sq905: registered   usbcore: registered new interface driver sq905c   sq905c: registered   usbcore: registered new interface driver sunplus   sunplus: registered   usbcore: registered new interface driver stk014   stk014: registered   usbcore: registered new interface driver t613   t613: registered   usbcore: registered new interface driver tv8532   tv8532: registered   usbcore: registered new interface driver vc032x   vc032x: registered   usbcore: registered new interface driver zc3xx   zc3xx: registered   usbcore: registered new interface driver ALi m5602   ALi m5602: registered   usbcore: registered new interface driver STV06xx   STV06xx: registered   gspca_gl860: driver startup - version 0.9d10   usbcore: registered new interface driver gspca_gl860   gspca_gl860: driver registered   usbcore: registered new interface driver uvcvideo   USB Video Class driver (v0.1.0)   initializing s3c2440 camera interface......   s3c2440 camif init done   Loading OV9650 driver.........   SCCB address 0x60, manufacture ID 0xFFFF, expect 0x7FA2   SCCB address 0x60, manufacture ID 0xFFFF, expect 0x7FA2   No OV9650 found!!!   S3C2410 Watchdog Timer, (c) 2004 Simtec Electronics   s3c2410-wdt s3c2410-wdt: watchdog inactive, reset disabled, irq enabled   s3c-sdi s3c2440-sdi: powered down.   s3c-sdi s3c2440-sdi: mmc0 - using pio, sw SDIO IRQ   usbcore: registered new interface driver usbhid   usbhid: v2.6:USB HID core driver   Advanced Linux Sound Architecture Driver Version 1.0.21.   No device for DAI UDA134X   No device for DAI s3c24xx-i2s   S3C24XX_UDA134X SoC Audio driver   UDA134X SoC Audio Codec   asoc: UDA134X  -  s3c24xx-i2s mapping ok   ALSA device list:     #0: S3C24XX_UDA134X (UDA134X)   TCP cubic registered   NET: Registered protocol family 17   s3c2410-rtc s3c2410-rtc: setting system clock to 2007-10-30 02:00:47 UTC (1193709647)   eth0: link down   IP-Config: Complete:        device=eth0, addr=192.168.1.102, mask=255.255.255.0, gw=255.255.255.255,        host=192.168.1.102, domain=, nis-domain=(none),        bootserver=192.168.1.1, rootserver=192.168.1.103, rootpath=   Looking up port of RPC 100003/2 on 192.168.1.103   eth0: link up, 100Mbps, full-duplex, lpa 0x4DE1   Looking up port of RPC 100005/1 on 192.168.1.103   VFS: Mounted root (nfs filesystem) on device 0:11.   Freeing init memory: 156K   Processing /etc/profile... Done   # ls   bin      etc      linuxrc  proc     sys      usr   dev      lib      mnt      sbin     tmp      var   # cd sys/devices/platform/   # ls   dm9000             s3c2410-rtc        s3c2440-sdi        s3c2440-usbgadget   s3c2410-iis        s3c2410-wdt        s3c2440-uart.0     s3c24xx_uda134x.0   s3c2410-lcd        s3c2440-i2c        s3c2440-uart.1     soc-audio   s3c2410-ohci       s3c2440-nand       s3c2440-uart.2     uevent  
16.8 Linux启动引导程序加载内核 在刚刚的启动过程中,我们已经知道启动引导程序(Boot Loader,也就是 GRUB)会在启动过程中加载内核,之后内核才能取代 BIOS 接管启动过程。如果没有启动引导程,那么内核是不能被加载的。
嵌入式 uboot引导kernel,kernel引导fs【转】 转自:http://www.cnblogs.com/lidabo/p/5383934.html#3639633 1、uboot引导kernel: u-boot中有个bootm命令,它可以引导内存中的应用程序映像(Kernel),bootm命令对应 common/cmd_bootm.
关于Linux启动时挂载rootfs的几种方式 一直对Linux启动时挂载根文件系统的过程存在着很多疑问,今天在水木精华区找到了有用的资料,摘录如下: 1、Linux启动时,经过一系列初始化之后,需要mount 根文件系统,为最后运行init进程等做准备,mount 根文件系统有这么几种方式: 1)文件系统已经存在于硬盘(或者类似的设备)的某个分区上了,kernel根据启动的命令行参数(root=/dev/xxx),直接进行mount。
arm Linux 如何自动检测并mount SD卡,以及如何得知已经mount 一、土八路做法: SD 卡一旦插入系统,内核会自动在/dev/下创建设备文件:sdcard。 但有时可能时用户在拨出卡前并没有umount的话,第二次插卡进去后系统创建的就不是sdcard设备文件了,而是mmcblk0, mmcblk1p1, mmcblk2p1, 或mmcblk3p1.所以只需用if ( fopen( /dev/sdcard , r ) == NULL ) 来检测SD卡是否已经被内核捉到。
嵌入式 hi3518平台uboot引导nfs文件系统 首先贴出来我的bootargs的设置(注没有换行符!!!): setenv bootargs noinitrd mem=64M root=/dev/nfs init=/linuxrc rw nfsroot=10.