Chinaunix首页 | 论坛 | 博客
  • 博客访问: 170134
  • 博文数量: 22
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 241
  • 用 户 组: 普通用户
  • 注册时间: 2015-01-14 18:03
个人简介

做好自己份内事

文章分类

全部博文(22)

文章存档

2025年(2)

2019年(1)

2018年(2)

2017年(3)

2016年(3)

2015年(11)

我的朋友

分类: 其他UNIX

2025-12-28 19:09:23

概述

当前信创环境百花齐放百家争鸣,错综复杂,首先要选择正确的信创目标环境环境。
信创环境只有64位,没有32位。
首先从CPU架构来说,主要有C86、arm、mips、loongarch、sw……
其次从操作系统来说,主要有统信,麒麟,龙蜥,欧拉、中科方德、鸿蒙……
理论上来说,信创可以选择的环境是CPU架构*操作系统类型个
每个信创环境生态的维护都是由“核心厂商 + 开源社区 + 行业组织 + 商业伙伴” 的分层维护
其中核心厂商主要维护Linux 内核、GNU 工具链(GCC/Binutils/Glibc)
这里有必要知道,所有的国产化系统都是linux发展改造过来的
目前了解还没有一个是完全全新的操作系统产生

这里有必要提醒一下,loongarch生态的维护过程中,2025年出现了高版本GLibc向下兼容断层问题,这是个生态问题,所以如果选择适配loongarch版本信创,需要分高低GLibc版本。目前loongarch的go语言编译器{BANNED}最佳新版本都是分两个版本,一个在龙芯社区,一个在go语言官网。

适配改造
C86是目前{BANNED}最佳解决X86的,基本可以完全适配,可能有些小改动
这里首先基于信创环境选择需要适配改造的环境
然后开始梳理需要适配改造的项目

对于有汇编语言部分,首先要解决不同的环境的汇编语言转换部分

这里要注意项目组件开发的语言:
c、c++:必须要重新编译;
这里尤其要注意编码过程中:结构体字节对齐问题、编码不要使用编译器默认属性、解决编译过程代码细节
go:需要找到go编译器,重新编译
java:找到对应的jdk,不需要重新编译
shell:脚本类语言不需要编译,unix系统支持解析
lua、php、python:脚本需要需要解决对应的脚本解析器即可
……
首先要梳理依赖的基础组件、第三方开源组件
如果是开源组件,则需要根据对应的语言适配对应的信创环境
如果非开源,则需要对应的维护组织提供对应的版本,如果没有对应的版本则必须要选择合适的替代组件,否则没有办法继续适配,改造

梳理完基础组件之后则需要调整梳理对应的产品项目代码
根据对应的语言处理适配改造过程

编译完成对应的项目依赖组件、项目代码之后,则可以进行功能测试
有问题修改问题即可

如果要做客户端产品的,需要注意统信、麒麟是需要进行签名才能发布上线

寄语:
目前国产化正处于一个快递发展成长的时期;无论过程多么艰辛、痛苦、难受、迷茫,相信终有一天,每个痛苦过的问题都会犹如黑夜里闪亮的星光一样照亮未来的道路。

阅读(6) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~