背景:
阅读新闻
嵌入式Linux开发环境搭建
[日期:2014-08-19] 来源:Linux社区 作者:to_be_it_1 [字体:]
整理下嵌入式Linux开发环境搭建过程笔记。
一、制作u-boot.bin文件:
    tar xjf u-boot-1.1.6.tar.bz2
    cd u-boot-1.1.6
    patch -p1 < ../u-boot-1.1.6_jz2440.patch
    make 100ask24x0_config
 
   make
 
二、制作适用于4.3寸屏幕的uImage文件:
    tar xjf linux-2.6.22.6.tar.bz2
    cd linux-2.6.22.6
    patch -p1 < ../linux-2.6.22.6_jz2440.patch
    mv ../4.2LCD_mach-smdk2440.c arch/arm/mach-s3c2440/mach-smdk2440.c
    cp config_ok .config
 
   make uImage
 
三、构建根文件系统
 1、移植Busybox
    tar xjf busybox-1.7.0.tar.bz2
    cd busybox-1.7.0
    make menuconfig(配置)
    vi Makefiel(修改Makefile ARCH ?= arm CROSS_COMPILE ?= arm-linux-)
    make(编译)
    make CONFIG_PREFIX=dir_path install(安装)
 2、使用glibc库
    mkdir -p /work/nfs_root/rootfs/lib
    cd /work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib
    cp *.so* /work/nfs_root/rootfs/lib -d
 3、构建etc目录
    
 a、etc/inittab文件内容如下:
    # /etc/inittab
    console::askfirst:-/bin/sh
    ::sysinit:/etc/init.d/rcS
    tty1::askfirst:-/bin/sh
    ::ctrlaltdel:/sbin/reboot
 b、etc/init.d/rcS文件内容如下:
    #!/bin/sh
    mount -a
    mkdir /dev/pts
    mount -t devpts devpts  /dev/pts
    echo /sbin/mdev  >  /proc/sys/kernel/hotplug
    mdev -s
 c、etc/fstab文件内容如下:
    #device        mount-point    type   options   dump  fsck order
    proc           /proc          proc   defaults   0     0
    tmpfs          /tmp           tmpfs  defaults   0     0
    sysfs          /sys           sysfs  defaults   0     0
    tmpfs          /dev           tmpfs  defaults   0     0
 
4、构建dev目录
    sudo mknod console c 5 1
    sudo mknod null c 1 3
    sudo mknod ttySAC0 c 204 64
    sudo mknod mtdblock0 b 31 0
    sudo mknod mtdblock1 b 31 1
    sudo mknod mtdblock2 b 31 2
 
5、构建其他目录
    mkdir proc mnt tmp sys root
 
四、制作yaffs文件系统映像文件
     cd /work/nfs_root
     mkyaffsimage rootfs rootfs.yaffs
 五、制作jffs2文件映像文件
     cd /work/nfs_root
     mkfs.jffs2 -n s 2048 -e 128KiB -d rootfs -o rootfs.jffs2
 
六、通过设置u-boot的bootargs参数,选择根文件系统启动方式:
     1、使其能够通过nfs启动
     set bootargs noinitrd root=/dev/nfs nfsroot=59.73.166.32:/work/nfs_root/first_fs ip=59.73.166.31:59.73.166.32:59.73.166.1:255.255.255.0::eth0:off console=ttySAC0 init=/linuxrc
 stdin=serial
     saveenv
     2、从块设备启动
     set bootargs noinitrd root=/dev/mtdblock3 rootfstype=jffs2 init=/linuxrc console=ttySAC0
     saveenv
CentOS 7最小化安装后找不到‘ifconfig’命令——修复小提示
