把开发板右上角的红色启动选项开关,两个都拨到下面(NAND),连接串口,已经内置了uboot 1.16。
根文件系统使用ext2的ramdisk,由于网卡无法驱动故无法使用nfs的根文件系统,网卡驱动问题待解决。

先安装ubuntu基本开发包:

    sudo apt-getinstall build-essential bison flex automake autoconf libncurses5-dev

配置arm-linux-gcc交叉编译环境

编译最新的linux3.6.6内核,直接使用s3c6400_defconfig编译通过,且基本能用(dm9000网卡无法驱动)

安装uboot 的mkimage用于生成uImage及处理ramdisk:

    sudo apt-get install u-boot-tools

安装ramdisk生成工具:

    sudo apt-get install genext2fs

创建rootfs文件夹,创建最基本的根文件系统结构:

    mkdir bin sbin dev etc lib proc sys usr mnt tmp var root

编译busybox并安装到刚才创建的roofs目录下去

创建rootfs/etc/init.d/rcS文件:

   #!/bin/shmdev -s/bin/sh#ifconfigeth0 192.168.1.150#mount -a   

rootfs生成最基本的设备文件:

    mknod -m 666 console c 5 1mknod -m 666 null c 1 3

加载ramdisk出现can't open /dev/tty2: No such file ordirectory,解决方法:

    ln -sf /dev/null /dev/tty2ln -sf /dev/null /dev/tty3ln -sf /dev/null/dev/tty4   

genext2fs用法:
      genext2fs -b[目标ramdisk文件大小,1024的整数倍] -d [rootfs所在文件夹名] [ramdisk文件名]
      -b后接的值就是生成的ramdisk的文件大小,不要设定太大,只要比rootfs所在文件夹稍大即可

用mkimage处理ramdisk示例(若不处理,则会提示bad magic number):

  mkimage -n"RAMFS" -A arm -O linux -T ramdisk -C none -a 51800000 -e 51800040-d ramdisk ramdisk.img

5180000是ramdisk在内存中的地址,51800040是偏移量,"ramdisk"是原ramdisk文件名,"ramdisk.img"是处理后的ramdisk文件名

加入busybox之后,制作的ramdisk无法启动,提示/linuxrc无法执行,可能的解决方法之一:
      需要把交叉编译工具链里面的库(至少要把/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/lib下面的所有文件)
            放到rootfs/lib下面,再重新打包ramdisk
      再确保有执行权限,chmod -R a+x rootfs

ramdisk不要使用gzip压缩,无论是mkimage处理后再压缩还是压缩后再处理,都无法启动.

加载根文件系统时提示:RAMDISK: image too big!解决方法:
      不需要重新编译内核,修改uboot的bootargs,在后面加上ramdisk_size=20480,这个值不能比ramdisk的文件小
      因为3.6.6内核默认的启动选项是优先加载bootloader传入的启动参数

一个使用ramdisk的根文件系统的bootargs示例如下:

    setenv bootargs root=/dev/ram rootfstype=ext2 init=/linuxrc console=ttySAC0,115200 ramdisk_size=20480 mem=128M

下一步目标,解决dm9000网卡驱动问题,并使用NFS挂载根文件系统。

U-Boot 1.1.6 (Sep 16 2011 - 14:10:18) for SMDK6410****************************************
**    UP-S3C6410Nand bootv0.18     **
**    ShenZhenUplooking Technology   **
**   Http://www.uplooking.com       **
****************************************CPU:    S3C6410@532MHzFclk = 532MHz, Hclk = 133MHz, Pclk = 66MHz, Serial = CLKUART (SYNCMode)
Board:   SMDK6410
DRAM:    128MB
Flash:   0 kB
NAND:    256MB
In:     serial
Out:    serial
Err:    serial
dm9000 i/o: 0x18000300, id: 0x90000a46
MAC: 00:40:5c:26:0a:5b
operating at unknown: 15 mode
Hit any key to stop autoboot:  0
uplooking # tftp 0x50800000 zImage
dm9000 i/o: 0x18000300, id: 0x90000a46
MAC: 00:40:5c:26:0a:5b
operating at 100M full duplex mode
TFTP from server 192.168.1.103; our IP address is192.168.1.150
Filename 'zImage'.
Load address: 0x50800000
Loading:###################################################################################################################################################################################################################################################################################################
done
Bytes transferred = 1488096 (16b4e0 hex)
uplooking # tftp 0x51800000 ramdisk.img
dm9000 i/o: 0x18000300, id: 0x90000a46
MAC: 00:40:5c:26:0a:5b
operating at 100M full duplex mode
TFTP from server 192.168.1.103; our IP address is192.168.1.150
Filename 'ramdisk.img'.
Load address: 0x51800000
Loading:####################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################
done
Bytes transferred = 9437248 (900040 hex)
uplooking # bootm 0x50800000 0x51800000
Boot with zImage
## Loading Ramdisk Image at 51800000 ...ImageName:   RAMFSCreated:     2012-11-13  13:01:59 UTCImageType:   ARM Linux RAMDisk Image(uncompressed)DataSize:    9437184Bytes =  9 MBLoad Address: 51800000Entry Point: 51800040Verifying Checksum ...OKStarting kernel ...Uncompressing Linux... done, booting the kernel.
Booting Linux on physical CPU 0
Linux version 3.6.6 (root@zhufeng-ThinkCentre) (gcc version 4.3.2(Sourcery G++ Lite 2008q3-72) ) #1 Tue Nov 13 15:31:35 CST 2
CPU: ARMv6-compatible processor [410fb766] revision 6 (ARMv7),cr=00c5387d
CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasinginstruction cache
Machine: SMDK6410
Memory policy: ECC disabled, Data cache writeback
CPU S3C6410 (id 0x36410101)
S3C24XX Clocks, Copyright 2004 Simtec Electronics
camera: no parent clock specified
S3C64XX: PLL settings, A=532000000, M=532000000, E=24000000
S3C64XX: HCLK2=266000000, HCLK=133000000, PCLK=66500000
mout_apll: source is fout_apll (1), rate is 532000000
mout_epll: source is epll (1), rate is 24000000
mout_mpll: source is mpll (1), rate is 532000000
usb-bus-host: source is clk_48m (0), rate is 48000000
audio-bus: source is mout_epll (0), rate is 24000000
audio-bus: source is mout_epll (0), rate is 24000000
audio-bus: source is mout_epll (0), rate is 24000000
irda-bus: source is mout_epll (0), rate is 24000000
camera: no parent clock specified
CPU: found DTCM0 8k @ 00000000, not enabled
CPU: moved DTCM0 8k to fffe8000, enabled
CPU: found DTCM1 8k @ 00000000, not enabled
CPU: moved DTCM1 8k to fffea000, enabled
CPU: found ITCM0 8k @ 00000000, not enabled
CPU: moved ITCM0 8k to fffe0000, enabled
CPU: found ITCM1 8k @ 00000000, not enabled
CPU: moved ITCM1 8k to fffe2000, enabled
Built 1 zonelists in Zone order, mobility groupingon.  Total pages: 32512
Kernel command line: root=/dev/ram rootfstype=ext2 init=/linuxrcconsole=ttySAC0,115200 ramdisk_size=20480 mem=128M
PID hash table entries: 512 (order: -1, 2048 bytes)
Dentry cache hash table entries: 16384 (order: 4, 65536bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 128MB = 128MB total
Memory: 117552k/117552k available, 13520k reserved, 0Khighmem
Virtual kernel memory layout:vector  : 0xffff0000 -0xffff1000  (   4 kB)DTCM    :0xfffe8000 - 0xfffec000  (  16 kB)ITCM    :0xfffe0000 - 0xfffe4000  (  16 kB)fixmap  : 0xfff00000 -0xfffe0000   ( 896 kB)vmalloc :0xc8800000 - 0xff000000   ( 872MB)lowmem  : 0xc0000000 -0xc8000000   ( 128 MB)modules :0xbf000000 - 0xc0000000  (  16 MB).text : 0xc0008000 - 0xc028d5bc  (2582 kB).init : 0xc028e000 - 0xc02ab12c  ( 117 kB).data : 0xc02ac000 - 0xc02d86c0  ( 178 kB).bss : 0xc02d9024 - 0xc030a0a0  ( 197 kB)
SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=1,Nodes=1
NR_IRQS:246
VIC @f6000000: id 0x00041192, vendor 0x41
VIC @f6010000: id 0x00041192, vendor 0x41
sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every4294967286ms
Console: colour dummy device 80x30
Calibrating delay loop... 353.89 BogoMIPS (lpj=1769472)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
Setting up static identity map for 0x501e5bb0 - 0x501e5c0c
DMA: preallocated 256 KiB pool for atomic coherentallocations
s3c64xx_dma_init: Registering DMA channels
PL080: IRQ 73, at c8846000, channels 0..8
PL080: IRQ 74, at c8848000, channels 8..16
S3C6410: Initialising architecture
bio: create slab at 0
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
s3c-i2c s3c2440-i2c.0: slave address 0x10
s3c-i2c s3c2440-i2c.0: bus frequency set to 64 KHz
s3c-i2c s3c2440-i2c.0: i2c-0: S3C I2C adapter
s3c-i2c s3c2440-i2c.1: slave address 0x10
s3c-i2c s3c2440-i2c.1: bus frequency set to 64 KHz
s3c-i2c s3c2440-i2c.1: i2c-1: S3C I2C adapter
Trying to unpack rootfs image as initramfs...
rootfs image is not initramfs (junk in compressed archive); lookslike an initrd
Freeing initrd memory: 9216K
ROMFS MTD (C) 2007 Red Hat, Inc.
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
start plist test
end plist test
s3c-fb s3c-fb: window 0: fb
Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
s3c6400-uart.0: ttySAC0 at MMIO 0x7f005000 (irq = 69) is aS3C6400/10
console [ttySAC0] enabled
s3c6400-uart.1: ttySAC1 at MMIO 0x7f005400 (irq = 70) is aS3C6400/10
s3c6400-uart.2: ttySAC2 at MMIO 0x7f005800 (irq = 71) is aS3C6400/10
s3c6400-uart.3: ttySAC3 at MMIO 0x7f005c00 (irq = 72) is aS3C6400/10
brd: module loaded
loop: module loaded
at24 0-0050: 1024 byte 24c08 EEPROM, writable, 1 bytes/write
at24 1-0057: 16384 byte 24c128 EEPROM, writable, 1bytes/write
S3C24XX NAND Driver, (c) 2004 Simtec Electronics
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 busnumber 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
mousedev: PS/2 mouse device common for all mice
s3c-rtc s3c64xx-rtc: rtc disabled, re-enabling
s3c-rtc s3c64xx-rtc: rtc core: registered s3c as rtc0
i2c /dev entries driver
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
s3c-sdhci s3c-sdhci.0: clock source 0: mmc_busclk.0 (133000000Hz)
s3c-sdhci s3c-sdhci.0: clock source 2: mmc_busclk.2 (24000000Hz)
mmc0: SDHCI controller on samsung-hsmmc [s3c-sdhci.0] usingADMA
mmc0: mmc_rescan_try_freq: trying to init card at 400000 Hz
mmc0: mmc_rescan_try_freq: trying to init card at 300000 Hz
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
VFP support v0.3: implementor 41 architecture 1 part 20 variant brev 5
s3c-rtc s3c64xx-rtc: setting system clock to 2012-11-13 21:03:42UTC (1352840622)
RAMDISK: ext2 filesystem found at block 0
RAMDISK: Loading 9216KiB [1 disk] into ram disk... mmc0:mmc_rescan_try_freq: trying to init card at 200000 Hz
mmc0: mmc_rescan_try_freq: trying to init card at 100000 Hz
done.
VFS: Mounted root (ext2 filesystem) on device 1:0.
Freeing init memory: 116K
mdev: /sys/class: No such file or directory
/bin/sh: can't access tty; job control turned off
/ # uname -a
Linux (none) 3.6.6 #1 Tue Nov 13 15:31:35 CST 2012 armv6lGNU/Linux
/ #

尚观6410开发板移植linux 3.6.6问题记录及经验小结相关推荐

  1. 讯为开发板移植linux,迅为I.MX6ULL开发板移植Linux5.4内核教程

    4412上移植最新5.4内核的流程非常的简单,因为4412被Linux官方支持,那么我们来看一下怎么把官方5.4内核移植到我们的I.MX6ULL终结者开发板上. 平台:i.MX6ULL开发板 前言 本 ...

  2. IPC Hi3518EV300开发板——移植Linux 0.串口快速烧录教程

    前言 因为 Hi3518EV300 是支持HarmonyOS.LiteOS.Linux多系统的,鸿蒙移植因为有 Hi3516DV300,基本都一模一样,所有感觉也没什么可做的,干脆跑Linux吧,顺便 ...

  3. 烧录imx6需要的linux空间,IMX6Q学习笔记——开发板的Linux系统更新和烧录

    IMX6Q学习笔记--开发板的Linux系统更新和烧录 记录自己在电鱼电子开发SAIL-IMX6Q全能板后,并且对系统和模块进行简单测试的过程之后对开发板的Linux系统进行更新和烧录的记录过程,算是 ...

  4. 编译linux系统到开发板,Linux系统有关交叉编译和移植到6410开发板上的简单过程...

    在进行移植之前,要检查一下目标机(这里指6410开发板)与宿主机之间的接线问题,即串口线.网线是否正确连接,目标机的电源是否插好!在接线问题解决后,才能保证交叉编译正常进行! 个人理解,移植的主要思想 ...

  5. [2021]Linux下C语言qrencode二维码生成库的基本使用和ARM开发板移植

    文章目录 一.前言 二.准备所用到的环境以及版本信息 1.Ubuntu和内核版本 2.gcc和g++版本 3.交叉编译gcc和g++版本 4.开发板信息 三.开发环境编译&安装qrencode ...

  6. 【6410开发板交流】关于UT-S3C6410开发板telnet Linux主机的详细设置

    友坚UT-S3C6410开发板telnet  Linux主机的详细设置 各位,以下是友坚UT-S3C6410开发板telnet  Linux主机的详细设置,应通过初次验证,请大家指教.www.urbe ...

  7. 电脑向linux板卡传文件,ARM 开发板嵌入式linux系统与主机PC通过串口传输文件

    ARM 开发板嵌入式linux系统与主机PC通过串口传输文件 本来以为按以下两篇文章就可以几步轻松搞定这个问题,没想到遇到两个小麻烦: 1,我用的xp虚拟机下redhat9.0做主机,按照下面第一篇文 ...

  8. 北邮实验:ARM实验板移植Linux操作系统,LCD显示汉字

    ARM实验板移植Linux操作系统,LCD显示汉字 一. 实验目的 1. 熟悉点阵字库的使用2. 熟悉Linux操作系统的使用3. 熟悉ARM嵌入式系统开发的过程 二. 实验内容 1. pc端编写用* ...

  9. arm开发板嵌入式Linux的ftp软件

    给嵌入式Linux开发板移植ftp服务器,简单好用.方便Windows去访问开发板内部数据 源码下载 stupid-ftpd是开源的,链接:Stupid-FTPd - Browse /stupid-f ...

最新文章

  1. WCF 客户端代理生成 通过SvcUtil.exe
  2. 李洪强漫谈iOS开发[C语言-025]-赋值运算符案例
  3. 2021宿州市地区高考成绩排名查询,2021年宿州市所有的高中排名,宿州市高中高考成绩排名出炉...
  4. 案例 github_github 项目搜索技巧-让你更高效精准地搜索项目
  5. Debug和Release 老程序啊 调试之前 区分一下啊
  6. UC浏览器电脑版怎么自定义标签栏 标签栏位置修改教程
  7. Syntaxhighligher 使用中的一些问题
  8. 机器学习-模型评估方法sklearn对MINST数据集实现
  9. [4G5G专题-42]:物理层-无线信道的特征:RSRP、SNR、BLER、MCS、CSI、CQI、SI、PMI
  10. java 打压缩包_java将文件打成zip包
  11. android图片叠加方法
  12. QPainter绘制自定义大小的图片
  13. 7.绘制统计图形——堆积折线图、间断条形图和阶梯图
  14. Precision(精确率,正确率), Recall(召回率,查全率),Accuracy(准确率),F-Measure(F值)...
  15. 计算机音乐谱巴啦啦小魔,天谕手游巴啦啦小魔仙乐谱代码分享
  16. Elixir-Pattern matching
  17. 通过ssh隧道访问mysql
  18. 基于vue的仿饿了么webapp
  19. 用python编写文本进度条
  20. 关于图片格式转换(png、jpg转tif)

热门文章

  1. 创维 IPTV E900刷机DIY最详指南
  2. js 发送http请求
  3. 0x3f3f3f3f知多少
  4. 开发EPUB电子书制作下载网站
  5. Gson解析泛型类数据
  6. Dynamo导出明细表至Excel
  7. SQLServer数据库误删数据找回
  8. linux内核启动时添加打印日志并验证的方法
  9. 库函数memset()
  10. 电商导购CPS,这是最容易上手的创业项目了吧