制作最小linux文件系统烧录到iTop-4412开发板上

xiaoxiao2021-02-28  49

使用的开发板为讯为iTop-4412精英版 1,新建linux最小系统使用busybox,官网为http://www.busybox.net/这里使用的版本是首先将busybox-1.21.1.tar.bz2拷贝到ubuntu系统下解压, 解压命令: tar -xvf busybox-1.21.1.tar.bz2 进入到解压出来的文件夹下: cd busybox-1.21.1 2,配置busybox: make menuconfig, 在出现的界面中选中 Busybox Settings 回车 在这个目录下首先修改 Build Optiions-> Cross Compiler prefix 参数,进入 Build Optiions 后第六个参数为 Cross Compiler prefix ,意思是使用什么编译器,回车编辑,修改为 arm-none-linux-gnueabi- 左右方向键控制选中 exit 返回。进入 Installation Options 选项,然后进入 BusyBox installation prefix 选项编辑,意思是最终编译完成的文件放在哪里。设置为 ../system 3:编译生成l: make 生成二进制文件: make install 4,至此最小linux系统已经生成,现在还需要添加一些重要的配置文件 mkdir dev etc lib mnt proc sys tmp var cd etc vi eth0-setting (1)eth0-setting如下内容:

IP=192.168.1.230 Mask=255.255.255.0 Gateway=192.168.1.1 DNS=192.168.1.1 MAC=08:90:90:90:90:90 保存后执行: chmod 755 eth0-setting mkdir init.d cd init.d vi ifconfig-eth0 (2)ifconfig-eth0如下内容: #!/bin/sh echo -n Try to bring eth0 interface up......>/dev/ttySAC2 if [ -f /etc/eth0-setting ] ; then source /etc/eth0-setting if grep -q "^/dev/root / nfs " /etc/mtab ; then echo -n NFS root ... > /dev/ttySAC2 else ifconfig eth0 down ifconfig eth0 hw ether $MAC ifconfig eth0 $IP netmask $Mask up route add default gw $Gateway fi echo nameserver $DNS > /etc/resolv.conf else if grep -q "^/dev/root / nfs " /etc/mtab ; then echo -n NFS root ... > /dev/ttySAC2 else /sbin/ifconfig eth0 192.168.253.12 netmask 255.255.255.0 up fi fi echo Done > /dev/ttySAC2保存后执行: chmod 755 ifconfig-eth0 vi rcS (3)rcS 如下内容 #! /bin/sh PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin: runlevel=S prevlevel=N umask 022 export PATH runlevel prevlevel # # Trap CTRL-C &c only in this shell so we can interrupt subprocesses. # trap ":" INT QUIT TSTP /bin/hostname iTOP-4412 #/bin/mount -n -t proc none /proc #/bin/mount -n -t sysfs none /sys #/bin/mount -n -t usbfs none /proc/bus/usb #/bin/mount -t ramfs none /dev [ -e /proc/1 ] || /bin/mount -n -t proc none /proc [ -e /sys/class ] || /bin/mount -n -t sysfs none /sys [ -e /dev/tty ] || /bin/mount -t ramfs none /dev echo /sbin/mdev > /proc/sys/kernel/hotplug /sbin/mdev -s #/bin/hotplug # mounting file system specified in /etc/fstab mkdir -p /dev/pts mkdir -p /dev/shm /bin/mount -n -t devpts none /dev/pts -o mode=0622 /bin/mount -n -t tmpfs tmpfs /dev/shm #/bin/mount -n -t ramfs none /tmp #/bin/mount -n -t ramfs none /var mkdir -p /var/empty mkdir -p /var/log mkdir -p /var/log/boa mkdir -p /var/lock mkdir -p /var/run mkdir -p /var/tmp ln -sf /dev/ttyS2 /dev/tty2 ln -sf /dev/ttyS2 /dev/tty3 ln -sf /dev/ttyS2 /dev/tty4 syslogd /etc/rc.d/init.d/netd start echo " " > /dev/tty1 echo "Starting networking..." > /dev/tty1 #sleep 1 #/etc/rc.d/init.d/httpd start #echo " " > /dev/tty1 #echo "Starting web server..." > /dev/tty1 #sleep 1 #/etc/rc.d/init.d/leds start #echo " " > /dev/tty1 #echo "Starting leds service..." > /dev/tty1 #echo " " #sleep 1 #echo "*************************************" > /dev/ttySAC2 #echo " http://www.topeet.com.cn " > /dev/ttySAC2 #echo "*************************************" > /dev/ttySAC2 #echo "*************************************" #echo " http://www.topeet.com.cn " #echo "*************************************" mkdir /mnt/disk sleep 1 /sbin/ifconfig lo 127.0.0.1 /etc/init.d/ifconfig-eth0 如之前已经使用过 Linux_tools.tgz 这个工具包就可以直接生成 .img 文件 生成 .img 文件: make_ext4fs -s -l 314572800 -a root -L Linux system.img system

转载请注明原文地址: https://www.6miu.com/read-2619355.html

最新回复(0)