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
Languages
Scheme
100%