文章目录

  • 目的
  • 修改内核和设备树以访问以太网
  • 制作根文件系统并启用SSH
  • 总结

目的

这篇文章主要测试新唐NUC980(5.10.y内核)访问以太网(PHY为LAN8720A)以及启用SSH。

这篇文章中内容均在下面的开发板上进行测试:
《新唐NUC980使用记录:自制开发板(基于NUC980DK61YC)》
开发板上NUC980 RMII0接口通过LAN8720A(ADDR=0)访问网络。LAN8720A是SMSC公司的以太网PHY芯片。

这篇文章是在下面文章基础上进行的:
新唐NUC980使用记录(5.10.y内核):u-boot & linux & rootfs 编译与烧录测试(基于SD1位置SD卡)

修改内核和设备树以访问以太网

修改内核以支持 LAN8720A :

# cd ~/nuc980-sdk/NUC980-linux-5.10.y/
make menuconfig

修改设备树以支持 ETH0 :

# cd ~/nuc980-sdk/NUC980-linux-5.10.y/
gedit arch/arm/boot/dts/nuc980-dev-v1.0.dts

设备树文件注意需要调整的是将 emac0 节点设置为 okay :

/ {ahb {emac0@b0012000 {status = "okay";};};
};

编译内核和设备树:

# 设置编译工具链
# export ARCH=arm; export CROSS_COMPILE=arm-buildroot-linux-gnueabi-
# export PATH=$PATH:/home/nx/nuc980-sdk/buildroot-2023.02/output/host/bin# 编译生成内核镜像
make uImage
# 可以根据电脑配置使用make -jx等加快编译速度# 编译生成设备树文件
make dtbs

测试以太网功能:
将生成的内核和设备树文件拷贝到电脑上,再拷贝到SD卡boot分区:

# 拷贝至Windows电脑上
# sudo cp arch/arm/boot/uImage /media/sf_common/
# sudo cp arch/arm/boot/dts/nuc980-dev-v1.0.dtb /media/sf_common/

拷贝完成后将SD开插回开发板,上电测试:

使用 ifconfig -a 显示所有网卡;使用 udhcpc -i eth0 开启网卡并获取IP地址;使用 ifconfig 显示当前启用的网卡。

制作根文件系统并启用SSH

设置启用SSH相关功能:

# cd ~/nuc980-sdk/buildroot-2023.02/
make menuconfig


haveged 用于加速系统启动时 random 功能初始化速度( ssh 功能依赖 random )。


设置密码。底下一行的设置用于设置系统启动后 eth0 自动获取IP地址(不过这个版本中不知道为何不起作用,下面会手动处理该问题)。

配置完成后进行编译:

make

将SD卡插到Ubuntu中,拷贝新的rootfs内容到SD卡:

sudo rm -rf /media/nx/rootfs/*
sudo tar -xf output/images/rootfs.tar -C /media/nx/rootfs/

修改rootfs中部分内容:
修改sshd配置:

sudo gedit /media/nx/rootfs/etc/ssh/sshd_config

需要修改内容如下:

# 32行 允许root用户进行ssh访问
PermitRootLogin yes# 57行 允许使用密码进行ssh访问
PasswordAuthentication yes

修改网络设置以支持启动时eth0自动获取IP地址:

sudo gedit /media/nx/rootfs/etc/network/interfaces

在文件结尾增加下面内容:

auto eth0
iface eth0 inet dhcp
#  pre-up /etc/network/nfs_check
#  wait-delay 15
#  hostname $(hostname)

测试SSH功能:
将SD开插回开发板,上电测试:

如果是初次启动的话会生成SSH相关密钥,会花一些时间。

SSH除了可以远程访问,还可以使用SFTP和SCP功能,可以通过网络直接访问文件系统或是拷贝文件(甚至可以直接通过网络更新内核和设备树),对开发使用来说非常方便:

总结

对于Linux来说网络和SSH是非常重要的功能,可以极大的提升开发和使用的便利性,越早开启越好。经过上面的操作就可以在NUC980上实现基本的网络功能了。

新唐NUC980使用记录(5.10.y内核):访问以太网(LAN8720A) 启用SSH相关推荐

  1. 新唐NUC980使用记录:开发环境准备与编译配置基础说明

    文章目录 目的 开发环境准备 调试烧录环境 开发编译环境 编译工具链 uboot 和 linux buildroot 应用程序示例 NUC980 NuWriter Linux command line ...

  2. 新唐NUC980使用记录:在用户应用中使用GPIO

    文章目录 目的 基础说明 在终端中操作 使用程序操作 总结 目的 GPIO是最基础的外设,使用频率也非常高,这篇文章将简单体验在NUC980 Liunx用户应用中使用GPIO功能. 这篇文章中内容均在 ...

  3. 新唐NUC980使用记录:U-Boot Linux 编译与烧录(基于SPI NAND)

    文章目录 目的 U-Boot编译 U-Boot环境变量 Linux编译 默认设置 使用SPI NAND剩余分区 使用SPI NAND YAFFS2作为rootfs 打包镜像 总结 目的 这篇文章中将测 ...

  4. 新唐NUC980使用记录:U-Boot Linux 编译与烧录(基于SD1位置SD卡)

    文章目录 目的 SD卡分区 U-Boot编译 U-Boot环境变量 Linux编译 默认设置 使用SD卡剩余分区 使用SD卡分区存放rootfs 制作系统镜像 总结 目的 这篇文章中将测试在 NUC9 ...

  5. 新唐NUC980使用记录:访问以太网(LAN8720A) 启用SSH

    文章目录 目的 修改内核以访问以太网 制作根文件系统并启用SSH 总结 目的 这篇文章主要测试访问以太网(PHY为LAN8720A)以及启用SSH. 这篇文章中内容均在下面的开发板上进行测试: < ...

  6. 新唐NUC980设置SSH密码登录

    功能开启 首先需要开启SSH功能,进入配置界面: $ cd NUC970_Buildroot-master/ $ make menuconfig 选择Target packages > Netw ...

  7. 新唐NUC980配置ntp功能

    选择ntp功能 进入内核编译文件夹 $cd ~/NUC970_Buildroot-master 选择ntp功能 $make menuconfig 选择Target packages > Netw ...

  8. 小学听课计算机笔记范文,小学教师听课记录精选10篇【最新】.pdf

    小学教师听课记录精选10篇[最新] 小学教师听课记录精选 小学语文听课记录教学 一.导入新课: 这节课我们继续学习-- (齐读课题 二.复习旧知: 1. 这些词语还认识吗?(钓鱼.从未见过.允许.遵守 ...

  9. n76e885_新唐N76E003,N76E616烧录,调试各种问题集【坑集】

    新唐N76E003,N76E616烧录,调试各种问题集[坑集] 芒果 • 2018 年 10 月 24 日 这篇博文用来记录学习新唐单片机时遇到的问题以及解决的过程和方法.当然也有各种坑. 希望这篇文 ...

最新文章

  1. python2定点找色_Python实现按键精灵(二)-找图找色
  2. 【转】oracle数据库NUMBER数据类型
  3. 扫帚:我天天都能立起来,看把你们闲的
  4. 使用爬虫刷blog访问量 随机代理IP 随机user_agent
  5. JavaScript 从入门到放弃(二)模块化工具requirejs
  6. 计算机的组成 —— 主板
  7. 远程文件传输工具Filezilla
  8. IDEA汉化包安装和卸载
  9. learning python in the hard way习题6~10的附加题练习
  10. C++ 进程间通信(管道)
  11. 安装Pytorch后torch.cuda.is_available()返回False问题解决
  12. 多元线性模型中共线性产生的原因解析
  13. DB2数据库基本概念
  14. MySQL中的uuid()和uuid_short()函数
  15. 《软件工程之美》打卡第七周
  16. 有幸被推荐到首批Oracle YEP计划
  17. python一些常用方法以及模块的使用
  18. 网易 Airtest Project 自动化测试框架学习(一)
  19. python合并ts文件教程
  20. 读书百客:《感遇·兰叶春葳蕤》赏析

热门文章

  1. 记一次windows蓝屏的解决方法——快速启动惹的祸
  2. 【漆学军】EA编程速成教程(5)增加一个下单条件:抛物线指标
  3. 笔记本安装ubuntu单系统
  4. 基于微信小程序的教务查询系统的设计与实现
  5. mysql mac 客户端
  6. 智能车英飞凌组别PCB开源
  7. npm install报错 find module ‘semver’
  8. 【指数编制系列三】权重设置方法
  9. 在html中使用swiper插件实现轮播图效果
  10. Win10无线网络图标不显示问题修复