mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 21:38:07 -05:00
vm: 'expression->derivation-in-linux-vm' uses QEMU virtfs/9p.
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Change #:qemu to default to QEMU-HEADLESS. Use "-net nic,model=virtio". Remove "-net user,smb=..." and add "-virtfs" options. Change default initrd to include two 9p mounts.
This commit is contained in:
parent
e1f88ff0ab
commit
f200b03e06
1 changed files with 12 additions and 5 deletions
|
@ -70,7 +70,7 @@ (define* (expression->derivation-in-linux-vm name exp
|
|||
(inputs '())
|
||||
(linux linux-libre)
|
||||
initrd
|
||||
(qemu qemu/smb-shares)
|
||||
(qemu qemu-headless)
|
||||
(env-vars '())
|
||||
(modules '())
|
||||
(guile-for-build
|
||||
|
@ -157,8 +157,13 @@ (define builder
|
|||
|
||||
(and (zero?
|
||||
(system* qemu "-enable-kvm" "-nographic" "-no-reboot"
|
||||
"-net" "nic,model=e1000"
|
||||
"-net" (string-append "user,smb=" (getcwd))
|
||||
"-net" "nic,model=virtio"
|
||||
"-virtfs"
|
||||
,(string-append "local,id=store_dev,path=" (%store-prefix)
|
||||
",security_model=none,mount_tag=store")
|
||||
"-virtfs"
|
||||
,(string-append "local,id=xchg_dev,path=xchg"
|
||||
",security_model=none,mount_tag=xchg")
|
||||
"-kernel" linux
|
||||
"-initrd" initrd
|
||||
"-append" (string-append "console=ttyS0 --load="
|
||||
|
@ -182,7 +187,9 @@ (define builder
|
|||
(coreutils -> (car (assoc-ref %final-inputs "coreutils")))
|
||||
(initrd (if initrd ; use the default initrd?
|
||||
(return initrd)
|
||||
(qemu-initrd #:guile-modules-in-chroot? #t)))
|
||||
(qemu-initrd #:guile-modules-in-chroot? #t
|
||||
#:mounts `((9p "store" ,(%store-prefix))
|
||||
(9p "xchg" "/xchg")))))
|
||||
(inputs (lower-inputs `(("qemu" ,qemu)
|
||||
("linux" ,linux)
|
||||
("initrd" ,initrd)
|
||||
|
@ -304,7 +311,7 @@ (define (graph-from-file file)
|
|||
(begin
|
||||
(display "creating ext3 partition...\n")
|
||||
(and (zero? (system* mkfs "-F" "/dev/sda1"))
|
||||
(let ((store (string-append "/fs" ,%store-directory)))
|
||||
(let ((store (string-append "/fs" ,(%store-prefix))))
|
||||
(display "mounting partition...\n")
|
||||
(mkdir "/fs")
|
||||
(mount "/dev/sda1" "/fs" "ext3")
|
||||
|
|
Loading…
Reference in a new issue