64MQQ2440烧写MINI2440光盘中的内容同样可以跑起来

 2008年购买了QQ2440,后来出去工作了,2440压箱子底压了两年,现在拿出来想弄弄qtopia,可是一查友善的资料已经出到了ARM11的板子了,内核以及qtopia的支持根文件映像也不知升级了多少次了,在此先恭喜友善能做的这么快。后来在友善网上下得了MINI2440的整个光盘内容,希望通过将mini2440光盘中的kernel2.6.32和root下载到QQ2440上使使。不过一路上遇到了超级多的问题,最后总算是可以将kernel和root下载进去了,可是刚开始开启QQ2440时程序跑不起来,后来得到了版主和一些热心朋友的帮助,最终通过一些修改终于可以以NOFLASH启动方式跑起来了。不过还存在几个驱动不匹配的问题。我用的是N35的屏,2008年QQ2440光盘中的supervivi,最近刚发布的MINI2440光盘中的kernel (linux2.6.32)以及最新的root。  
下面将我一步一步的过程记录如下,希望给同样使用着QQ240板子的初级学者一点帮助,高手就莫笑话我了,另外网络驱动和USB驱动的问题请高手看出什么问题后给点帮助和建议。 
步骤一 直接利用QQ2440中的supervivi(2008年的版本)烧写MINI2440光盘中的内核和根文件系统到QQ2440nandflash 

               1.1 出现问题 : 在烧写zimageN35时出现了被烧写的文件大小大于分区大小,不让烧写 

                1.2 解决思路 :我猜想应该是老版本的supervivi中对于内核的分区太小了,于是我决定先升级SUPERVIVI到最新版本

步骤二 利用H-JTAG升级supervivi64M到norflash,按照mini2440光盘中的介绍升级supervivi 

               2.1 出现问题 :supervivi烧写进入了K9F1208芯片(由于我是笔记菜的菜鸟,此时还不知道该芯片是NANDFLASH), 
                     但是以NOFLASH方式启动QQ2440时串口输出的还是以前的信息。 

               2.2 解决思路 :我猜测是不是烧写的地方不对(因为H-JTAG的烧写过程是对的,表示程序确实被烧到某个地方了), 
                      然后经过SEA大哥一点播发现K9F1208为nandflash芯片, 我说难怪会看到有64M的空间的,后来选择对了 
                       芯片(QQ2440为AM29LV160DB),烧写进去后串口输出果然跟mini2440资料上一样了。 
               2.3 打印信息:##### FriendlyARM BIOS for 2440 ##### 
[x] bon part 0 320k 2368k 
[v] Download vivi 
[k] Download linux kernel 
[y] Download root_yaffs image 
[a] Absolute User Application 
[n] Download Nboot 
[l] Download WinCE boot-logo 
[w] Download WinCE NK.bin 
[d] Download & Run 
[z] Download zImage into RAM 
[g] Boot linux from RAM 
[f] Format the nand flash 
Boot the system 
[s] Set the boot parameters 
Backup NAND Flash to HOST through USB(upload) 
[r] Restore NAND Flash from HOST through USB 
[q] Goto shell of vivi 
Version: 0945-12 

步骤三 利用新的supervivi64M开始下载zimageN35 
              3.1 出现问题:按照MINI2440光盘上的方法(noflash方式启动然后按“F”)进行分区,可是打印出的信息一直为失败 
                     并且USB好像出了问题,DNW不能正常下载东东了,安装驱动后提示没找到USB设备,重新拔插也没 
                    让我安装驱动,windows也没有噔噔、噔噔的硬件拔插呻吟声了。  

               3.2 解决思路:这个我还没有什么解决思路,只好先放在一边了。 

                3.3 打印信息: 
                     q] Goto shell of vivi 
                         Version: 0945-12 

                         Enter your selection: f 
                          ................................................................................................................................................... 
                          ...................................................................................................................................................... 
                          .................................................................................................................... ... failed 
               3.4 我利用part show看了看硬件分区,不知道为什么,确实是改变了,分区如下:
 
                Enter your selection: q 
                 Supervivi> part show 
                 Number of partitions: 4 
                 name : offset size flag 
                   ------------------------------------------------------------ 
                 vivi :        0x00000000    0x00040000 0 
                  param : 0x00040000    0x00020000 0 
                  kernel : 0x00060000    0x00500000 0 
                  root :     0x00560000    0x03a9c000 0 
                  Supervivi> 
                          以前的vivi分区只有0X00020000的,现在变为了0x00040000,看来确实是变大了。但是DNW用不了了 
                           没办法下载,只好考虑把以前的VIVI换回来。 

步骤四 重新把2008年的supervivi烧写到noflash中,USB好了 

               4.1 重新又把08的VIVI烧了进去,然后利用part add 和part del手动分区,将分区分的跟上面一摸一样。  

               4.2 出现问题 :烧写kernel以及root确实没什么问题了,可以烧成功了,nandflash中的vivi下载为新的supervivi64M 
                                        kernel烧写的是mini2440光盘中的
 
                     zimageN35,root烧写的是mini2440光盘中的root_qtopia-64M.img。不过启动是跑不过kernel。 
  
                4.打印信息如下: 
Enter your selection: b 
Copy linux kernel from 0x00060000 to 0x30008000, size = 0x00500000 ... done 
zImage magic = 0x016f2818 
Setup linux parameters at 0x30000100 
linux command line is: "noinitrd root=/dev/mtdblock2 init=/linuxrc console=ttySAC0" 
MACH_TYPE = 782 
NOW, Booting Linux...... 
Uncompressing Linux..........................................................................
 
......................................................................................... done, booting the kernel. 

              4.4 解决思路 : 到了MACH_TYPE这就过去了,估计是MACH_TYPE的问题了,于是找了找资料,发现MINI2440的mach_type
 
                    为1999 

步骤五 改写了mach_type为1999 ,确实跑过了kernel,大喜 

             5.1 出现问题 : 跑到了根文件系统那过不去了 

             5.2 打印信息 : 

Enter your selection: b 
Copy linux kernel from 0x00060000 to 0x30008000, size = 0x00500000 ... done 
zImage magic = 0x016f2818 
Setup linux parameters at 0x30000100 
linux command line is: "noinitrd root=/dev/mtdblock2 init=/linuxrc console=ttySAC0" 
MACH_TYPE = 1999 
NOW, Booting Linux...... 
Uncompressing Linux................................................................................................................................................................... done, booting the kernel. 
Linux version 2.6.32.2-FriendlyARM ([url=mailto:root@tom]root@tom[/url]) (gcc version 4.3.2 (Sourcery G++ Lite 2008q3-72) ) #2 Fri Jan 8 15:32:06 CST 2010 
CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177 
CPU: VIVT data cache, VIVT instruction cache 
Machine: FriendlyARM Mini2440 development board 
ATAG_INITRD is deprecated; please update your bootloader. 
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: noinitrd root=/dev/mtdblock2 init=/linuxrc console=ttySAC0 
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: 59560KB available (4676K code, 469K data, 160K 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 ext status 00000200 
irq: clearing subpending status 00000003 
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 
cfg80211: Calling CRDA to update world regulatory domain 
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 Jan  8 2010 12:48:07 Installing. 
msgmni has been set to 116 
alg: No test for stdrng (krng) 
io scheduler noop registered (default) 
Console: switching to colour frame buffer device 30x20 
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: 0x76 (Samsung NAND 64MiB 3,3V 8-bit) 
Scanning device for bad blocks 
Bad eraseblock 412 at 0x000000670000 
Creating 5 MTD partitions on "NAND 64MiB 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 64MiB 3,3V 8-bit" -- size truncated to 0x3aa0000 
0x000000000000-0x000040000000 : "nand" 
mtd: partition "nand" extends beyond the end of device "NAND 64MiB 3,3V 8-bit" -- size truncated to 0x4000000 
dm9000 Ethernet Driver, V1.31 
dm9000 dm9000: read wrong id 0x043429b2 
dm9000 dm9000: read wrong id 0x2b2a0000 
dm9000 dm9000: read wrong id 0x002a2906 
dm9000 dm9000: read wrong id 0x2b2a2900 
dm9000 dm9000: read wrong id 0x2b2a2928 
dm9000 dm9000: read wrong id 0x002a2928 
dm9000 dm9000: read wrong id 0x2b2a2928 
dm9000 dm9000: read wrong id 0x00ff2928 
dm9000 dm9000: wrong id: 0x00ff2928 
dm9000 dm9000: not found (-19). 
Atmel at76x USB Wireless LAN Driver 0.17 loading 
usbcore: registered new interface driver at76c50x-usb 
usbcore: registered new interface driver zd1211rw 
usbcore: registered new interface driver rtl8187 
usbcore: registered new interface driver zd1201 
usbcore: registered new interface driver rt2500usb 
usbcore: registered new interface driver rt73usb 
usbcore: registered new interface driver rt2800usb 
usbcore: registered new interface driver ar9170usb 
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 [url=mailto:Hergenhahn@web.de]Hergenhahn@web.de[/url] 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 
lib80211: common routines for IEEE802.11 drivers 
s3c2410-rtc s3c2410-rtc: hctosys: invalid date/time 
yaffs: dev is 32505858 name is "mtdblock2" 
yaffs: passed flags "" 
yaffs: Attempting MTD mount on 31.2, "mtdblock2" 
yaffs_read_super: isCheckpointed 0 
VFS: Mounted root (yaffs filesystem) on device 31:2. 
Freeing init memory: 160K 
Warning: unable to open an initial console. 
Failed to execute /linuxrc.  Attempting defaults... 
Kernel panic - not syncing: No init found.  Try passing init= option to kernel. 
Backtrace: 
[<c0035270>] (dump_backtrace+0x0/0x10c) from [<c03958f0>] (dump_stack+0x18/0x1c) 
 r7:00000000 r6:c0503ed0 r5:c0503660 r4:c04c61a0 
[<c03958d8>] (dump_stack+0x0/0x1c) from [<c0395940>] (panic+0x4c/0x134) 
[<c03958f4>] (panic+0x0/0x134) from [<c00305a4>] (init_post+0xec/0x178) 
 r3:00000000 r2:c3887f00 r1:c0539000 r0:c045348c 
[<c00304b8>] (init_post+0x0/0x178) from [<c00084c4>] (kernel_init+0xf4/0x124) 
 r5:c00205d4 r4:c00205d4 
[<c00083d0>] (kernel_init+0x0/0x124) from [<c004d1a4>] (do_exit+0x0/0x62c) 
 r7:00000000 r6:00000000 r5:00000000 r4:00000000 

                     5.3 解决思路:是不是 ROOT下载的地址和vivi启动的地址没对上产生的这个问题,不过由于小弟比较菜 
                           这个问题实在不知道怎么解决了。 
步骤六  根据楼主的提示,的确是vivi中的分区表与kernel中启动地址没对上,更改启动配置的地方 
                         6.1        更改方法  noflash方式启动 ,按键“q” 
                                      然后在命令输入行键入> param set linux_cmd_line "console=ttySAC0 root=/dev/mtdblock3" 
                                                                              > boot 
                                         可以启动了,跑起来了。 

                          6.2   遇到问题 :虽然root跑了起来,但是可以发现网络以及USB都不能正常使用了,并且不能以NANDFLASH的方式跑,因为没有supervivi的源码, 
                                                         只能通过norflash方式修改启动时的root对应分区才能跑起来。 
      
                           6.3  解决思路 :修改内核,自己做一个适合QQ2440的linux-2.6.32 

步骤7    制作适合QQ2440的内核linux-2.6.32,为了让QQ2440以nandflash方式启动是跑起以yaff2方式的ROOT,必须修改内核的两处地方然后重新编译(还没解决驱动的问题),第一处是在内核配置文件中修改nandflash的分区数组中的root所在的位置,第二处是加入对yaff2文件系统的支持。 
                7.1 在内核配置文件中修改nandflash的分区数组中的root所在的位置: 
                       a将mini2440光盘中的linux文件夹中的linux-2.6.32.2-mini2440-20100609.tar.gz文件拷贝到linux系统中 
                       b 解压缩linux-2.6.32.2-mini2440-20100609.tar.gz,shell命令行# tar xzvf linux-2.6.32.2-mini2440-                         20100609.tar.gz -C /opt/FriendlyARM/QQ2440/kernel
 
                      c # cd /opt/FriendlyARM/QQ2440/kernel/linux2.6.32/arch/arm/mach-s3c2440/ 
                      d#gedit mach-mini2440.c 
                      e 将其中分区数组改成如下情况 
static struct mtd_partition friendly_arm_default_nand_part[] = { 
 [0] = { 
  .name = "supervivi", 
  .size = 0x00040000, 
  .offset = 0, 
 }, 
 [1] = { 
  .name = "param", 
  .offset = 0x00040000, 
  .size = 0x00020000, 
 }, 
 [3] = { 
            .name = "Kernel", 
  .offset = 0x00060000, 
  .size = 0x00500000, 
 }, 
 [2] = { 
            .name = "root", 
  .offset = 0x00560000, 
  .size = 1024 * 1024 * 1024, // 
 }, 
 [4] = { 
  .name = "nand", 
  .offset = 0x00000000, 
  .size = 1024 * 1024 * 1024, // 
 } 
}; 
                      f 保存退出
 

              7.2 修改menuconfig中的项目,使得kernel支持yaff2文件系统 
                    a 进入刚才加压缩的内核的根目录,也就是linux2.6.32下,使用 make mini2440-defconfig 
                    b #make menuconfig 
                    c进入file systems-> miscellaneous filesystems 
                     d 找到yaff2该项,并按空格建选住 
                      e 退出并保存 

               7.3 产生内核 
               a a 进入刚才加压缩的内核的根目录,也就是linux2.6.32下,使用 make mini2440-defconfig 
                  b # make zImage 
                等待一会会在/arch/arm/boot中生成zImage。将该zImage拷贝到windows下。 
               7.4 利用supervivi将该内核文件烧写到nandflash中,根文件系统还是烧写mini2440光盘中的最新文件系统。 
                7.5 nandflash方式启动QQ2440,QQ2440可以跑起来了,不过现在触摸屏什么的都不能用了,驱动没加入。  

  
步骤8   制作适合QQ2440的内核驱动(一)--------借助友善的配置文件修改
             8.1  直接使用友善做好的内核配置config_mini2440_n35(因为我的QQ2440是N35的屏幕)
                     a 按照7.1 先修改好MACH-MINI2440,C文件
                      b #cp config_mini2440_n35    .config
                      c make menucofig 先进去逛逛,看看能否开启该编译选择框
                      d make zImage
                      e 拷贝。。/arch/arm/boot中的zImage到windows下,然后烧写到QQ2440
             8.2  以noflash方式启动,直接按b,可以看到启动正常了,并且之前的驱动都还在里头(触摸屏可以用
                      ,音乐可以听,串口也是好的等)
             8.3 以nandflash方式启动,同样可以启动的了。
步骤九   制作适合QQ2440的内核驱动(二)-------移植网卡驱动

总结:碰到了主要两个问题:1新的supervivi烧写到QQ24440后,QQ2440的USB下载功能没了 
                                                     2,利用旧的supervivi手动分区后下载新的内核以及ROOT,可以跑起来了, 
                                                         不过网络功能和USB功能没有。  
                                                     对该文章有兴趣的朋友可以邮箱联系,共同探讨。本人邮箱:[url=mailto:litie86222@163.com]litie86222@163.com[/url]
[ 此帖被yjbcnmdb在2010-09-05 23:04重新编辑 ]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值