把开发板右上角的红色启动选项开关,两个都拨到下面(NAND),连接串口,已经内置了uboot 1.16。
根文件系统使用ext2的ramdisk,由于网卡无法驱动故无法使用nfs的根文件系统,网卡驱动问题待解决。
先安装ubuntu基本开发包:
编译最新的linux3.6.6内核,直接使用s3c6400_defconfig编译通过,且基本能用(dm9000网卡无法驱动)
安装uboot 的mkimage用于生成uImage及处理ramdisk:
安装ramdisk生成工具:
创建rootfs文件夹,创建最基本的根文件系统结构:
编译busybox并安装到刚才创建的roofs目录下去
创建rootfs/etc/init.d/rcS文件:
rootfs生成最基本的设备文件:
加载ramdisk出现can't open /dev/tty2: No such file ordirectory,解决方法:
genext2fs用法:
genext2fs -b[目标ramdisk文件大小,1024的整数倍] -d [rootfs所在文件夹名] [ramdisk文件名]
-b后接的值就是生成的ramdisk的文件大小,不要设定太大,只要比rootfs所在文件夹稍大即可
用mkimage处理ramdisk示例(若不处理,则会提示bad magic number):
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
r
根文件系统使用ext2的ramdisk,由于网卡无法驱动故无法使用nfs的根文件系统,网卡驱动问题待解决。
先安装ubuntu基本开发包:
sudo apt-getinstall build-essential bison flex automake autoconf libncurses5-dev
编译最新的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/sh
mdev -s
/bin/sh
#ifconfigeth0 192.168.1.150
#mount -a
rootfs生成最基本的设备文件:
mknod -m 666 console c 5 1
mknod -m 666 null c 1 3
加载ramdisk出现can't open /dev/tty2: No such file ordirectory,解决方法:
ln -sf /dev/null /dev/tty2
ln -sf /dev/null /dev/tty3
ln -sf /dev/null/dev/tty4
genext2fs用法:
用mkimage处理ramdisk示例(若不处理,则会提示bad magic number):
mkimage -n"RAMFS" -A arm -O linux -T ramdisk -C none -a 51800000 -e 51800040-d ramdisk ramdisk.img
加入busybox之后,制作的ramdisk无法启动,提示/linuxrc无法执行,可能的解决方法之一:
r