merge-requests/1/head
			
			
		
		
							parent
							
								
									93b8efda84
								
							
						
					
					
						commit
						85764dcce2
					
				| @ -0,0 +1,73 @@ | |||||||
|  | # make-live | ||||||
|  | 
 | ||||||
|  | ## Building a PureOS ISO image | ||||||
|  | 
 | ||||||
|  |     From: Matthias Klumpp <matthias.klumpp@puri.sm> | ||||||
|  |     Date: Wed, 6 Mar 2019 22:04:37 +0100 | ||||||
|  |     Subject: Re: [PureOS] Building my own PureOS ISO image? | ||||||
|  |     Message-ID: <CAKNHny8ZXyzAD6fCa0WS2wDs_bxQcO0oKyFns3Q022yuCVkDKw@mail.gmail.com> | ||||||
|  | 
 | ||||||
|  |     > [..] | ||||||
|  | 
 | ||||||
|  |     That should be pretty easy. The basic process is the following (see | ||||||
|  |     below for replicating almost 100% of what our builders do): | ||||||
|  | 
 | ||||||
|  |     1) Create a PureOS green chroot (just debootstrap green and chroot into PureOS) | ||||||
|  |     1.1) /!\ All following steps happen inside of the PureOS chroot | ||||||
|  |     2) Run `apt install live-build git ca-certificates` | ||||||
|  |     3) cd /srv && git clone https://source.puri.sm/pureos/infra/make-live.git | ||||||
|  |     4) cd /srv/make-live | ||||||
|  |     5) Set the FLAVOR environment variable to what flavor of PureOS you | ||||||
|  |     want to build. Possible values are: | ||||||
|  |         * gnome-live | ||||||
|  |         * gnome-oem | ||||||
|  |         * plasma-live | ||||||
|  |        E.g. `export FLAVOR="gnome-oem"`. | ||||||
|  |        If no FLAVOR variable is set, the GNOME Live Flavor will be built by default | ||||||
|  |     6) Run `lb config` | ||||||
|  |     7) Run `lb build` | ||||||
|  |     8) Have fun with a fresh new PureOS image! | ||||||
|  | 
 | ||||||
|  |     These steps can be sped up a lot and be automated by using debspawn, | ||||||
|  |     which is used to create the official PureOS images in a controlled | ||||||
|  |     environment. | ||||||
|  |     In order to use debspawn, just follow these steps: | ||||||
|  |     1) Run `sudo apt install debspawn` | ||||||
|  |     2) Then run `debspawn create green` | ||||||
|  |     3) Create a new "build-pureos.sh" file with the following contents: | ||||||
|  |     ``` | ||||||
|  |     #!/bin/sh | ||||||
|  |     set -e | ||||||
|  |     set -x | ||||||
|  | 
 | ||||||
|  |     export FLAVOR="gnome-live" | ||||||
|  |     export DEBIAN_FRONTEND=noninteractive | ||||||
|  |     apt-get install -y git ca-certificates | ||||||
|  |     apt-get install -y live-build | ||||||
|  | 
 | ||||||
|  |     git clone --depth=2 https://source.puri.sm/pureos/infra/make-live.git | ||||||
|  |     /srv/build/lb | ||||||
|  |     cd /srv/build/lb/ | ||||||
|  | 
 | ||||||
|  |     lb config | ||||||
|  |     lb build | ||||||
|  | 
 | ||||||
|  |     b2sum *.iso *.contents *.zsync *.packages > checksums.b2sum | ||||||
|  |     sha256sum *.iso *.contents *.zsync *.packages > checksums.sha256sum | ||||||
|  |     mv *.iso /srv/artifacts | ||||||
|  |     mv -f *.zsync /srv/artifacts | ||||||
|  |     mv -f *.contents /srv/artifacts | ||||||
|  |     mv -f *.files /srv/artifacts | ||||||
|  |     mv -f *.packages /srv/artifacts | ||||||
|  |     mv -f *.b2sum /srv/artifacts | ||||||
|  |     mv -f *.sha256sum /srv/artifacts | ||||||
|  |     ``` | ||||||
|  |     4) Make the .sh file executable and set the FLAVOR you want. | ||||||
|  |     5) Tell debspawn to run the build and where to place the build result: | ||||||
|  |     `debspawn run --external-command | ||||||
|  |     --artifacts-out=/where/to/put/the/built/image green | ||||||
|  |     /path/to/build-pureos.sh` | ||||||
|  | 
 | ||||||
|  |     This should give you a replica of what our autobuilders did. You can | ||||||
|  |     also take a look at the actual code in Spark: | ||||||
|  |     https://github.com/lkorigin/laniakea-spark/blob/master/spark/runners/image_build.py#L30 | ||||||
					Loading…
					
					
				
		Reference in new issue
	
	 Chris Lamb
						Chris Lamb