Mini2440 NFS加载内核与根文件系统

    xiaoxiao2022-06-22  20

    0 前言

        开发板不仅可通过NFS挂载文件系统,还可以加载内核,本文基于Mini2440探索具体的实现方法。

    1 环境与简介

        Host:Ubuntu16.04(64bit)

        Target:Mini2440

        Kernel:linux-3.18.2

        U-Boot:2010

        我的Mini2440开发板买了已经好几年了,由于Nand Flash有了很多坏块,从而导致无法将内核与根文件系统烧写到其中。为了废物利用,今天决定大家NFS服务器,供开发板加载内核与根文件系统。

    2 搭建NFS服务器

        根据《Ubuntu搭建NFS服务器》搭建NFS服务器。

    3 U-Boot环境变量

    3.1 启动命令

        在U-Boot中设置启动命令如下:

    setenv bootcmd nfs 0x30010000 192.168.1.100:/home/liyihai/boards/mini2440/boot/uImage\;bootm 0x30010000

        说明:从NFS服务器(IP地址192.168.1.100)/home/liyhai/boards/mini2440/boot目录加载uImage[2]到物理地址0x30010000,然后通过bootm 0x30010000启动内核。

        注意:1)IP地址和zImage的路径,需要根据实际情况修改;

                    2)上面的0x30010000不要使用0x30008000,否则容易导致系统启动时崩溃。

    3.2 启动参数

    setenv bootargs noinitrd root=/dev/nfs rw nfsroot=192.168.1.100:/home/liyihai/boards/mini2440/rootfs ip=192.168.1.2:192.168.1.1::255.255.255.0 console=ttySAC0,115200 init=/linuxrc mem=64M

        说明:1)从IP地址为192.168.1.100的NFS服务器的/home/liyihai/boards/mini2440/rootfs目录加载根文件系统;

                    2)开发板IP地址为192.168.1.2,网关为192.168.1.1,子网掩码为255.255.255.0;

    3.3 网络设置

    setenv serverip 192.168.1.100 setenv gatwayip 192.168.1.1 setenv netmask 255.255.255.0 saveenv

    4 重启开发板

        重启开发板,即可实现从NFS服务器中加载uImage和根文件系统。

    参考资料

    [1]Uboot启动参数说明及nfs命令行挂载启动

    [2]Linux内核镜像 —— Image,zImag与uImage

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

    最新回复(0)