OpenSSL程序开发指南
来自SylixOS-wiki
(版本间的差异)
Jiaojinxing (讨论 | 贡献) |
Jiaojinxing (讨论 | 贡献) (→修改 Makefile) |
||
(未显示1个用户的12个中间版本) | |||
第1行: | 第1行: | ||
==下载 OpenSSL== | ==下载 OpenSSL== | ||
− | :在 linux 环境下操作。 | + | :在 linux 或 MinGW 环境下操作。 |
:*1. 进入 sylixos 工作空间: | :*1. 进入 sylixos 工作空间: | ||
cd /home/user/sylixos_workspace | cd /home/user/sylixos_workspace | ||
第17行: | 第17行: | ||
cd openssl | cd openssl | ||
− | ==配置== | + | ==配置 OpenSSL== |
'''开源版 ARM 工具链配置''' | '''开源版 ARM 工具链配置''' | ||
− | ./ | + | ./Configure linux-armv4 -D__ARM_MAX_ARCH__=8 --cross-compile-prefix=arm-none-eabi- no-asm shared --prefix=/opt/arm-sylixos-openssl |
'''商业版 ARM 工具链配置''' | '''商业版 ARM 工具链配置''' | ||
− | ./ | + | ./Configure linux-armv4 -D__ARM_MAX_ARCH__=8 --cross-compile-prefix=arm-sylixos-eabi- no-asm shared --prefix=/opt/arm-sylixos-openssl |
− | ==Makefile | + | '''商业版 PowerPC 工具链配置''' |
+ | |||
+ | ./Configure linux-ppc --cross-compile-prefix=ppc-sylixos-eabi- no-asm shared --prefix=/opt/ppc-sylixos-openssl | ||
+ | |||
+ | ==修改 Makefile== | ||
:*1. 加入如下内容,编译好的 SylixOS Base 工程路径根据实际情况设置: | :*1. 加入如下内容,编译好的 SylixOS Base 工程路径根据实际情况设置: | ||
第36行: | 第40行: | ||
INCDIR = $(SYLIXOS_BASE_PATH)/libsylixos/SylixOS | INCDIR = $(SYLIXOS_BASE_PATH)/libsylixos/SylixOS | ||
INCDIR += $(SYLIXOS_BASE_PATH)/libsylixos/SylixOS/include | INCDIR += $(SYLIXOS_BASE_PATH)/libsylixos/SylixOS/include | ||
− | INCDIR += $(SYLIXOS_BASE_PATH)/libsylixos | + | INCDIR += $(SYLIXOS_BASE_PATH)/libsylixos/SylixOS/include/inet |
SHLDIR = $(SYLIXOS_BASE_PATH)/libsylixos/Debug | SHLDIR = $(SYLIXOS_BASE_PATH)/libsylixos/Debug | ||
SHLDIR += $(SYLIXOS_BASE_PATH)/libcextern/Debug | SHLDIR += $(SYLIXOS_BASE_PATH)/libcextern/Debug | ||
− | # SylixOS compile and link options | + | # SylixOS compile and link options FOR ARM |
SYLIXOS_CFLAGS=-DSYLIXOS -DSYLIXOS_LIB $(addprefix -I,$(INCDIR)) -mcpu=arm920t -fmessage-length=0 -fno-short-enums | SYLIXOS_CFLAGS=-DSYLIXOS -DSYLIXOS_LIB $(addprefix -I,$(INCDIR)) -mcpu=arm920t -fmessage-length=0 -fno-short-enums | ||
SYLIXOS_EXLIBS=-nostdlib $(addprefix -L,$(SHLDIR)) -lcextern -lvpmpdm -lm -lgcc | SYLIXOS_EXLIBS=-nostdlib $(addprefix -L,$(SHLDIR)) -lcextern -lvpmpdm -lm -lgcc | ||
+ | |||
+ | # SylixOS compile and link options FOR PowerPC | ||
+ | SYLIXOS_CFLAGS=-fPIC -DSYLIXOS -DSYLIXOS_LIB $(addprefix -I,$(INCDIR)) -fmessage-length=0 -fno-short-enums | ||
+ | SYLIXOS_EXLIBS=-fPIC -shared $(addprefix -L,$(SHLDIR)) -lcextern -lvpmpdm -lm -lgcc | ||
:*2. 修改 CFLAG: | :*2. 修改 CFLAG: | ||
第56行: | 第64行: | ||
==安装 OpenSSL== | ==安装 OpenSSL== | ||
− | |||
− | |||
:'''安装 OpenSSL 需要在 root 用户下''',输入 su 切换到 root 用户: | :'''安装 OpenSSL 需要在 root 用户下''',输入 su 切换到 root 用户: | ||
第71行: | 第77行: | ||
make install | make install | ||
− | :会安装到配置时指定的目录 /opt/arm-sylixos- | + | :会安装到配置时指定的目录 /opt/arm-sylixos-openssl 里。 |
+ | |||
+ | ==部署 OpenSSL== | ||
+ | |||
+ | :*1. 在 SylixOS 目标板的 /lib 目录中创建 openssl 文件夹, 然后将 make install 的结果(位于 /opt/arm-sylixos-openssl 目录)下载到 SylixOS 目标板的 /lib/openssl 目录。 | ||
− | + | :下面的命令在 SylixOS 目标板的终端执行: | |
− | + | :*2. 创建好相应的符号链接: | |
− | + | cd /lib/openssl/lib | |
+ | ln -s libssl.so.1.0.0 libssl.so | ||
+ | ln -s libcrypto.so.1.0.0 libcrypto.so | ||
− | + | :*3. 修改环境变量: | |
− | + | PATH=$PATH:/lib/openssl/bin | |
− | + | LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib/openssl/lib | |
− | + | varsave | |
− | + | ||
− | + | ==运行 OpenSSL== | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | openssl | |
− | + | ||
− | openssl | + |
2016年4月13日 (三) 13:25的最后版本
目录 |
[编辑] 下载 OpenSSL
- 在 linux 或 MinGW 环境下操作。
- 1. 进入 sylixos 工作空间:
cd /home/user/sylixos_workspace
- 2. 下载 OpenSSL:
- OpenSSL 的主页为 http://www.openssl.org/
- 3. 解压 OpenSSL:
tar zxvf openssl-1.0.2a.tar.gz
- 4. 修改 OpenSSL 目录名,避免版本升级带来不必要的麻烦:
mv openssl-1.0.2a openssl
- 5. 进入 OpenSSL 目录:
cd openssl
[编辑] 配置 OpenSSL
开源版 ARM 工具链配置
./Configure linux-armv4 -D__ARM_MAX_ARCH__=8 --cross-compile-prefix=arm-none-eabi- no-asm shared --prefix=/opt/arm-sylixos-openssl
商业版 ARM 工具链配置
./Configure linux-armv4 -D__ARM_MAX_ARCH__=8 --cross-compile-prefix=arm-sylixos-eabi- no-asm shared --prefix=/opt/arm-sylixos-openssl
商业版 PowerPC 工具链配置
./Configure linux-ppc --cross-compile-prefix=ppc-sylixos-eabi- no-asm shared --prefix=/opt/ppc-sylixos-openssl
[编辑] 修改 Makefile
- 1. 加入如下内容,编译好的 SylixOS Base 工程路径根据实际情况设置:
# SylixOS PATH SYLIXOS_BASE_PATH=/home/user/sylixos_workspace/sylixos-base # SylixOS includes INCDIR = $(SYLIXOS_BASE_PATH)/libsylixos/SylixOS INCDIR += $(SYLIXOS_BASE_PATH)/libsylixos/SylixOS/include INCDIR += $(SYLIXOS_BASE_PATH)/libsylixos/SylixOS/include/inet SHLDIR = $(SYLIXOS_BASE_PATH)/libsylixos/Debug SHLDIR += $(SYLIXOS_BASE_PATH)/libcextern/Debug # SylixOS compile and link options FOR ARM SYLIXOS_CFLAGS=-DSYLIXOS -DSYLIXOS_LIB $(addprefix -I,$(INCDIR)) -mcpu=arm920t -fmessage-length=0 -fno-short-enums SYLIXOS_EXLIBS=-nostdlib $(addprefix -L,$(SHLDIR)) -lcextern -lvpmpdm -lm -lgcc # SylixOS compile and link options FOR PowerPC SYLIXOS_CFLAGS=-fPIC -DSYLIXOS -DSYLIXOS_LIB $(addprefix -I,$(INCDIR)) -fmessage-length=0 -fno-short-enums SYLIXOS_EXLIBS=-fPIC -shared $(addprefix -L,$(SHLDIR)) -lcextern -lvpmpdm -lm -lgcc
- 2. 修改 CFLAG:
CFLAG = $(SYLIXOS_CFLAGS) 原有的定义,略
- 3. 修改 PEX_LIBS 和 EX_LIBS
PEX_LIBS = -shared EX_LIBS = $(SYLIXOS_EXLIBS)
[编辑] 编译 OpenSSL
make
[编辑] 安装 OpenSSL
- 安装 OpenSSL 需要在 root 用户下,输入 su 切换到 root 用户:
su
- 再修改环境变量 PATH,不然 make install 的结果会非常庞大(因为找不到 arm-none-eabi-strip):
export PATH=/usr/lib/gcc-arm-none-eabi/bin:$PATH
- 输入如下命令以安装 OpenSSL:
make install
- 会安装到配置时指定的目录 /opt/arm-sylixos-openssl 里。
[编辑] 部署 OpenSSL
- 1. 在 SylixOS 目标板的 /lib 目录中创建 openssl 文件夹, 然后将 make install 的结果(位于 /opt/arm-sylixos-openssl 目录)下载到 SylixOS 目标板的 /lib/openssl 目录。
- 下面的命令在 SylixOS 目标板的终端执行:
- 2. 创建好相应的符号链接:
cd /lib/openssl/lib ln -s libssl.so.1.0.0 libssl.so ln -s libcrypto.so.1.0.0 libcrypto.so
- 3. 修改环境变量:
PATH=$PATH:/lib/openssl/bin LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib/openssl/lib varsave
[编辑] 运行 OpenSSL
openssl