在回首——arm-linux内核编译
2013-09-10 21:40
232 查看
2013年09月10日
再搭建环境:
os==》linux环境:redhat 6.3
1.bootloader设置
2.首先得到zImage
3.制作根文件系统
4.各种服务:tftp,nfs,arm-gcc
**********************************
1.设置bootloader ==>ipaddr serverip bootargs bootcmd让我们的板子与pc相互连接起来
bootcmd=tftp 50008000 zImage; bootm
bootargs=console=ttySAC0 root=/dev/nfs nfsroot=192.168.1.10:/mynfsroot ip=192.168.1.20:::
2.tftp
rpm -ivh *tftp*
vim /etc/xinetd.d/tftp
server_args = -s /var/lib/tftpboot ==>这个地址不可以改变(在6.3的系统中,因为这个问题,今天搞了大半天的时间。系统级的问题,在以前的5.5的系统中,这个文件的地址是可以随便改的,可是在根目录下的/tftpboot。而这个6.3的系统不能把tftpboot放在根目录下面)
disable = no
service xinetd restart
service iptables stop==>关闭防火墙
3.nfs
vim /etc/exports
/mynfsroot *(rw,sync)
service nfs restart
4.arm-gcc
tar xf ------------.tar.gz
vim /etc/profile
exprot PATH=$PATH:/usr/local/arm/arm-none-linux-gnueabi/bin
source /etc/profile
5.得到zImage
cp smdk6410.config .config
make
cp /linux-2.6.28_smdk6410/arch/arm/boot/zImag /var/lib/tftpboot
6.做根文件系统:
tar xf ------.tar.gz -C /root/you
make menuconfig
Busybox.settings=>Build options
修改交叉编译的前缀(arm+tab键得到我们交叉编译的前缀)
Buid BusyBox as a static binary
Busy box setting=>Installation options
编译放在那个nfs目录下面(我的习惯是放在/mynfsroot)
make==>编译
make install==>将busybox中的bin,sbin,usr,linuxrc,加入到/mynfsroot
cp /usr/local/arm/arm-none-linux-gnueabi/arm-none-linux-gnueabi/libc/lib /mynfsroot
mkdir etc dev sys proc tmp
mkdir etc/init.d
touch etc/init.d/rcS
#/bin/sh
echo "------you-welcome---"
mount -t proc none /proc
mount -t sysfs none /sys
mount -t tmpfs none /tmp
mknod dev/console c 5 1
mknod dev/tty c 5 0
mknod dev/null c 1 3
mknod dev/tty0 c 4 0
mknod dev/tty1 c 4 1
mknod dev/tty2 c 4 2
mknod dev/tty3 c 4 3
mknod dev/tty4 c 4 4
chmod 777 * -R
注意:
每一次重启板子,主机的IP都会改变。哈哈
vim /etc/sysconfig/network-scripts
ONBOOT=yes
再搭建环境:
os==》linux环境:redhat 6.3
1.bootloader设置
2.首先得到zImage
3.制作根文件系统
4.各种服务:tftp,nfs,arm-gcc
**********************************
1.设置bootloader ==>ipaddr serverip bootargs bootcmd让我们的板子与pc相互连接起来
bootcmd=tftp 50008000 zImage; bootm
bootargs=console=ttySAC0 root=/dev/nfs nfsroot=192.168.1.10:/mynfsroot ip=192.168.1.20:::
2.tftp
rpm -ivh *tftp*
vim /etc/xinetd.d/tftp
server_args = -s /var/lib/tftpboot ==>这个地址不可以改变(在6.3的系统中,因为这个问题,今天搞了大半天的时间。系统级的问题,在以前的5.5的系统中,这个文件的地址是可以随便改的,可是在根目录下的/tftpboot。而这个6.3的系统不能把tftpboot放在根目录下面)
disable = no
service xinetd restart
service iptables stop==>关闭防火墙
3.nfs
vim /etc/exports
/mynfsroot *(rw,sync)
service nfs restart
4.arm-gcc
tar xf ------------.tar.gz
vim /etc/profile
exprot PATH=$PATH:/usr/local/arm/arm-none-linux-gnueabi/bin
source /etc/profile
5.得到zImage
cp smdk6410.config .config
make
cp /linux-2.6.28_smdk6410/arch/arm/boot/zImag /var/lib/tftpboot
6.做根文件系统:
tar xf ------.tar.gz -C /root/you
make menuconfig
Busybox.settings=>Build options
修改交叉编译的前缀(arm+tab键得到我们交叉编译的前缀)
Buid BusyBox as a static binary
Busy box setting=>Installation options
编译放在那个nfs目录下面(我的习惯是放在/mynfsroot)
make==>编译
make install==>将busybox中的bin,sbin,usr,linuxrc,加入到/mynfsroot
cp /usr/local/arm/arm-none-linux-gnueabi/arm-none-linux-gnueabi/libc/lib /mynfsroot
mkdir etc dev sys proc tmp
mkdir etc/init.d
touch etc/init.d/rcS
#/bin/sh
echo "------you-welcome---"
mount -t proc none /proc
mount -t sysfs none /sys
mount -t tmpfs none /tmp
mknod dev/console c 5 1
mknod dev/tty c 5 0
mknod dev/null c 1 3
mknod dev/tty0 c 4 0
mknod dev/tty1 c 4 1
mknod dev/tty2 c 4 2
mknod dev/tty3 c 4 3
mknod dev/tty4 c 4 4
chmod 777 * -R
注意:
每一次重启板子,主机的IP都会改变。哈哈
vim /etc/sysconfig/network-scripts
ONBOOT=yes
相关文章推荐
- KConfig、Makefile详解以及ARM平台Linux内核的编译(转)
- arm-linux内核编译流程
- 用arm-none-linux-gnueabi交叉编译Linux内核
- (编译适用于ARM的linux内核并进行QEMU仿真)Compile Linux kernel 3.2 for ARM and emulate with QEMU
- arm-linux内核编译及其问题解决
- Linux内核编译与裁剪(ARM版)
- 基于QEMU的ARM Cortex-A9开发板Vexpress-ca9的Linux内核的编译和运行
- 基于Arm的Linux内核编译指导
- 基于Arm的Linux内核编译指导
- linux内核编译时出现“make: arm-linux-gcc:command not found解决
- arm-linux内核编译出错
- Linux内核编译与裁剪(ARM版) .
- 从ARM编译Linux内核
- Linux内核编译与裁剪(ARM版)
- ARM-linux内核的编译
- 从ARM编译Linux内核
- KConfig、Makefile详解以及ARM平台Linux内核的编译
- 下载编译goldfish(看成是一个模拟的arm芯片的linux内核)
- 编译arm-linux内核
- 【学习笔记】编译Linux内核(下)---KConfig、Makefile详解以及ARM平台Linux内核的编译