Przeglądaj źródła

Merge pull request #513 from netbootxyz/development

Release 2.0.5-RC
Antony Messerli 5 lat temu
rodzic
commit
8c43d10af2

+ 24 - 2
.travis.yml

@@ -36,9 +36,22 @@ jobs:
           skip_cleanup: true
           on:
             branch: development
+        - provider: s3
+          edge: true
+          access_key_id: $AWS_ACCESS_KEY_ID
+          secret_access_key: $AWS_SECRET_ACCESS_KEY
+          bucket: $BUCKET_DEV
+          local_dir: s3outver
+          skip_cleanup: true
+          on:
+            branch: development
       after_deploy:
-        - ./script/message dev-push
-
+        - >
+          if ! [ "$AFTER_DEPLOY_RUN" ]; then
+            export AFTER_DEPLOY_RUN=1;
+            ./script/message dev-push
+          fi
+          
     - stage: pull-request
       if: type = pull_request
       script:
@@ -80,6 +93,15 @@ jobs:
           skip_cleanup: true
           on:
             branch: RC
+        - provider: s3
+          edge: true
+          access_key_id: $AWS_ACCESS_KEY_ID
+          secret_access_key: $AWS_SECRET_ACCESS_KEY
+          bucket: $BUCKET_STAGING
+          local_dir: s3outver
+          skip_cleanup: true
+          on:
+            branch: RC
 
     - stage: rc-github
       if: branch = RC AND type != pull_request

+ 1 - 0
README.md

@@ -134,6 +134,7 @@ In addition to being able to host netboot.xyz locally, you can also create your
 |Regolith|https://regolith-linux.org| No | Yes |
 |Scientific Linux|https://scientificlinux.org| Yes | No |
 |Slackware|https://www.slackware.com| Yes | No |
+|SparkyLinux|https://sparkylinux.org/| No | Yes |
 |Tails|https://tails.boum.org | No | Yes |
 |Tiny Core Linux|https://tinycorelinux.net| ISO - Memdisk | No |
 |Ubuntu|https://www.ubuntu.com| Yes | Yes |

+ 60 - 0
endpoints.yml

@@ -725,3 +725,63 @@ endpoints:
     - DBAN.BZI
     os: dban
     version: 2.3.0
+  sparky-stable-mingui:
+    path: /debian-squash/releases/download/5.9-12006f2d/
+    files:
+    - filesystem.squashfs
+    - initrd
+    - vmlinuz
+    os: sparky
+    version: stable
+    flavor: xfce-min
+    kernel: sparky-stable-mingui
+  sparky-stable-gui:
+    path: /debian-squash/releases/download/5.9-3d9b8c14/
+    files:
+    - filesystem.squashfs
+    - initrd
+    - vmlinuz
+    os: sparky
+    version: stable
+    flavor: xfce
+    kernel: sparky-stable-gui
+  sparky-stable-lxqt:
+    path: /debian-squash/releases/download/5.9-d6fdf079/
+    files:
+    - filesystem.squashfs
+    - initrd
+    - vmlinuz
+    os: sparky
+    version: stable
+    flavor: lxqt
+    kernel: sparky-stable-lxqt
+  sparky-rolling-mingui:
+    path: /debian-squash/releases/download/2019.12-d2988588/
+    files:
+    - filesystem.squashfs
+    - initrd
+    - vmlinuz
+    os: sparky
+    version: rolling
+    flavor: xfce-min
+    kernel: sparky-rolling-mingui
+  sparky-rolling-gui:
+    path: /debian-squash/releases/download/2019.12-d29aa310/
+    files:
+    - filesystem.squashfs
+    - initrd
+    - vmlinuz
+    os: sparky
+    version: rolling
+    flavor: xfce
+    kernel: sparky-rolling-gui
+  sparky-rolling-lxqt:
+    path: /debian-squash/releases/download/2019.12-ddb8d501/
+    files:
+    - filesystem.squashfs
+    - initrd
+    - vmlinuz
+    os: sparky
+    version: rolling
+    flavor: lxqt
+    kernel: sparky-rolling-lxqt

+ 13 - 11
roles/netbootxyz/defaults/main.yml

@@ -29,7 +29,7 @@ live_endpoint: "https://github.com/netbootxyz"
 
 # generates menus
 generate_menus: true
-generate_version_file: false
+generate_version_file: true
 
 # generates signatures for source files
 generate_checksums: true
@@ -213,6 +213,14 @@ releases:
     versions:
       - name: "2.23 Core 138"
         code_name: "2.23-core138"
+  k3os:
+    name: "k3OS"
+    mirror: "https://github.com/rancher/k3os/releases/download/"
+    enabled: true
+    menu: "linux"
+    versions:
+      - name: "v0.8.0"
+        code_name: "v0.8.0"
   kali:
     name: "Kali Linux"
     mirror: "http://http.kali.org"
@@ -307,6 +315,10 @@ releases:
     versions:
       - name: "Latest (20 MB)"
         code_name: "latest"
+  rhel:
+    name: "Red Hat Enterprise Linux"
+    enabled: true
+    menu: "linux"
   scientific:
     name: "Scientific Linux"
     mirror: "http://ftp1.scientificlinux.org"
@@ -411,20 +423,10 @@ utilitiespcbios:
 
 # efi utility values
 utilitiesefi:
-  breakin:
-    name: "Breakin"
-    enabled: false
-    type: "direct"
-    kernel: "${live_endpoint}{{ endpoints.breakin.path }}vmlinuz sshpasswd=breakin startup=breakin initrd=initrd"
-    initrd: "${live_endpoint}{{ endpoints.breakin.path }}initrd"
   clonezilla:
     name: "Clonezilla"
     enabled: true
     type: "ipxemenu"
-  dban:
-    name: "DBAN"
-    enabled: false
-    type: "ipxemenu"
 
 bootloaders:
   legacy:

+ 1 - 9
roles/netbootxyz/tasks/generate_menus.yml

@@ -24,17 +24,9 @@
       path: "{{ netbootxyz_root }}"
       state: directory
 
-  - name: Get current menu version
-    shell: cat version.txt
-    register: menu_version
-    when:
-      - generate_version_file | bool
-    tags:
-      - skip_ansible_lint
-
   - name: Set menu version
     set_fact:
-      upstream_version: "{{ menu_version.stdout }}"
+      upstream_version: "{{ boot_version }}"
     when:
       - generate_version_file | bool
 

+ 0 - 0
roles/netbootxyz/templates/menu/dban.ipxe → roles/netbootxyz/templates/menu/dban.ipxe.j2


+ 6 - 1
roles/netbootxyz/templates/menu/fedora.ipxe.j2

@@ -37,7 +37,8 @@ goto boottype
 
 :boottype
 menu ${os} ${arch} boot type
-item normal ${ova} install
+item normal ${ova} graphical install
+item text ${ova} text install
 item rescue ${ova} rescue
 item kickstart ${ova} specify kickstart url
 isset ${bt} || choose bt || goto fedora
@@ -46,6 +47,10 @@ iseq ${bt} rescue && goto rescue ||
 iseq ${bt} kickstart && goto kickstart ||
 goto boot
 
+:text
+set params inst.text ||
+goto boot
+
 :rescue
 set params rescue ||
 goto boot

+ 26 - 0
roles/netbootxyz/templates/menu/k3os.ipxe.j2

@@ -0,0 +1,26 @@
+#!ipxe
+
+# k3OS
+# https://k3os.io/
+
+goto ${menu} ||
+
+:k3os
+set os {{ releases.k3os.name }}
+set k3os_mirror {{ releases.k3os.mirror }}
+menu ${os} by Rancher - ${arch_a}
+item --gap k3OS Versions:
+{% for item in releases.k3os.versions %}
+item {{ item.code_name }} ${space} ${os} {{ item.name }}
+{% endfor %}
+choose version || goto k3os_exit
+
+:k3os_boot
+imgfree
+kernel ${k3os_mirror}${version}/k3os-vmlinuz-amd64 printk.devkmsg=on k3os.mode=live k3os.install.iso_url=${k3os_mirror}${version}/k3os-amd64.iso console=ttyS0 console=tty1 initrd=k3os-initrd-amd64
+initrd ${k3os_mirror}${version}/k3os-initrd-amd64
+boot
+
+:k3os_exit
+clear menu
+exit 0

+ 56 - 0
roles/netbootxyz/templates/menu/live-sparky.ipxe.j2

@@ -0,0 +1,56 @@
+#!ipxe
+
+goto ${menu} ||
+
+:live_menu
+set os SparkyLinux Live
+menu ${os} - Current Arch [ ${arch} ]
+iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
+item --gap ${os} Versions
+item stable ${space} ${os} Stable
+item rolling ${space} ${os} Rolling
+choose live_version || goto live_exit
+menu ${os} ${live_version}
+item --gap ${os} Flavors
+goto ${live_version}
+
+:stable
+{% for key, value in endpoints.items() | sort %}
+{% if value.os == "sparky" and value.version == "stable" %}
+item {{ key }} ${space} {{ value.os | title }} {{ value.version }} {{ value.flavor | title}}
+{% endif %}
+{% endfor %}
+goto flavor_select
+
+:rolling
+{% for key, value in endpoints.items() | sort %}
+{% if value.os == "sparky" and value.version == "rolling" %}
+item {{ key }} ${space} {{ value.os | title }} {{ value.version }} {{ value.flavor | title}}
+{% endif %}
+{% endfor %}
+goto flavor_select
+
+:flavor_select
+choose flavor || goto live_menu
+echo ${cls}
+goto ${flavor} ||
+
+{% for key, value in endpoints.items() | sort %}
+{% if value.os == "sparky" %}
+{% set kernel_name = value.kernel %}
+:{{ key }}
+set squash_url ${live_endpoint}{{ value.path }}filesystem.squashfs
+set kernel_url ${live_endpoint}{{ value.path }}
+goto boot
+{% endif %}
+{% endfor %}
+
+:boot
+imgfree
+kernel ${kernel_url}vmlinuz boot=live fetch=${squash_url} initrd=initrd
+initrd ${kernel_url}initrd
+boot
+
+:live_exit
+clear menu
+exit 0

+ 1 - 0
roles/netbootxyz/templates/menu/live.ipxe.j2

@@ -21,6 +21,7 @@ item live-mint ${space} Mint
 item live-peppermint ${space} Peppermint
 item live-popos ${space} Pop OS
 item live-regolith ${space} Regolith
+item live-sparky ${space} SparkyLinux
 item live-tails ${space} Tails
 item live-ubuntu ${space} Ubuntu
 item live-voyager ${space} Voyager

+ 39 - 0
roles/netbootxyz/templates/menu/nbxyz.ipxe.j2

@@ -0,0 +1,39 @@
+#!ipxe
+
+# netboot.xyz endpoints
+# used for accessing the latest internet build menus
+goto ${menu} ||
+
+:nbxyz
+set os netboot.xyz
+clear nbxyz_version
+menu ${os}
+item --gap Endpoints
+item nbxyz-rolling ${space} Production Rolling (boot.netboot.xyz)
+item nbxyz-prod ${space} Production Release (boot.netboot.xyz)
+item nbxyz-staging ${space} Staging (staging.boot.netboot.xyz)
+item nbxyz-dev ${space} Development (dev.boot.netboot.xyz)
+choose nbxyz_version || goto nbxyz_exit
+goto ${nbxyz_version}
+
+:nbxyz-rolling
+chain --autofree https://boot.netboot.xyz/menu.ipxe ||
+goto nbxyz
+
+:nbxyz-prod
+chain https://boot.netboot.xyz/version.ipxe ||
+chain --autofree https://boot.netboot.xyz/${upstream_version}/menu.ipxe ||
+goto nbxyz
+
+:nbxyz-staging
+chain https://staging.boot.netboot.xyz/version.ipxe ||
+chain --autofree https://staging.boot.netboot.xyz/${upstream_version}/menu.ipxe ||
+goto nbxyz
+
+:nbxyz-dev
+chain https://s3.amazonaws.com/dev.boot.netboot.xyz/version.ipxe ||
+chain --autofree https://s3.amazonaws.com/dev.boot.netboot.xyz/${upstream_version}/menu.ipxe ||
+goto nbxyz
+
+:nbxyz_exit
+exit 0

+ 1 - 3
roles/netbootxyz/templates/menu/rancheros.ipxe.j2

@@ -19,10 +19,8 @@ set folder ${rancheros_base_dir}
 goto boot
 
 :boot
-echo Login in with username: rancher, password: rancher
-echo To install: ros install -d /dev/sda1
 imgfree
-kernel ${url}/${folder}/vmlinuz rancher.state.autoformat=[/dev/sda] rancher.password=rancher initrd=initrd
+kernel ${url}/${folder}/vmlinuz rancher.autologin=tty1 initrd=initrd
 initrd ${url}/${folder}/initrd
 boot
 

+ 9 - 2
roles/netbootxyz/templates/menu/rhel.ipxe.j2

@@ -14,7 +14,8 @@ set os Red Hat Enterprise Linux
 clear rhel_version
 menu ${os}
 item --gap Installers
-item rhel_install ${space} Load ${os} Installer...
+item rhel_install ${space} ${os} Graphical Install
+item rhel_install_text ${space} ${os} Text Install
 item --gap Options:
 item arch_set ${space} Architecture [ ${rhel_arch} ]
 item url_set ${space} Base URL [ ${rhel_base_url} ]
@@ -38,15 +39,21 @@ echo
 prompt Press any key to return to RHEL Menu...
 goto rhel
 
+:rhel_install_text
+set params text
+goto rhel_install
+
 :rhel_install
 isset ${rhel_base_url} && goto boot || echo URL not set... && goto url_set
+goto boot
 
 :boot
 imgfree
-kernel ${rhel_base_url}/os/${rhel_arch}/images/pxeboot/vmlinuz repo=${rhel_base_url}/os/${rhel_arch} ${console} ${ipparam} initrd=initrd.img
+kernel ${rhel_base_url}/os/${rhel_arch}/images/pxeboot/vmlinuz repo=${rhel_base_url}/os/${rhel_arch} ${console} ${ipparam} ${params} initrd=initrd.img
 initrd ${rhel_base_url}/os/${rhel_arch}/images/pxeboot/initrd.img
 md5sum vmlinuz initrd.img
 boot
+goto rhel
 
 :rhel_exit
 exit 0

+ 1 - 11
roles/netbootxyz/templates/menu/utils-efi.ipxe.j2

@@ -9,8 +9,8 @@ item {{ key }} ${space} {{ value.name }}
 {% endfor %}
 item --gap netboot.xyz tools:
 item nbxyz-custom ${space} Set Github username [user: ${github_user}]
-item testdistro ${space} Test Distribution ISO
 item testpr ${space} Test forked netboot.xyz branch or hash
+item nbxyz ${space} netboot.xyz endpoints
 choose --default ${menu} menu || goto utils_exit
 echo ${cls}
 goto ${menu} ||
@@ -36,16 +36,6 @@ echo You can then customize your fork as needed and set up your own custom optio
 echo Once your username is set, a custom option will appear on the main menu.
 echo
 echo -n Please enter your Github username: ${} && read github_user
-goto utils_exit 
-
-:testdistro
-echo This option will allow you to test booting an ISO using memdisk. Please
-echo specify the URL of the ISO you want to test and it will automatically
-echo attempt to load the ISO using memdisk.
-echo -n URL: ${} && read distro_iso
-kernel ${memdisk} iso raw
-initrd ${distro_iso}
-boot
 goto utils_exit
 
 :testpr

+ 1 - 0
roles/netbootxyz/templates/menu/utils-pcbios.ipxe.j2

@@ -11,6 +11,7 @@ item --gap netboot.xyz tools:
 item nbxyz-custom ${space} Set Github username [user: ${github_user}]
 item testdistro ${space} Test Distribution ISO
 item testpr ${space} Test forked netboot.xyz branch or hash
+item nbxyz ${space} netboot.xyz endpoints
 choose --default ${menu} menu || goto utils_exit
 echo ${cls}
 goto ${menu} ||

+ 3 - 1
script/build_release

@@ -12,7 +12,7 @@ DOCKER_FILE="Dockerfile-build.production"
 # Set boot domain
 if [[ "${TYPE}" == "dev" ]]; then
   BOOT_DOMAIN="s3.amazonaws.com/${DEV_URL}/${TRAVIS_COMMIT}"
-  BOOT_VERSION="Development"
+  BOOT_VERSION="${TRAVIS_COMMIT}"
 elif [[ "${TYPE}" == "pr" ]]; then
   BOOT_DOMAIN="test.com"
   BOOT_VERSION="test"
@@ -37,7 +37,9 @@ docker run --rm -it -v $(pwd):/buildout localbuild
 
 # Generate folder outputs
 mkdir -p s3out
+mkdir -p s3outver
 cp -r buildout/* s3out/
+cp buildout/version.ipxe s3outver/
 mkdir -p githubout
 mv buildout/ipxe/* githubout/
 cd buildout

+ 1 - 1
version.txt

@@ -1 +1 @@
-2.0.4
+2.0.5