mirror of
https://github.com/vyos/vyos-build.git
synced 2025-10-01 20:28:40 +02:00
Merge branch 'current' of github.com:vyos/vyos-build into current
This commit is contained in:
commit
a83e5139ed
11
README.md
11
README.md
@ -43,7 +43,16 @@ There are several directories with their own purpose:
|
||||
|
||||
## Prerequisites
|
||||
|
||||
To build a VyOS image, you need a machine that runs Debian Jessie. Other build hosts are not supported.
|
||||
To build a VyOS image, you need Debian8 "Jessie" environment (with jessie-backports repository). You can create it with [debootstrap](https://wiki.debian.org/Debootstrap) on Debian, Ubuntu and many distributions. To create Debian8 "Jessie" environment under vyos-chroot directory, run below commands.
|
||||
|
||||
```
|
||||
$ sudo apt install debootstrap (Note: This is on Debian/Ubuntu, adjust it with your favorite distro package manager)
|
||||
$ sudo debootstrap jessie vyos-chroot
|
||||
$ sudo chroot vyos-chroot
|
||||
|
||||
# echo "deb http://deb.debian.org/debian jessie-backports main" >> /etc/apt/sources.list
|
||||
# apt update
|
||||
```
|
||||
|
||||
Several packages are required for building the ISO and all packages, namely python3, live-build, pbuilder, python3-pystache and devscripts.
|
||||
Individual packages may have other build dependencies. If some packages are missing, build scripts will tell you.
|
||||
|
||||
31
tools/get_latest_iso.py
Executable file
31
tools/get_latest_iso.py
Executable file
@ -0,0 +1,31 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import os
|
||||
import sys
|
||||
from lxml import html
|
||||
from urllib.parse import unquote
|
||||
import requests
|
||||
|
||||
BASE_URL = 'https://downloads.vyos.io/'
|
||||
PAGE_URL = BASE_URL+'?dir=rolling/current/amd64'
|
||||
|
||||
|
||||
def download():
|
||||
page = requests.get(PAGE_URL)
|
||||
tree = html.fromstring(page.content)
|
||||
path = '//*[@id="directory-listing"]/li/a[1]/@href'
|
||||
isos = [x for x in tree.xpath(path) if os.path.splitext(x)[1] == '.iso']
|
||||
latest_iso_url = os.path.join(BASE_URL, isos[-1])
|
||||
filename = unquote(os.path.basename(latest_iso_url))
|
||||
print(filename)
|
||||
if os.path.exists(filename):
|
||||
print("{} already exists".format(filename))
|
||||
sys.exit(0)
|
||||
r = requests.get(latest_iso_url)
|
||||
with open(filename, 'wb') as fd:
|
||||
for chunk in r.iter_content(chunk_size=128):
|
||||
fd.write(chunk)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
download()
|
||||
Loading…
x
Reference in New Issue
Block a user