system: image: Define correct docker image arch when cross building
Cross-building a docker image with: $ guix system image --image-type=docker --target=aarch64-linux-gnu os.scm results in an image where the architecture declared in its config.json is the host architecture rather than the target one. The binaries are correctly cross-compiled, so the image can be loaded and used despite the warning message shown by docker: $ docker load -i vcal7bvsqcijchifhqdvprpd1niqh8sk-docker-image.tar.gz Loaded image: guix:latest $ docker create guix:latest WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested 40f06aa869ed690489c4a3824a7f7721bd4bf453b85f25ac7199266939fe2fba $ echo $? 0 This is fixed by passing the correct triplet to the build-docker-image function. * gnu/system/image.scm (system-docker-image) Add ‘image-target’ variable. [builder]: Pass ‘#:system’ argument to ‘build-docker-image’. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
This commit is contained in:
		
							parent
							
								
									e3280ae8b5
								
							
						
					
					
						commit
						a75deb8844
					
				
					 1 changed files with 3 additions and 0 deletions
				
			
		|  | @ -652,6 +652,8 @@ output file." | |||
|                shared-network?) | ||||
|               (list boot-program))) | ||||
|          (substitutable? (image-substitutable? image)) | ||||
|          (image-target (or (%current-target-system) | ||||
|                            (nix-system->gnu-triplet))) | ||||
|          (register-closures? (has-guix-service-type? os)) | ||||
|          (schema (and register-closures? | ||||
|                       (local-file (search-path %load-path | ||||
|  | @ -705,6 +707,7 @@ output file." | |||
|                  #:entry-point '(#$boot-program #$os) | ||||
|                  #:compressor '(#+(file-append gzip "/bin/gzip") "-9n") | ||||
|                  #:creation-time (make-time time-utc 0 1) | ||||
|                  #:system #$image-target | ||||
|                  #:transformations `((,image-root -> "")))))))) | ||||
| 
 | ||||
|     (computed-file name builder | ||||
|  |  | |||
		Reference in a new issue