龙芯技术社区
直播中

jf_44074012

4年用户 11经验值
擅长:可编程逻辑
私信 关注

【龙芯2K0300先锋派试用】gitea服务器搭建

先简单写要点,之后再补全

  1. 使用ubuntu20.04,不要用18.04,因为不能满足node最低要求
  2. 使用loongnix提供的go,不能用ubuntu自带的源里的go
  3. 编译命令:CGO_ENABLED=1 CC=loongarch64-linux-gnu-gcc GOOS=linux GOARCH=loong64 TAGS="bindata sqlite sqlite_unlock_notify" make build
  4. 先锋派缺少git及其依赖包(ISO里没有的)到 http://pkg.loongnix.cn/loongnix/pool/main/ 搜索下载安装
  5. 运行选择sqlite3后如果提示需要CGO_ENABLE=1的,补上重做第3步编译(按照上面做的就不会遇到问题了)

回帖(6)

jf_44074012

2024-8-21 21:55:16
我不是传统嵌入式开发人员,以下以普通PC开发人员视角介绍步骤。
1. 到手的2k0300板子,对U-BOOT不熟悉,对其他概念不想了解,就是想运行起一个正儿八经的系统然后跑gitea.肯定是跑 loongnix系统,阅读快速用户手册 1.4.2节,“EMMC安装系统方法2”
2. 在用户手册最后一页找到百度网盘地址,在这里下载这三个文件


顺手把这里的iso也下回来后面用

3. 找一个U盘,格式化为fat32格式,新建文件夹install,把3个文件放进install里
4. 板子usb连电脑,按照快速手册里的 1.1.1 节用串口连,然后1.4.2节安装系统。耐心等待刷新成功
举报

jf_44074012

2024-8-21 22:08:23
5. 刷写完成后,系统用户名默认是 loongson,密码是 123.默认没有开ssh服务,自行搜索 loongnix系统如何开启ssh服务(串口连接是一直可用的)

6. x86普通流程,安装node.我用nvm安装的 v20.16.0
7.x86普通流程,安装git
8. x86普通流程,apt install build-essentail 为了make命令
9. 下载交叉编译工具链,先阅读快速用户手册第2章“搭建交叉编译环境”有个印象。然后到 http://www.loongnix.cn/zh/toolchain/GNU/ 下载 x86_64 linux二进制交叉编译工具链,当前最新版 rc1.5
按照第2章内容解压、放置、设置环境、新建set_env.sh文件
10. 在 http://www.loongnix.cn/zh/toolchain/Golang/ 下载golang,当前最新版本1.22.4.注意要下载 ABI1.0的 go1.22.4.linux-amd64.tar.gz
按照 http://docs.loongnix.cn/golang/install.html 安装
到此编译环境准备好了。
举报

jf_44074012

2024-8-21 22:17:07
11. 阅读 https://docs.gitea.cn/installation/install-from-source ,特别是下面的交叉编译部分,先有个印象。
12. 在合适位置 git clone https://github.com/go-gitea/gitea 网络问题自行解决
当前最新版本是 v1.22.1,于是  git checkout v1.22.1
13,先开一下环境 source  set_env.sh(上面提到这个文件了),然后运行
`CGO_ENABLED=1 CC=loongarch64-linux-gnu-gcc GOOS=linux GOARCH=loong64 TAGS="bindata sqlite sqlite_unlock_notify" make build`
为什么比gitea文档多一个 CGO_ENABLE=1 ?后面会提到
14.等待下载go依赖库(自行解决网络问题),等待编译,其实还是挺快的。不要忘了提前设置npm国内镜像源(淘宝源比较流行)
15. 编译完成后在当前目录里生成了一个单文件 gitea,100MB左右,通过scp拷贝到板子上。登录板子环境,执行`./gitea web`,发现运行日志出来了,浏览器访问终端打印的网址,发现界面出来了
举报

jf_44074012

2024-8-21 22:32:31
16,嘿嘿别急,兴高采烈填完初始化页面选项,发现页面提示没有git命令。哎呀,发现这个板子里的source.list里是个ip地址无法ping通,也就不能此时简单apt install来安装。
17. 回头看开始说的顺手下载iso文件和iso同级页面里那个readme,自行把光盘挂载好当镜像源

可惜此时依然下载不了git(光盘iso里没有git包)
18 ,到 http://pkg.loongnix.cn/loongnix/pool/main/libe/liberror-perl/ 下载 liberror-perl_0.17027-2.1_all.deb
http://pkg.loongnix.cn/loongnix/pool/main/g/git/ 下载 git-man_2.20.1-2+deb10u3.1_all.deb 和 git_2.20.1-2+deb10u3.1_loongarch64.deb 都传到板子上
19. 在板子环境里,sudo dpkg -i  xxx 的方法安装,按照如下顺序安装:liberrorper、git-man、git
20. 在板子环境里,重新运行  `./gitea web`,重新填写初始化页面(我选择的sqlite3),现在应该可以了。如果编译时没有 CGO_ENABLE=1 这里点下一步页面会提示编译的二进制没启用CGO,因为sqlite3接口依赖。但是按照本教程的应该不会遇到这个报错了。
到此结束了。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分