您尚未登录。

楼主 #1 2021-02-24 11:48:45

winminwu
会员
注册时间: 2020-05-06
已发帖子: 21
积分: 21

v3s-uboot > tftp 加载内核和设备树 > NFS文件系统 > 启动内核

1、准备工作。
(1)uboot。参考:https://whycan.com/t_6035.html
(2)给uboot加入以太网模块。参考:https://www.kancloud.cn/lichee/lpi0/327886
(3)启动uboot。
(4)给Ubuntu搭建tftp服务器。参考:https://server.zol.com.cn/385/3859787.html
(5)测试tftp服务器。
1)tftp localhost
2)get test_server.c
3)看到当前目录下载的文件与tftp文件夹下相应的文件对应上则表示搭建成功。
(6)将VMware中的Ubuntu网络桥接到电脑主机网口。
1)VMware > 虚拟机 > 设置 > 网络适配器 > 桥接模式;
2)VMware > 虚拟网络编辑器 > 桥接模式(将虚拟机连接到外部网络) > 已桥接至[选择电脑的有线网卡]
3)配置Ubuntu的网络。
> sudo vi /etc/network/interfaces

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.8.141
netmask 255.255.255.0
gateway 192.168.8.1

(7)重启Ubuntu。
(8)设置uboot关于网络配置的环境变量。
1)setenv ipaddr 192.168.8.46
2)setenv gatewayip 192.168.8.1
3)setenv netmask 255.255.255.0
4)setenv serverip 192.168.8.141
5)saveenv
(9)测试uboot网络是否与Ubuntu网络相通。
> ping 192.168.8.141(提示alive则表示通了)

2、编译得到Linux的zImage以及设备树文件.dtb。
(1)获取源码。git clone https://github.com/Lichee-Pi/linux.git -b zero-5.2.y
ps:下载过慢的解决办法。参考:https://www.e-learn.cn/topic/1571183
(2)修改设备树文件(arch/arm/boot/dts/sun8i-v3s-licheepi-zero.dts)添加以太网和spi0。
        aliases {
                serial0 = &uart0;
                ++++++++++++++++
                ethernet0 = &emac;
                ++++++++++++++++
        };

+++++++++++++++++++++++++++
&emac {
        phy-handle = <&int_mii_phy>;
        phy-mode = "mii";
        allwinner,leds-active-low;
        status = "okay";
};
+++++++++++++++++++++++++++

+++++++++++++++++++++++++++
&spi0 {
        status ="okay";
        xt25q128:xt25q128@0 {
                compatible = "jedec,spi-nor";
                reg = <0x0>;
                spi-max-frequency = <50000000>;
                #address-cells = <1>;
                #size-cells = <1>;
        };

};
+++++++++++++++++++++++++++

(3)menuconfig中配置添加以太网和NFS文件系统。
> CROSS_COMPILE=(/usr/local/arm/arm-2012.09(根据自身环境路径))/bin/arm-none-eabi-  ARCH=arm make licheepi_zero_defconfig
> make ARCH=arm menuconfig

####配置以太网网络###
Device Drivers  --->
    [ * ] Network device support  --->
         [ * ]   Ethernet driver support  --->   
            [ * ]   STMicroelectronics devices
                < * >     STMicroelectronics Multi-Gigabit Ethernet driver
                [ ]       Support for STMMAC Selftests
                < * >       STMMAC Platform bus support
                < >         Support for snps,dwc-qos-ethernet.txt DT binding. 
                < * >         Generic driver for DWMAC   
                < * >         Allwinner GMAC support   
                < * >         Allwinner sun8i GMAC support

####配置NFS文件系统相关网络###
Networking support
    Networking options
        TCP/IP networking
                IP: kernel level autoconfiguration
                    [ * ] IP: DHCP support
                    [ * ] IP: BOOTP support

####配置NFS文件系统###
File systems  --->   
    Network File Systems  --->
        < * > NFS client support
        [ * ] NFS client support for NFS version 3                                 
            [ * ] NFS client support for the NFSv3 ACL protocol extension
        [ * ] NFS client support for NFS version 4 (EXPERIMENTAL)
        [ * ] NFS client support for NFSv4.1 (DEVELOPER ONLY)
        [ * ] Root file system on NFS

(4)编译。
> make ARCH=arm CROSS_COMPILE=(/usr/local/arm/arm-2012.09(根据自身环境路径))/bin/arm-none-eabi-/bin/arm-none-eabi- -j4

3、将内核以及设备树文件加载到内存。
(1)将编译好的镜像和设备树文件放到Ubuntu中tftp文件夹下。
(2)启动uboot。
> tftp 41800000 sun8i-v3s-licheepi-zero-with-480x272-lcd.dtb
> tftp 41000000 zImage

4、设置uboot的环境变量。
> setenv bootargs root=/dev/nfs rw nfsroot=192.168.8.141:(/home/winmin/winProject/x210/rootfs(根据自己在Ubuntu中所构建的根文件系统的路径))/rootfs (空格) ip=192.168.8.10:192.168.8.141:192.168.8.1:255.255.255.0::eth0:off (空格-接下面)
init=/linuxrc console=ttyS0,115200
> saveenv

ps:如何构建rootfs以及在Ubuntu中搭建NFS服务器请参考相关教程(都是通用的)。

5、启动内核。
> bootz 0x41000000 - 0x41800000

离线

#2 2021-02-25 09:22:39

codetez
会员
注册时间: 2020-05-23
已发帖子: 72
积分: 47

Re: v3s-uboot > tftp 加载内核和设备树 > NFS文件系统 > 启动内核

楼主优秀,这么实用的帖子必须顶一下。

离线

#3 2021-02-25 11:01:20

sea18c
会员
注册时间: 2019-08-05
已发帖子: 230
积分: 222.5

Re: v3s-uboot > tftp 加载内核和设备树 > NFS文件系统 > 启动内核

学习,不错的文章,可以多发

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn