2024年海思SS928-流媒体开发入门指南

resize2fs /dev/mmcblk0p3

使用df命令重新查看分区,是否已经扩展成功

df -hm -a
  • ram内存分配调整

板载4/8G的ram内存,但是设置uboot时,只分配给了系统很小的可用内存,可以采用如下方法设置;

  • 烧写系统后 uboot环境中 执行了 setenv bootargs 'mem=132928K …,可以将 bootargs 'mem=132928K 替换为 512M 增大系统可用的ram内存空间
  • 修改/ko/loab*的一个文件,将系统内存大小设置为和bootargs一致即可;(实测未设置/ko下面的文件也生效了,设置bootarts后 重启系统 ko/loadb*下面的配置自动修改了)

三、系统ip及网口配置

1.系统IP配置

  • 情况一

系统启动后,部分Boot 默认系统会在启动时 Log出ip地址和网络配置文件,如下:

[RCS]: /etc/init.d/S80network
     IP: 192.168.X.X
GATEWAY: 192.168.X.X
...

这种情况 直接编辑 /etc/init.d/S80network 文件修改ip和网关就可以;

  • 情况二,启动时 未输出 /etc/init.d/S80network Log信息

可以直接在文件/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



### 最后的话

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

### 资料预览

给大家整理的视频资料:

![](https://img-blog.csdnimg.cn/img_convert/2463bc9ae57a476bb4223018b2c1dde1.png)

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

  

![](https://img-blog.csdnimg.cn/img_convert/c61216d30d92bdc0bf3e191728ce6260.png)



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

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618542503)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!**

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618542503)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 西安海思机试题是针对Java编程语言的一道考试题目。海思机试题通常要求考生能够熟练掌握Java语言的基本语法和常用类库,并能够运用这些知识解决简单的编程问题。 在机试题中,通常会涉及到一些基本的编程概念,如变量、循环、条件判断、函数等。考生需要使用Java语言来实现特定的功能或逻辑,并输出正确的结果。 对于西安海思机试题,可能会包含以下一些例子: 1. 写一个程序,输出从1到100的所有偶数。 解题思路:使用循环从1到100遍历,判断每个数字是否为偶数,如果是则输出。 2. 写一个程序,求一个数组中的最大值和最小值。 解题思路:使用循环遍历数组中的每个元素,通过比较更新最大值和最小值。 3. 写一个程序,判断一个字符串是否是回文字符串。 解题思路:使用循环将字符串反转,并与原字符串进行比较,如果相同则是回文字符串。 对于这些机试题,考生应该具备良好的编程思维和逻辑分析能力,善于利用Java语言特性和类库来解决问题。此外,高效的编码能力和代码风格的优化也是考生需要具备的能力。 要准备西安海思机试题,考生可以通过复习Java基本语法、数据类型、循环、条件判断和函数等知识,并通过编写代码实践来提升自己的编程技巧。还可以参考一些教材、教程或者在线编程平台上的题库进行练习和加深理解。 最后,机试题不仅仅是一次考试,更重要的是通过实践来提升自己的编程能力和解决问题的能力。希望以上回答对你有所帮助。 ### 回答2: 西安海思机试题是一道关于Java的题目。Java是一种常见的高级编程语言,具有跨平台的特性,可以用于开发各种类型的软件应用程序。机试题通常用来测试考生在编程领域的技能和知识。 对于这样的机试题,可能会包括一系列的编程题目,考察考生的语法知识、算法和逻辑思维能力等方面。在解答机试题时,需要考生清晰理解题目的要求,并用合适的Java代码进行解答。 解答机试题的关键在于理解题目要求,并用合适的算法和Java编程语言来实现解决方案。在解答过程中,还需要注意代码的规范性、可读性和效率。 对于想要参加西安海思机试的考生,建议他们提前准备,复习并熟悉Java编程语言的基础知识和常见的算法。此外,也可以通过练习机试题,提高自己的解决问题和编程能力。 总之,西安海思机试题-java是一种考察考生Java编程能力和知识技能的方式。参加机试需要考生具备扎实的编程基础和算法思维,同时也需要平时勤加练习和积累,提高自己在编程领域的能力。 ### 回答3: 西安海思机试题是一个关于Java编程的考试题目。在这个机试题中,考生需要完成一些与Java语言相关的编程任务,以展示自己的编程能力。根据题目的要求,考生可能需要使用Java编程语言来实现一些功能,如算法设计、数据结构操作等。 在西安海思机试题中,考生需要具备扎实的Java编程基础以及良好的逻辑思维能力。他们需要理解题目要求,分析问题,并设计出合适的解决方案。在编程过程中,考生需要熟练运用Java的各种语法、类库和工具,以便高效地完成任务。此外,考生还需要注意代码的可读性和可维护性,以便其他程序员理解并维护他们的代码。 西安海思机试题涉及的内容可能包括但不限于以下几个方面: 1. Java基础知识:如基本语法、面向对象编程概念、异常处理、输入输出等。 2. 数据结构与算法:如链表、栈、队列、排序算法等。 3. 多线程编程:如线程创建与启动、同步与互斥、线程池等。 4. 网络编程:如TCP/IP通信、Socket编程等。 5. 数据库操作:如JDBC编程、SQL语句执行等。 在准备西安海思机试题时,考生可以通过以下途径提升自己的编程能力: 1. 学习和掌握Java编程语言的基础知识,包括语法、集合框架、IO操作等。 2. 多进行编程练习,不断提高自己的编码能力。 3. 阅读与Java相关的书籍、文章以及开源项目,学习他人的经验和优秀的编码风格。 4. 加入编程社区或者论坛,与其他程序员交经验。 5. 参加在线教育平台或培训机构的Java课程,接受系统的培训。 总之,参加西安海思机试题是提升自己Java编程能力的一个很好的机会。通过扎实的基础知识和充分的准备,考生可以在这个机试中展现出自己的编程实力。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值