rvci channel

如何使用:

channels-lock.scm:

(list
 (channel
  (name 'rvci)
  (url "https://git.oerv.ac.cn/Z572/guix-rvci-channel")
  ;; 可以忽略 (commit "commit"),这样会使用最新的 guix-rvci-channel 提交设置环境
  (commit "ed2da145a6c11f53e7cc965dcf826d93114d9fc6")
  (branch "master"))
 (channel
  (name 'guix)
  (url "https://git.guix.gnu.org/guix.git")
  (branch "master")
  (commit
   "dd63521f33b34cf7620d9f98573515805b70e3cf")
  (introduction
   (make-channel-introduction
    "9edb3f66fd807b096b48283debdcddccfea34bad"
    (openpgp-fingerprint
     "BBB0 2DDF 2CEA F6A8 0D1D  E643 A2A0 6DF2 A33A 54FA")))))

在命令行中使用如下命令进行编译

guix time-machine -C path/to/channels-lock.scm -- build -e '((@ (oerv packages rvck) make-linux-rvck) #:commit "b2214529735a61b93960f43e4235706329cdbe09")' --target=riscv64-linux-gnu
  • #:commit 后面连接需要测试的提交
  • #:url 后面接项目仓库网址

注意需要双引号

或可以使用环境变量 RVCK_COMMIT=b2214529735a61b93960f43e4235706329cdbe09 来指定提交

可以使用 --target=riscv64-linux-gnu 进行交叉编译到 riscv64-linux-gnu, 或者使用 --system=riscv64-linux 进行原生编译,需本机为 riscv64 架构/设置 qemu binfmt 进行模拟 / 配置 offload 派发到 riscv64 机器上进行编译

编译完成后 /gnu/store/SOMEHASH-linux-rvck-6.6.101-0.b221452/ 目录下会有如下文件

Image  lib  Module.symvers  share  System.map

可以使用 guix time-machine -C channels-lock.scm -- describe -f channels > channels-lock.scm 生成 channels-lock.scm

使用文件

file: rvck-olk.scm

(use-modules (oerv packages rvck))
(make-linux-rvck
  #:name "linux-rvck-olk"
  #:defconfig "openeuler_defconfig"
  #:commit "15dc5133182c248a56684ad5b3164617ad734fcd"
  #:url "https://github.com/RVCK-Project/rvck-olk")

file: channels-lock.scm:

(list
 (channel
  (name 'rvci)
  (url "https://git.oerv.ac.cn/Z572/guix-rvci-channel")
  (commit "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
  (branch "master"))
 (channel
  (name 'guix)
  (url "https://git.guix.gnu.org/guix.git")
  (branch "master")
  (commit
   "dd63521f33b34cf7620d9f98573515805b70e3cf")
  (introduction
   (make-channel-introduction
    "9edb3f66fd807b096b48283debdcddccfea34bad"
    (openpgp-fingerprint
     "BBB0 2DDF 2CEA F6A8 0D1D  E643 A2A0 6DF2 A33A 54FA")))))

guix time-machine -C path/to/channel-lock.scm -- build -f path/to/rvck-olk.scm --target=riscv64-linux-gnu

Description
No description provided
Readme 47 KiB
Languages
Scheme 100%