查看: 5011|回复: 3

【Marvell ESPRESSObin】6.源码编译安装GitServer

[复制链接]
  • TA的每日心情
    奋斗
    2022-9-16 05:52
  • 签到天数: 1368 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2017-5-24 08:01:31 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 tjcfeng 于 2017-5-25 22:46 编辑

        一直想搭建一个可以在线编辑的Git Server,虽然手上有几块ARM的板子,但是感觉最合适的还是ESPRESSObin,Ubuntu系统并且能当路由器用,不用挂好几个板子同时开机了。板子定下来了,Git Server也试了好几个,最后决定使用gogs这个国产的GitServer。gogs不仅界面美观,还可以在线编辑,而且还是用golang编写的,正好开发也需要用到,所以开始动手安装gogs。

        安装gogs分为两步:
        1.安装本机的golang 1.8.1编译环境。
        2.使用golang编译gogs的源码。



    一、安装golang 1.8.1
        ESPRESSObin硬件功能很强大,然而相对来说软件就弱很多了,至少要安装最新版的golang是没有的,包括x86上的ubuntu官方源也没有,要想使用最新版本就要自己编译。由于从golang1.5开始,编译器已经不再用C了,而是完全改用了go的编译器,所以直接编译1.8的是不行的。
        之前写过几篇在ARM上安装新golang的帖子,包括32位和64位的都有,以为ESPRESSObin和那些一样,先用C编译golang1.4最小功能,然后再用1.4的golang来编译1.8的。没想到在编译的时候居然提示              ,也就是说这种方法在ESPRESSObin上不适用,看来还得想别的办法。
        办法还是有的,先到https://github.com/tjCFeng/compileGolang上下载
        go-linux-arm64-bootstrap.tbzcompileGolangArm64.sh 两个文件。

        这个tbz的压缩文件是一个bootstrap版的golang1.4,已经编译好的可以直接在arm64上运行。而sh文件包括了需要执行的命令,为了省事而写的脚本。内容没有什么,一些常用的命令。
        tar xvjf go-linux-arm64-bootstrap.tbz
        export GOROOT_BOOTSTRAP=$HOME/go-linux-arm64-bootstrap
        其实就是解压,我一般放在/root下,解压后改文件夹名为go1.4,这样就不用设置任何环境变量了。

        其次要下载最新版golang的源代码,不是二进制文件。在https://storage.googleapis.com/golang/go1.8.1.src.tar.gz可以直接下载。下载后解压到任意目录下,然后cd src开始执行sh make.bash开始编译。
        ESPRESSObin肯定比台式机速度慢,但是也可以接受,等不了多长时间就编译完了,然后给新版本设置一下环境变量,比如文件中的例子:
        echo "export GOROOT=$HOME/go" >> ~/.bashrc    echo "export PATH=$PATHHOME/go/bin" >> ~/.bashrc
        source ~/.bashrc
        GOROOT=$HOME/go
        PATH=$PATHGOROOT/bin
        设置好后,可以用go version命令看到版本号,这样golang的安装就完成了。

    二、在ESPRESSObin上本地编译gogs的源码
        也试过在x86的ubuntu交叉编译gogs,但是一旦加上SQLite就会报错,没有解决,所以还是在ESPRESSObin本地直接编译。
        环境都有了,编译就很简单了,最简单的办法是进入gogs的src文件夹,执行go build就可以。但是这样编译完的gogs不支持SQLite数据库,而我又不想在ESPRESSObin上安装诸如MySQL之类的东西,太大太浪费资源,下载gogs的源代码要这样:
        go get -u -tags "sqlite" github.com/gogits/gogs
    gogs.run.png
        加上一个sqlite的标签,go build -tags "sqlite" 编译一次通过,然后运行./gogs web就运行起来了。
    gogs.runarm.png
    gogs.web.png
    gogs.run.png
        打开网页,http://IP:3000可以对gogs进行设置,根据自己的具体情况吧,目前使用正常,功能很强大,很好用。

    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2020-9-28 10:10
  • 签到天数: 1018 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2017-5-24 10:38:58 | 显示全部楼层
    等着晚上看图
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-9-16 05:52
  • 签到天数: 1368 天

    连续签到: 1 天

    [LV.10]以坛为家III

     楼主| 发表于 2017-5-24 10:39:55 | 显示全部楼层
    小菜儿 发表于 2017-5-24 10:38
    等着晚上看图

    恭迎大欣欣回归
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2020-9-28 10:10
  • 签到天数: 1018 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2017-5-24 10:41:27 | 显示全部楼层
    tjcfeng 发表于 2017-5-24 10:39
    恭迎大欣欣回归

    回来看看 好帖必顶!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-11-20 11:42 , Processed in 0.148277 second(s), 22 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.