海思SS928-流媒体开发入门指南(1),2024最新阿里Linux运维面经

本文详细介绍了Linux系统中的网络配置(包括ifconfig、网口状态检查、DNS配置、SSH和zfile服务部署),驱动问题解决,以及如SSH服务器配置、密码管理、串口配置等内容,为Linux运维人员提供实用的实践指导。
摘要由CSDN通过智能技术生成

可以直接在文件/etc/init.d/rcS中修改,添加ifconfig 设置如下,系统启动时会设置ip等信息

#! /bin/sh
/bin/mount -a
ifconfig eth0 192.168.1.13 netmask 255.255.255.0
# 没添加这行的话就只能ping通局域网里面的ip,但不能ping通外网
route add default gw 192.168.1.1

注:如果 /etc/init.d/rcS 有调用如情况一的network文件 在rcS种配置的会被再次覆盖,设置无效

2.网口状态查看及配置

SS928有两个外接网口 eth0和eth1,如果驱动有问题,且eth0接了光口,自协商没法协商到千兆,然后系统启动后用ethtool强制设置成了千兆,就无法兼容百兆的网络接口和设备,可以输入命令查看下。

//查看网卡状态
dmesg | grep gmac

//输出如下
gmac_v200 10290000.ethernet: invalid resource
gmac_v200 10290000.ethernet (unnamed net_device) (uninitialized): using random MAC address e2:9c:b7:6e:c6:e9
gmac_v200 102a0000.ethernet: invalid resource
gmac_v200 102a0000.ethernet (unnamed net_device) (uninitialized): using random MAC address 06:cb:65:2e:be:97
gmac_v200 102a0000.ethernet eth1: Link is Up - 100Mbps/Full - flow control rx/tx
gmac_v200 102a0000.ethernet eth1: Link is Down

或用ethtool命令查看

~ # ethtool eth0
Settings for eth0:
        Supported ports: [ TP AUI BNC MII FIBRE ]
        Supported link modes:   10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
                                1000baseT/Full 
        Supported pause frame use: Symmetric Receive-only
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  1000baseT/Full 
        Advertised pause frame use: Symmetric
        Advertised auto-negotiation: No
        Advertised FEC modes: Not reported
        Speed: 1000Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 1
        Transceiver: external
        Auto-negotiation: off
        Current message level: 0x00000007 (7)
                               drv probe link
        Link detected: yes

设置 适配只支持100M网口的设备,可以写入/etc/rc.d/rc 文件中开机执行脚本

//ethtool来禁用网卡自适应特性,必须同时指定链路速度100M和全双工工作模式
ethtool -s eth0 speed 100 duplex full autoneg off

若要eth0重启后这些配置依然生效,亦可修改文件/etc/sysconfig/network-scripts/ifcfg-eth0 在文件中添加: ETHTOOL_OPTS=“speed 100 duplex full autoneg off”;但是海思没有sysconfig 等网卡配置文件,不知到ethtool的配置该放哪里;

//可以用 ifconfig 命令 临时 禁用或者启用某个 网口,启用 up
ifconfig eth1 down

DNS配置,直接编辑(没有的话会自动创建),保存 /etc/resolv.conf 文件即可

//编辑或生成dns配置文件
vi /etc/resolv.conf
//输入dns地址 后保存
nameserver 8.8.8.8
nameserver 114.114.114.114

如果直接编辑或生成resolv.conf文件 无效则先执行 如下命令,会自动生成该文件

//替换为对应的 网口号即可,运行后可能网络无法访问,重启系统即可
udhcpc -i eth2

old绿联USB网卡驱动是 ax88179_178a (海思linux默认开启了)
新绿联 type-c 的 网卡驱动是 RTL8152,需要在 linux内核编译前在menuconfig中(搜索8152或r8152) 开启该驱动后再编译内核,启用该驱动

四、ssh及 zfile服务部署配置

可参考技术论坛

SSH服务器移植_专栏_易百纳技术社区

需要注意,将 的 openssl 和zlib服务 make install 后的所有子文件夹,如include、bin等文件夹都拷贝到根目录,lib 拷贝到lib64目录,

代码如下(示例):

# 拷贝ssh相关文件
cp ~/nfs/openssh/usr / -r
cp ~/nfs/openssh/var / -r
cp ~/nfs/openssh/etc/ssh /usr/local/etc -r

# 拷贝库 libz.so.1文件在PC端的install/zlib/lib下
cp ~/nfs/libz.so.1 /lib64

# 添加sshd用户 sshd 是账户 x是密码 74是id 不通账户不可重复
echo "sshd:x:74:74::/var/empty/sshd:/sbin/nologin" >> /etc/passwd

# 修改PATH环境变量
echo "export PATH=$PATH:/usr/local/bin:/usr/local/sbin" >> /etc/prefile
source /etc/prefile

# 生成host密钥,可以不执行这四条命令
ssh-keygen -t rsa -f /usr/local/etc/ssh_host_rsa_key
ssh-keygen -t dsa -f /usr/local/etc/ssh_host_dsa_key
ssh-keygen -t ecdsa -f /usr/local/etc/ssh_host_ecdsa_key
ssh-keygen -t ed25519 -f /usr/local/etc/ssh_host_ed25519_key

# 重制密钥,切换到 /etc/ssh 路径下执行,可直接生成上面的key
ssh-keygen -A
# 启动ssh服务,先执行su 再启动
/usr/local/sbin/sshd
# 如遇 启动无响应可能启动失败,需要 先结束进程,再启动
ps -aux|grep sshd|grep -v grep

# 修改root 密码,然后修改 sshd的配置文件运行root账号登录
# 运行 passwd accountName -a des 可以修改指定的账号密码(-a修改账号算法 为 des)
passwd -a des

sshd的配置文件的位置:/usr/local/etc/sshd_config,但是实测 配置文件和key 用的都是 /etc/ssh路径下的,实测 系统重启后移植的sshd服务 启动失败,需要等待10分钟左右才能成功,故根据厂家重新提供的.deb安装包重新安装,如下:

论坛ssh安装文档参考

基于SS928 openssh的安装_专栏_易百纳技术社区

SSH 安装包下载地址

SS928(SD3403) opensshdeb适配包_资料_易百纳技术社区 opensshdeb适配包_资料_易百纳技术社区")

//要使用dpkg功能必须创建dpkg需要的目录以及文件
mkdir -p /var/lib/dpkg
mkdir -p /var/lib/dpkg/info
touch /var/lib/dpkg/status

将下载的 openssh.tar.gz 安装包拷贝到ss928芯片中,解压,运行busybox脚本

//解压
tar -zxvf openssh.tar.gz -C /home/ssh_package
cd /home/ssh_package
//安装当前路径下所有的.deb文件
./busybox dpkg -i *.deb

安装后使用dpkg -l命令查看软件包状态

输出如下:

    Name           Version
+++-==============-==============
ii  ebaina-openssh 9.3p1
ii  ebaina-zlib    1.2.13
ii  ebaina-openssl 1.1.1l
ii  ebaina-haveged 1.9.2

然后配置:

  1. 配置系统密码
    输入passwd命令,根据提示输入新密码即可
  2. 配置允许root用户登录
    /etc/ssh/sshd_config文件中将#PermitRootLogin prohibit-password改为PermitRootLogin yes
  3. 配置允许密码登录
    /etc/ssh/sshd_config文件中将#PasswordAuthentication yes选项打开PasswordAuthentication yes

五、Usart1串口1配置

海思SS928 4pin的串口一 地址 /dev/ttyAMA1,默认复用为了GPIO口,需要修改寄存器地址,将该接口配置为usart1串口功能,可以在系统初始化时执行如下脚本

//修改 usart1 接口 为 串口1功能(默认成了 gpio口),需要在启动后执行 如下两条命令
bspmm 0x102f0060 0x1201
bspmm 0x102f0064 0x1201

总结

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
img

最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

资料预览

给大家整理的视频资料:

给大家整理的电子书资料:

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img

(img-eB6O8ID9-1713076752618)]

给大家整理的电子书资料:

[外链图片转存中…(img-m0dP6w9k-1713076752619)]

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-Scb3pq3Z-1713076752619)]

  • 16
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值