periodic checkin
This commit is contained in:
parent
d40672fdd9
commit
e1e464d5c5
@ -66,9 +66,9 @@ def genImg(conf):
|
|||||||
hashes['sha256'][a].update(stream)
|
hashes['sha256'][a].update(stream)
|
||||||
hashes['md5'][a].update(stream)
|
hashes['md5'][a].update(stream)
|
||||||
with open(airoot + 'airootfs.sha256', 'w+') as f:
|
with open(airoot + 'airootfs.sha256', 'w+') as f:
|
||||||
f.write("{0} airootfs.sfs".format(hashes['sha256'][a].hexdigest()))
|
f.write("{0} airootfs.sfs\n".format(hashes['sha256'][a].hexdigest()))
|
||||||
with open(airoot + 'airootfs.md5', 'w+') as f:
|
with open(airoot + 'airootfs.md5', 'w+') as f:
|
||||||
f.write("{0} airootfs.sfs".format(hashes['md5'][a].hexdigest()))
|
f.write("{0} airootfs.sfs\n".format(hashes['md5'][a].hexdigest()))
|
||||||
squashfses.append('{0}'.format(squashimg))
|
squashfses.append('{0}'.format(squashimg))
|
||||||
print("{0}: [BUILD] Hash checksums complete.".format(datetime.datetime.now()))
|
print("{0}: [BUILD] Hash checksums complete.".format(datetime.datetime.now()))
|
||||||
# Logo
|
# Logo
|
||||||
@ -81,8 +81,10 @@ def genImg(conf):
|
|||||||
# We use a dict here so we can use the right filenames...
|
# We use a dict here so we can use the right filenames...
|
||||||
# I might change how I handle this in the future.
|
# I might change how I handle this in the future.
|
||||||
bootfiles = {}
|
bootfiles = {}
|
||||||
bootfiles['kernel'] = ['vmlinuz-linux-' + bdisk['name'], '{0}.{1}.kern'.format(bdisk['uxname'], bitness)]
|
#bootfiles['kernel'] = ['vmlinuz-linux-' + bdisk['name'], '{0}.{1}.kern'.format(bdisk['uxname'], bitness)]
|
||||||
bootfiles['initrd'] = ['initramfs-linux-{0}.img'.format(bdisk['name']), '{0}.{1}.img'.format(bdisk['uxname'], bitness)]
|
bootfiles['kernel'] = ['vmlinuz-linux', '{0}.{1}.kern'.format(bdisk['uxname'], bitness)]
|
||||||
|
#bootfiles['initrd'] = ['initramfs-linux-{0}.img'.format(bdisk['name']), '{0}.{1}.img'.format(bdisk['uxname'], bitness)]
|
||||||
|
bootfiles['initrd'] = ['initramfs-linux.img', '{0}.{1}.img'.format(bdisk['uxname'], bitness)]
|
||||||
for x in ('kernel', 'initrd'):
|
for x in ('kernel', 'initrd'):
|
||||||
shutil.copy2('{0}/root.{1}/boot/{2}'.format(chrootdir, a, bootfiles[x][0]), '{0}/boot/{1}'.format(prepdir, bootfiles[x][1]))
|
shutil.copy2('{0}/root.{1}/boot/{2}'.format(chrootdir, a, bootfiles[x][0]), '{0}/boot/{1}'.format(prepdir, bootfiles[x][1]))
|
||||||
for i in squashfses:
|
for i in squashfses:
|
||||||
@ -233,9 +235,11 @@ def genUEFI(build, bdisk):
|
|||||||
if os.path.isfile(z):
|
if os.path.isfile(z):
|
||||||
os.remove(z)
|
os.remove(z)
|
||||||
shutil.copy(y, z)
|
shutil.copy(y, z)
|
||||||
shutil.copy2('{0}/root.{1}/boot/vmlinuz-linux-{2}'.format(chrootdir, 'x86_64', bdisk['name']),
|
#shutil.copy2('{0}/root.{1}/boot/vmlinuz-linux-{2}'.format(chrootdir, 'x86_64', bdisk['name']),
|
||||||
|
shutil.copy2('{0}/root.{1}/boot/vmlinuz-linux'.format(chrootdir, 'x86_64'),
|
||||||
'{0}/EFI/{1}/{2}.efi'.format(mountpt, bdisk['name'], bdisk['uxname']))
|
'{0}/EFI/{1}/{2}.efi'.format(mountpt, bdisk['name'], bdisk['uxname']))
|
||||||
shutil.copy2('{0}/root.{1}/boot/initramfs-linux-{2}.img'.format(chrootdir, 'x86_64', bdisk['name']),
|
#shutil.copy2('{0}/root.{1}/boot/initramfs-linux-{2}.img'.format(chrootdir, 'x86_64', bdisk['name']),
|
||||||
|
shutil.copy2('{0}/root.{1}/boot/initramfs-linux.img'.format(chrootdir, 'x86_64'),
|
||||||
'{0}/EFI/{1}/{2}.img'.format(mountpt, bdisk['name'], bdisk['uxname']))
|
'{0}/EFI/{1}/{2}.img'.format(mountpt, bdisk['name'], bdisk['uxname']))
|
||||||
# TODO: support both arch's as EFI bootable instead? Maybe? requires more research. very rare.
|
# TODO: support both arch's as EFI bootable instead? Maybe? requires more research. very rare.
|
||||||
#shutil.copy2('{0}/root.{1}/boot/vmlinuz-linux-{2}'.format(chrootdir, a, bdisk['name']),
|
#shutil.copy2('{0}/root.{1}/boot/vmlinuz-linux-{2}'.format(chrootdir, a, bdisk['name']),
|
||||||
|
@ -113,11 +113,11 @@ def parseConfig(confs):
|
|||||||
elif not glob.glob('{0}/*v{1}r*.iso'.format(config_dict['build']['isodir'], config_dict['bdisk']['ver'])):
|
elif not glob.glob('{0}/*v{1}r*.iso'.format(config_dict['build']['isodir'], config_dict['bdisk']['ver'])):
|
||||||
config_dict['build']['buildnum'] = 0
|
config_dict['build']['buildnum'] = 0
|
||||||
# and build a list of arch(es) we want to build
|
# and build a list of arch(es) we want to build
|
||||||
if config_dict['build']['multiarch'] in ('','yes','true','1'):
|
if config_dict['build']['multiarch'] in ('','yes','true','1','no','false','0'):
|
||||||
config_dict['build']['arch'] = ['x86_64','i686']
|
config_dict['build']['arch'] = ['x86_64','i686']
|
||||||
elif config_dict['build']['multiarch'] == 'x86_64':
|
elif config_dict['build']['multiarch'] in ('x86_64','64','no32'):
|
||||||
config_dict['build']['arch'] = ['x86_64']
|
config_dict['build']['arch'] = ['x86_64']
|
||||||
elif config_dict['build']['multiarch'] == 'i686':
|
elif config_dict['build']['multiarch'] in ('i686','32','no64'):
|
||||||
config_dict['build']['arch'] = ['i686']
|
config_dict['build']['arch'] = ['i686']
|
||||||
else:
|
else:
|
||||||
exit(('{0}: ERROR: {1} is not a valid value. Check your configuration.').format(
|
exit(('{0}: ERROR: {1} is not a valid value. Check your configuration.').format(
|
||||||
|
@ -219,11 +219,12 @@ def genISO(conf):
|
|||||||
shutil.copy2('{0}/src/bin/ipxe.lkrn'.format(ipxe_src), '{0}/boot/ipxe.krn'.format(bootdir))
|
shutil.copy2('{0}/src/bin/ipxe.lkrn'.format(ipxe_src), '{0}/boot/ipxe.krn'.format(bootdir))
|
||||||
isolinux_filelst = ['isolinux.bin',
|
isolinux_filelst = ['isolinux.bin',
|
||||||
'ldlinux.c32']
|
'ldlinux.c32']
|
||||||
|
os.makedirs('{0}/isolinux'.format(bootdir), exist_ok = True)
|
||||||
for f in isolinux_filelst:
|
for f in isolinux_filelst:
|
||||||
shutil.copy2('{0}/root.{1}/usr/lib/syslinux/bios/{2}'.format(chrootdir, arch[0], f), '{0}/{1}'.format(bootdir, f))
|
shutil.copy2('{0}/root.{1}/usr/lib/syslinux/bios/{2}'.format(chrootdir, arch[0], f), '{0}/isolinux/{1}'.format(bootdir, f))
|
||||||
tpl = env.get_template('BIOS/isolinux.cfg.j2')
|
tpl = env.get_template('BIOS/isolinux.cfg.j2')
|
||||||
tpl_out = tpl.render(build = build, bdisk = bdisk)
|
tpl_out = tpl.render(build = build, bdisk = bdisk)
|
||||||
with open('{0}/isolinux.cfg'.format(bootdir), "w+") as f:
|
with open('{0}/isolinux/isolinux.cfg'.format(bootdir), "w+") as f:
|
||||||
f.write(tpl_out)
|
f.write(tpl_out)
|
||||||
print("{0}: [IPXE] Building Mini ISO ({1})...".format(datetime.datetime.now(), isopath))
|
print("{0}: [IPXE] Building Mini ISO ({1})...".format(datetime.datetime.now(), isopath))
|
||||||
if efi:
|
if efi:
|
||||||
@ -235,8 +236,8 @@ def genISO(conf):
|
|||||||
'-appid', bdisk['desc'],
|
'-appid', bdisk['desc'],
|
||||||
'-publisher', bdisk['dev'],
|
'-publisher', bdisk['dev'],
|
||||||
'-preparer', 'prepared by ' + bdisk['dev'],
|
'-preparer', 'prepared by ' + bdisk['dev'],
|
||||||
'-eltorito-boot', 'isolinux.bin',
|
'-eltorito-boot', 'isolinux/isolinux.bin',
|
||||||
'-eltorito-catalog', 'boot.cat',
|
'-eltorito-catalog', 'isolinux/boot.cat',
|
||||||
'-no-emul-boot',
|
'-no-emul-boot',
|
||||||
'-boot-load-size', '4',
|
'-boot-load-size', '4',
|
||||||
'-boot-info-table',
|
'-boot-info-table',
|
||||||
|
@ -247,6 +247,267 @@ Should we sign our release files? See the gpg section.
|
|||||||
==== `dlpath`
|
==== `dlpath`
|
||||||
Where should the release files be saved? Note that many other files are created here as well.
|
Where should the release files be saved? Note that many other files are created here as well.
|
||||||
|
|
||||||
|
WARNING: If you manage your project in git, this should not be checked in as it has many large files that are automatically generated!
|
||||||
|
|
||||||
. No whitespace
|
. No whitespace
|
||||||
. Will be created if it doesn't exist
|
. Will be created if it doesn't exist
|
||||||
|
|
||||||
|
==== `chrootdir`
|
||||||
|
Where the bootstrap tarball(s) extract to, where the chroots are built and prepped for filesystems on the live media.
|
||||||
|
|
||||||
|
WARNING: If you manage your project in git, this should not be checked in as it has many large files that are automatically generated!
|
||||||
|
|
||||||
|
. No whitespace
|
||||||
|
. Will be created if it doesn't exist
|
||||||
|
|
||||||
|
==== `basedir`
|
||||||
|
Where your <<_extra,`extra/`>> and <<_overlay,`overlay/`>> directories are located. If you checked out from git, this would be your git worktree directory.
|
||||||
|
|
||||||
|
. No whitespace
|
||||||
|
. Must exist and contain the above directories populated with necessary files
|
||||||
|
|
||||||
|
==== `isodir`
|
||||||
|
This is the output directory of ISO files when they're created (as well as GPG signatures if you <<__code_gpg_code,enabled them>>).
|
||||||
|
|
||||||
|
WARNING: If you manage your project in git, this should not be checked in as it has many large files that are automatically generated!
|
||||||
|
|
||||||
|
. No whitespace
|
||||||
|
. Will be created if it doesn't exist
|
||||||
|
|
||||||
|
==== `srcdir`
|
||||||
|
This is where we save and compile source code if we need to dynamically build components (such as iPXE for mini ISOs).
|
||||||
|
|
||||||
|
. No whitespace
|
||||||
|
. Will be created if it doesn't exist (and is needed)
|
||||||
|
|
||||||
|
==== `prepdir`
|
||||||
|
This is the directory we use for staging.
|
||||||
|
|
||||||
|
. No whitespace
|
||||||
|
. Will be created if it doesn't exist
|
||||||
|
|
||||||
|
==== `archboot`
|
||||||
|
This directory is used to stage boot files.
|
||||||
|
|
||||||
|
WARNING: This directory should not be the exact same path as other directives! If so, you will cause your ISO to be much larger than necessary. A subdirectory of another directive's path, however, is okay.
|
||||||
|
|
||||||
|
. No whitespace
|
||||||
|
. Will be created if it doesn't exist
|
||||||
|
|
||||||
|
==== `mountpt`
|
||||||
|
The path to use as a mountpoint.
|
||||||
|
|
||||||
|
. No whitespace
|
||||||
|
. Will be created if it doesn't exist
|
||||||
|
|
||||||
|
==== `multiarch`
|
||||||
|
*default: yes*
|
||||||
|
|
||||||
|
Whether or not to build a "multiarch" image- that is, building support for both x86_64 and i686 in the same ISO.
|
||||||
|
|
||||||
|
[options="header"]
|
||||||
|
|======================
|
||||||
|
s|In order to... 3+^|Accepts (case-insensitive) one of:
|
||||||
|
s|build a multiarch ISO ^m|yes ^m|true ^m|1
|
||||||
|
s|build a separate ISO for each architecture ^m|no ^m|false ^m|0
|
||||||
|
s|only build an i686-architecture ISO ^m|i686 ^m|32 ^m|no64
|
||||||
|
s|only build an x86_64-architecture ISO ^m|x86_64 ^m|64 ^m|no32
|
||||||
|
|======================
|
||||||
|
|
||||||
|
==== `ipxe`
|
||||||
|
*default: no*
|
||||||
|
|
||||||
|
Enable iPXE ("mini ISO") functionality.
|
||||||
|
|
||||||
|
NOTE: This has no bearing on the <<__code_sync_code,`[sync]`>> section, so you can create an iPXE HTTP preparation for instance without needing to sync it anywhere (in case you're building on the webserver itself).
|
||||||
|
|
||||||
|
[options="header"]
|
||||||
|
|======================
|
||||||
|
2+^|Accepts (case-insensitive) one of:
|
||||||
|
^m|yes ^m|no
|
||||||
|
^m|true ^m|false
|
||||||
|
^m|1 ^m|0
|
||||||
|
|======================
|
||||||
|
|
||||||
|
==== `i_am_a_racecar`
|
||||||
|
*default: no*
|
||||||
|
|
||||||
|
This option should only be enabled if you are on a fairly powerful, multicore system with plenty of RAM. It will speed the build process along, but will have some seriously adverse effects if your system can't handle it. Most modern systems should be fine with enabling it.
|
||||||
|
|
||||||
|
[options="header"]
|
||||||
|
|======================
|
||||||
|
2+^|Accepts (case-insensitive) one of:
|
||||||
|
^m|yes ^m|no
|
||||||
|
^m|true ^m|false
|
||||||
|
^m|1 ^m|0
|
||||||
|
|======================
|
||||||
|
|
||||||
|
=== `[gpg]`
|
||||||
|
This section controls settings for signing our release files. This is only used if <<__code_gpg_code,`build:gpg`>> is enabled.
|
||||||
|
|
||||||
|
==== `mygpgkey`
|
||||||
|
A valid key ID that BDisk should use to _sign_ release files.
|
||||||
|
|
||||||
|
. You will be prompted for a passphrase if your key has one/you don't have an open and authorized gpg-agent session. Make sure you have a working pinentry configuration set up!
|
||||||
|
. If you leave this blank we will use the key we generate automatically earlier in the build process.
|
||||||
|
. We will generate one if this is blank and you have selected sign as yes.
|
||||||
|
|
||||||
|
==== `mygpghome`
|
||||||
|
The directory should be used for the above GPG key if specified. Make sure it contains your private key. (e.g. `/home/username/.gnupg`)
|
||||||
|
|
||||||
|
=== `[sync]`
|
||||||
|
This section controls what we should do with the resulting build and how to handle uploads, if we choose to use those features.
|
||||||
|
|
||||||
|
==== `http`
|
||||||
|
*default: no*
|
||||||
|
|
||||||
|
If enabled, BDisk will generate/prepare HTTP files. This is mostly only useful if you plan on using iPXE.
|
||||||
|
|
||||||
|
[options="header"]
|
||||||
|
|======================
|
||||||
|
2+^|Accepts (case-insensitive) one of:
|
||||||
|
^m|yes ^m|no
|
||||||
|
^m|true ^m|false
|
||||||
|
^m|1 ^m|0
|
||||||
|
|======================
|
||||||
|
|
||||||
|
==== `tftp`
|
||||||
|
*default: no*
|
||||||
|
|
||||||
|
If enabled, BDisk will generate/prepare TFTP files. This is mostly only useful if you plan on using more traditional (non-iPXE) setups and regualar PXE bootstrapping into iPXE.
|
||||||
|
|
||||||
|
[options="header"]
|
||||||
|
|======================
|
||||||
|
2+^|Accepts (case-insensitive) one of:
|
||||||
|
^m|yes ^m|no
|
||||||
|
^m|true ^m|false
|
||||||
|
^m|1 ^m|0
|
||||||
|
|======================
|
||||||
|
|
||||||
|
==== `git`
|
||||||
|
*default: no*
|
||||||
|
|
||||||
|
Enable automatic Git pushing for any changes done to the project itself. If you don't have upstream write/push access, you'll want to disable this.
|
||||||
|
|
||||||
|
[options="header"]
|
||||||
|
|======================
|
||||||
|
2+^|Accepts (case-insensitive) one of:
|
||||||
|
^m|yes ^m|no
|
||||||
|
^m|true ^m|false
|
||||||
|
^m|1 ^m|0
|
||||||
|
|======================
|
||||||
|
|
||||||
|
==== `rsync`
|
||||||
|
*default: no*
|
||||||
|
|
||||||
|
Enable rsync pushing for the ISO (and other files, if you choose- useful for iPXE over HTTP(S)).
|
||||||
|
|
||||||
|
[options="header"]
|
||||||
|
|======================
|
||||||
|
2+^|Accepts (case-insensitive) one of:
|
||||||
|
^m|yes ^m|no
|
||||||
|
^m|true ^m|false
|
||||||
|
^m|1 ^m|0
|
||||||
|
|======================
|
||||||
|
|
||||||
|
=== `[http]`
|
||||||
|
This section controls details about HTTP file preparation/generation. Only used if <<__code_http_code,`sync:http`>> is enabled.
|
||||||
|
|
||||||
|
==== `path`
|
||||||
|
This directory is where to build an HTTP webroot.
|
||||||
|
|
||||||
|
WARNING: MAKE SURE you do not store files here that you want to keep! They will be deleted!
|
||||||
|
|
||||||
|
. No whitespace
|
||||||
|
. If blank, HTTP preparation/generation will not be done
|
||||||
|
. If specified, it will be created if it doesn't exist
|
||||||
|
. Will be deleted first
|
||||||
|
|
||||||
|
==== `user`
|
||||||
|
What user the HTTP files should be owned as. This is most likely going to be either 'http', 'nginx', or 'apache'.
|
||||||
|
|
||||||
|
. No whitespace
|
||||||
|
. User must exist on build system
|
||||||
|
|
||||||
|
|======================
|
||||||
|
^s|Can be one of: ^.^m|username ^.^m|http://www.linfo.org/uid.html[UID]
|
||||||
|
|======================
|
||||||
|
|
||||||
|
==== `group`
|
||||||
|
What group the HTTP files should be owned as. This is most likely going to be either 'http', 'nginx', or 'apache'.
|
||||||
|
|
||||||
|
. No whitespace
|
||||||
|
. Group must exist on build system
|
||||||
|
|
||||||
|
|======================
|
||||||
|
^s|Can be one of: ^.^m|group name ^.^m|https://linux.die.net/man/5/group[UID]
|
||||||
|
|======================
|
||||||
|
|
||||||
|
=== `[tftp]`
|
||||||
|
This section controls details about TFTP file preparation/generation. Only used if <<__code_tftp_code,`sync:tftp`>> is enabled.
|
||||||
|
|
||||||
|
==== `path`
|
||||||
|
The directory where we want to build a TFTP root.
|
||||||
|
|
||||||
|
WARNING: MAKE SURE you do not store files here that you want to keep! They will be deleted!
|
||||||
|
|
||||||
|
. No whitespace
|
||||||
|
. Will be created if it doesn't exist
|
||||||
|
. Will be deleted first
|
||||||
|
|
||||||
|
==== `user`
|
||||||
|
What user the TFTP files should be owned as. This is most likely going to be either 'tftp', 'root', or 'nobody'.
|
||||||
|
|
||||||
|
. No whitespace
|
||||||
|
. User must exist on build system
|
||||||
|
|
||||||
|
|======================
|
||||||
|
^s|Can be one of: ^.^m|username ^.^m|http://www.linfo.org/uid.html[UID]
|
||||||
|
|======================
|
||||||
|
|
||||||
|
==== `group`
|
||||||
|
What group the TFTP files should be owned as. This is most likely going to be either 'tftp', 'root', or 'nobody'.
|
||||||
|
|
||||||
|
. No whitespace
|
||||||
|
. Group must exist on build system
|
||||||
|
|
||||||
|
|======================
|
||||||
|
^s|Can be one of: ^.^m|group name ^.^m|https://linux.die.net/man/5/group[UID]
|
||||||
|
|======================
|
||||||
|
|
||||||
|
=== `[ipxe]`
|
||||||
|
This section controls aspects of iPXE building. Only used if <<__code_ipxe_code,`build:ipxe`>> is enabled.
|
||||||
|
|
||||||
|
==== `iso`
|
||||||
|
*default: no* +
|
||||||
|
*requires: <<_optional,_git_>>*
|
||||||
|
|
||||||
|
Build a "mini-ISO"; that is, an ISO file that can be used to bootstrap an iPXE environment (so you don't need to set up a traditional PXE environment on your LAN). We'll still build a full standalone ISO no matter what.
|
||||||
|
|
||||||
|
[options="header"]
|
||||||
|
|======================
|
||||||
|
2+^|Accepts (case-insensitive) one of:
|
||||||
|
^m|yes ^m|no
|
||||||
|
^m|true ^m|false
|
||||||
|
^m|1 ^m|0
|
||||||
|
|======================
|
||||||
|
|
||||||
|
==== `uri`
|
||||||
|
What URI iPXE's EMBED script should use. This would be where you host an iPXE chainloading script on a webserver, for instance. See iPXE's example of http://ipxe.org/scripting#dynamic_scripts[dynamic scripts^] for an example of the script that would be placed at this URI.
|
||||||
|
|
||||||
|
NOTE: If you require HTTP BASIC Authentication or HTTP Digest Authentication (untested), you can format it via `https://user:password@bdisk.square-r00t.net/boot.php`.
|
||||||
|
|
||||||
|
NOTE: This currently does not work for HTTPS with self-signed certificates.
|
||||||
|
|
||||||
|
. *Required* if <<__code_iso_code,`iso`>> is enabled
|
||||||
|
|
||||||
|
==== `ssldir`
|
||||||
|
Directory to hold SSL results, if we are generating keys, certificates, etc.
|
||||||
|
|
||||||
|
. No whitespace
|
||||||
|
. Will be created if it does not exist
|
||||||
|
|
||||||
|
==== `ssl_ca`
|
||||||
|
Path to the (root) CA certificate file iPXE should use. See http://ipxe.org/crypto[iPXE's crypto page^] for more information.
|
||||||
|
|
||||||
|
NOTE: You can use your own CA to sign existing certs.
|
@ -65,7 +65,7 @@ NOTE: If you do not wish to install any of these or cannot install them, be sure
|
|||||||
* http://gcc.gnu.org[gcc-libs (multilib)^] (>=6.x)
|
* http://gcc.gnu.org[gcc-libs (multilib)^] (>=6.x)
|
||||||
** (Same as _gcc_.)
|
** (Same as _gcc_.)
|
||||||
* https://git-scm.com/[git^]
|
* https://git-scm.com/[git^]
|
||||||
** For autodetection of version, automatically making commits for your project, etc.
|
** For autodetection of version, automatically making commits for your project, checking out source code, etc.
|
||||||
* https://www.gnupg.org/[gpg/gnupg^] (>=2.1.11)
|
* https://www.gnupg.org/[gpg/gnupg^] (>=2.1.11)
|
||||||
** For automatically signing releases, verifying downloaded files from the Internet as part of the build process, etc. It's okay if you don't have a key set up!
|
** For automatically signing releases, verifying downloaded files from the Internet as part of the build process, etc. It's okay if you don't have a key set up!
|
||||||
* https://rsync.samba.org/[rsync^]
|
* https://rsync.samba.org/[rsync^]
|
||||||
|
@ -8,7 +8,7 @@ This file controls creation of the chroots -- the directories in which BDisk bui
|
|||||||
This file is a sort of "wrapper" -- it pulls all the other files in this directory together into a single usable python script. In other words, to build a BDisk distribution, you would simply run `bdisk/bdisk.py` -- that's it!
|
This file is a sort of "wrapper" -- it pulls all the other files in this directory together into a single usable python script. In other words, to build a BDisk distribution, you would simply run `bdisk/bdisk.py` -- that's it!
|
||||||
|
|
||||||
==== bGPG.py
|
==== bGPG.py
|
||||||
This contaions functions having to do with GPG -- signing files, verifying other signatures, generating a key (if one wasn't specified), using a key (if one was specified), etc.
|
This contains functions having to do with GPG -- signing files, verifying other signatures, generating a key (if one wasn't specified), using a key (if one was specified), etc.
|
||||||
|
|
||||||
==== bSSL.py
|
==== bSSL.py
|
||||||
Functions having to do with OpenSSL are stored here. This is used primarily for "mini" builds (via iPXE), they let you boot your BDisk distribution over the Internet. If an SSL key, CA certificate, etc. weren't defined and you want to build a mini image, this file contains functions that will build an SSL PKI (public key infrastructure) for you automatically.
|
Functions having to do with OpenSSL are stored here. This is used primarily for "mini" builds (via iPXE), they let you boot your BDisk distribution over the Internet. If an SSL key, CA certificate, etc. weren't defined and you want to build a mini image, this file contains functions that will build an SSL PKI (public key infrastructure) for you automatically.
|
||||||
|
@ -1 +1 @@
|
|||||||
bdisk.square-r00t.net
|
bdisk-live.loc.lan
|
||||||
|
@ -87,4 +87,4 @@ bdisk
|
|||||||
\d \t
|
\d \t
|
||||||
\4
|
\4
|
||||||
\4{tun0}
|
\4{tun0}
|
||||||
http://bdisk.square-r00t.net/
|
https://bdisk.square-r00t.net/
|
||||||
|
@ -51,7 +51,8 @@ FILES="/usr/bin/pkill"
|
|||||||
#HOOKS="base udev autodetect modconf block filesystems keyboard fsck"
|
#HOOKS="base udev autodetect modconf block filesystems keyboard fsck"
|
||||||
#HOOKS="base udev memdisk archiso_shutdown archiso modconf net archiso_loop_mnt archiso_pxe_common archiso_pxe_nbd archiso_pxe_http archiso_pxe_nfs archiso_kms block pcmcia filesystems keyboard livecd"
|
#HOOKS="base udev memdisk archiso_shutdown archiso modconf net archiso_loop_mnt archiso_pxe_common archiso_pxe_nbd archiso_pxe_http archiso_pxe_nfs archiso_kms block pcmcia filesystems keyboard livecd"
|
||||||
#HOOKS="base udev autodetect memdisk systemd archiso_shutdown archiso modconf net ssh archiso_loop_mnt archiso_pxe_common archiso_pxe_nbd archiso_pxe_http archiso_pxe_nfs archiso_kms block pcmcia filesystems keyboard livecd"
|
#HOOKS="base udev autodetect memdisk systemd archiso_shutdown archiso modconf net ssh archiso_loop_mnt archiso_pxe_common archiso_pxe_nbd archiso_pxe_http archiso_pxe_nfs archiso_kms block pcmcia filesystems keyboard livecd"
|
||||||
HOOKS="base udev memdisk autodetect archiso_shutdown archiso archiso_loop_mnt archiso_pxe_common archiso_pxe_nbd archiso_pxe_http archiso_pxe_nfs archiso_kms modconf net ssh block pcmcia filesystems keyboard livecd"
|
#HOOKS="base udev memdisk autodetect archiso_shutdown archiso archiso_loop_mnt archiso_pxe_common archiso_pxe_nbd archiso_pxe_http archiso_pxe_nfs archiso_kms modconf net ssh block pcmcia filesystems keyboard livecd"
|
||||||
|
HOOKS="base udev memdisk autodetect archiso_shutdown archiso archiso_loop_mnt archiso_pxe_common archiso_pxe_nbd archiso_pxe_http archiso_pxe_nfs archiso_kms modconf block pcmcia filesystems keyboard livecd"
|
||||||
|
|
||||||
# COMPRESSION
|
# COMPRESSION
|
||||||
# Use this to compress the initramfs image. By default, gzip compression
|
# Use this to compress the initramfs image. By default, gzip compression
|
||||||
|
@ -4,11 +4,13 @@ arch-install-scripts
|
|||||||
archiso
|
archiso
|
||||||
bzip2
|
bzip2
|
||||||
coreutils
|
coreutils
|
||||||
|
customizepkg-scripting
|
||||||
cronie
|
cronie
|
||||||
dhclient
|
dhclient
|
||||||
dhcp
|
dhcp
|
||||||
dhcpcd
|
dhcpcd
|
||||||
dosfstools
|
dosfstools
|
||||||
|
dropbear
|
||||||
efibootmgr
|
efibootmgr
|
||||||
efitools
|
efitools
|
||||||
efivar
|
efivar
|
||||||
@ -22,8 +24,10 @@ localepurge
|
|||||||
lz4
|
lz4
|
||||||
lzo
|
lzo
|
||||||
lzop
|
lzop
|
||||||
|
mkinitcpio-nbd
|
||||||
mkinitcpio-nfs-utils
|
mkinitcpio-nfs-utils
|
||||||
mkinitcpio-utils
|
mkinitcpio-utils
|
||||||
|
nbd
|
||||||
ms-sys
|
ms-sys
|
||||||
mtools
|
mtools
|
||||||
net-tools
|
net-tools
|
||||||
|
@ -1,334 +1,4 @@
|
|||||||
# Commented lines are supported (via a preceding # only).
|
# Commented lines are supported (via a preceding # only).
|
||||||
# Packages from the AUR can be specified.
|
# Packages from the AUR can be specified.
|
||||||
# We need to install all X drivers.
|
# We need to install all X drivers.
|
||||||
abs
|
|
||||||
acpi
|
|
||||||
#acpidump
|
|
||||||
#afflib
|
|
||||||
aircrack-ng
|
|
||||||
apr
|
|
||||||
apr-util
|
|
||||||
arj
|
|
||||||
asciidoc
|
|
||||||
atop
|
|
||||||
autopsy
|
|
||||||
autossh
|
|
||||||
backuppc
|
|
||||||
#bacula ## TODO: grab all the bacula packages in here
|
|
||||||
beep
|
|
||||||
bin86
|
|
||||||
bind-tools
|
|
||||||
binutils
|
|
||||||
bluez-utils
|
|
||||||
bonnie++ ## TODO: ugh. apacman has a new "regex mode"... that you can't disable. https://github.com/oshazard/apacman/issues/79
|
|
||||||
boxbackup-client
|
|
||||||
boxbackup-server
|
|
||||||
bozocrack-git
|
|
||||||
bridge-utils
|
|
||||||
burp-backup-git
|
|
||||||
btrfs-progs
|
|
||||||
cabextract
|
|
||||||
cdrtools
|
|
||||||
cdw
|
|
||||||
cfv
|
|
||||||
chapcrack-git
|
|
||||||
chntpw
|
|
||||||
cifs-utils
|
|
||||||
ckermit
|
|
||||||
clamav
|
|
||||||
clonezilla
|
|
||||||
cmospwd
|
|
||||||
colordiff
|
|
||||||
cowpatty
|
|
||||||
cpio
|
|
||||||
cpuburn
|
|
||||||
cpupower
|
|
||||||
crackpkcs12
|
|
||||||
cryptcat
|
|
||||||
cryptsetup
|
|
||||||
csync2
|
|
||||||
customizepkg-scripting
|
|
||||||
dar
|
|
||||||
dcfldd
|
|
||||||
ddrescue
|
|
||||||
dd_rescue
|
|
||||||
dd_rhelp
|
|
||||||
debianutils
|
|
||||||
debootstrap
|
|
||||||
#dialog #giving a weird dependency issue
|
|
||||||
diffutils
|
|
||||||
djohn
|
|
||||||
dmidecode
|
|
||||||
dnssec-anchors
|
|
||||||
dnstracer
|
|
||||||
#dnsutils #replaced by bind-tools, https://www.archlinux.org/packages/extra/x86_64/bind-tools/
|
|
||||||
dos2unix
|
|
||||||
dropbear
|
|
||||||
dstat
|
|
||||||
dump
|
|
||||||
dumpet
|
|
||||||
duplicity
|
|
||||||
dvd+rw-tools
|
|
||||||
e2fsprogs
|
|
||||||
ecryptfs-utils
|
|
||||||
ed
|
|
||||||
elfutils
|
|
||||||
#elilo-efi
|
|
||||||
elinks
|
|
||||||
etc-update
|
|
||||||
ethtool
|
|
||||||
exfat-utils
|
|
||||||
ext3grep
|
|
||||||
extundelete
|
|
||||||
f2fs-tools
|
|
||||||
fang
|
|
||||||
fbset
|
|
||||||
fcgi
|
|
||||||
fcgiwrap
|
|
||||||
fcrackzip
|
|
||||||
fdupes
|
|
||||||
file
|
|
||||||
findmyhash
|
|
||||||
findutils
|
|
||||||
firefox
|
|
||||||
flac
|
|
||||||
flashrom
|
|
||||||
foremost
|
|
||||||
fsarchiver
|
|
||||||
fuse
|
|
||||||
gd
|
|
||||||
git
|
|
||||||
gnu-efi-libs
|
|
||||||
gnu-netcat
|
|
||||||
gpart
|
|
||||||
gparted
|
|
||||||
gperftools
|
|
||||||
gpm
|
|
||||||
gptfdisk
|
|
||||||
gst-libav
|
|
||||||
gst-plugins-ugly
|
|
||||||
hashcat
|
|
||||||
hashdeep
|
|
||||||
hddtemp
|
|
||||||
hdparm
|
|
||||||
hexcurse
|
|
||||||
hexedit
|
|
||||||
hfsprogs
|
|
||||||
hfsutils
|
|
||||||
htop
|
|
||||||
httping
|
|
||||||
hwdetect
|
|
||||||
hwinfo
|
|
||||||
hydra
|
|
||||||
idnkit
|
|
||||||
ifenslave
|
|
||||||
iftop
|
|
||||||
inetutils
|
|
||||||
iotop
|
|
||||||
iozone
|
|
||||||
ipcalc
|
|
||||||
iperf
|
|
||||||
iperf3
|
|
||||||
ipsec-tools
|
|
||||||
iptraf-ng
|
|
||||||
ipython
|
|
||||||
irssi
|
|
||||||
iso-codes
|
|
||||||
isomaster
|
|
||||||
jasper
|
|
||||||
jfsutils
|
|
||||||
#john-mpi
|
|
||||||
john
|
|
||||||
keyutils
|
|
||||||
kismet-allplugins
|
|
||||||
lftp
|
|
||||||
links
|
|
||||||
#logkeys-git # requires a /dev/input, which apparently isn't included in the chroots
|
|
||||||
lm_sensors
|
|
||||||
lrzsz
|
|
||||||
lshw
|
|
||||||
#lsiutil # giving intermittent errors when trying to fetch source
|
|
||||||
lsof
|
|
||||||
lsscsi
|
|
||||||
#lxde # apacman currently doesn't like package groups, so...
|
|
||||||
gpicview
|
|
||||||
lxappearance
|
|
||||||
lxappearance-obconf
|
|
||||||
lxde-common
|
|
||||||
lxde-icon-theme
|
|
||||||
lxdm
|
|
||||||
lxinput
|
|
||||||
lxlauncher
|
|
||||||
lxmusic
|
|
||||||
lxpanel
|
|
||||||
lxrandr
|
|
||||||
lxsession
|
|
||||||
lxtask
|
|
||||||
lxterminal
|
|
||||||
openbox
|
|
||||||
pcmanfm
|
|
||||||
# end lxde
|
|
||||||
lynx
|
|
||||||
#lzip
|
|
||||||
macchanger
|
|
||||||
#magicrescue # no longer maintained, upstream down
|
|
||||||
mbr
|
|
||||||
mbuffer
|
|
||||||
mcelog
|
|
||||||
mdadm
|
|
||||||
mdcrack
|
|
||||||
# superseded by storcli
|
|
||||||
#megaraid-cli
|
|
||||||
memtester
|
|
||||||
mfoc
|
|
||||||
minicom
|
|
||||||
#mondo # mindi-busybox fails to build 09.23.2016
|
|
||||||
mtd-utils
|
|
||||||
mtr
|
|
||||||
mtree
|
mtree
|
||||||
multipath-tools
|
|
||||||
myrescue
|
|
||||||
nbd
|
|
||||||
ncftp
|
|
||||||
ncompress
|
|
||||||
ncrack
|
|
||||||
net-snmp
|
|
||||||
netselect
|
|
||||||
nettle
|
|
||||||
networkmanager-pptp
|
|
||||||
nginx-devel
|
|
||||||
ngrep
|
|
||||||
nmap
|
|
||||||
nmon
|
|
||||||
ntfs-3g
|
|
||||||
ntfsfixboot
|
|
||||||
#nwipe #broken since they moved to github(?)
|
|
||||||
nwipe-git
|
|
||||||
obnam
|
|
||||||
open-iscsi
|
|
||||||
openipmi
|
|
||||||
ophcrack
|
|
||||||
os-prober
|
|
||||||
p7zip
|
|
||||||
pack
|
|
||||||
par2cmdline
|
|
||||||
partclone
|
|
||||||
partclone-utils
|
|
||||||
parted
|
|
||||||
partimage
|
|
||||||
pax-utils
|
|
||||||
pciutils
|
|
||||||
pcmciautils
|
|
||||||
pdfcrack
|
|
||||||
perf
|
|
||||||
php
|
|
||||||
php-fpm
|
|
||||||
php-gd
|
|
||||||
php-mcrypt
|
|
||||||
phrasendrescher
|
|
||||||
pigz
|
|
||||||
pkgfile
|
|
||||||
pkgtools
|
|
||||||
ppp
|
|
||||||
pptpclient
|
|
||||||
procinfo-ng
|
|
||||||
procps-ng
|
|
||||||
progsreiserfs
|
|
||||||
psmisc
|
|
||||||
pwgen
|
|
||||||
pixz
|
|
||||||
pyrit
|
|
||||||
python2-gnuplot
|
|
||||||
python2-pyx
|
|
||||||
rarcrack
|
|
||||||
rcracki_mt
|
|
||||||
rdiff-backup
|
|
||||||
read-edid
|
|
||||||
reaver-wps-fork-t6x-git
|
|
||||||
rename
|
|
||||||
rfkill
|
|
||||||
rp-pppoe
|
|
||||||
rpcbind
|
|
||||||
rpmextract
|
|
||||||
rp-pppoe
|
|
||||||
rsnapshot
|
|
||||||
rygel
|
|
||||||
safecopy
|
|
||||||
samba
|
|
||||||
scalpel-git
|
|
||||||
scapy
|
|
||||||
screen
|
|
||||||
scrounge-ntfs
|
|
||||||
scrub
|
|
||||||
scsiadd
|
|
||||||
sdparm
|
|
||||||
setserial
|
|
||||||
sg3_utils
|
|
||||||
sharutils
|
|
||||||
sipcalc
|
|
||||||
sipcrack
|
|
||||||
smartmontools
|
|
||||||
smbclient
|
|
||||||
s-nail
|
|
||||||
socat
|
|
||||||
#star ## do people even USE tape backups anymore?
|
|
||||||
storcli
|
|
||||||
strace
|
|
||||||
stress
|
|
||||||
sucrack
|
|
||||||
symlinks
|
|
||||||
sysstat
|
|
||||||
tcpdump
|
|
||||||
tcpslice
|
|
||||||
tcptraceroute
|
|
||||||
testdisk
|
|
||||||
tftp-hpa
|
|
||||||
thin-provisioning-tools
|
|
||||||
thttpd
|
|
||||||
tmon
|
|
||||||
tmux
|
|
||||||
tre
|
|
||||||
truecrack-git
|
|
||||||
truecrypt
|
|
||||||
tor
|
|
||||||
udftools
|
|
||||||
#udpcast
|
|
||||||
unace
|
|
||||||
unison
|
|
||||||
unrar
|
|
||||||
unshield
|
|
||||||
unzip
|
|
||||||
usb_modeswitch
|
|
||||||
usbip
|
|
||||||
usbutils
|
|
||||||
vim-a
|
|
||||||
vim-bufexplorer
|
|
||||||
vim-indent-object
|
|
||||||
vim-minibufexpl
|
|
||||||
vim-nerdtree
|
|
||||||
vim-syntastic
|
|
||||||
vim-workspace
|
|
||||||
vlc
|
|
||||||
vncrack
|
|
||||||
vnstat
|
|
||||||
vpnc
|
|
||||||
weplab
|
|
||||||
#whdd #currently depends on dialog, which is broke as shit
|
|
||||||
whois
|
|
||||||
wifite-mod-pixiewps-git
|
|
||||||
wipe
|
|
||||||
wireshark-cli
|
|
||||||
wpscrack
|
|
||||||
wput
|
|
||||||
x11vnc
|
|
||||||
xfburn
|
|
||||||
xfsdump
|
|
||||||
xfsprogs
|
|
||||||
xmlto
|
|
||||||
xorg
|
|
||||||
xorg-drivers
|
|
||||||
xorg-xinit
|
|
||||||
xterm
|
|
||||||
zerofree
|
|
||||||
zip
|
|
||||||
zsh
|
|
||||||
|
@ -19,7 +19,7 @@ trap 'exec 2>&4 1>&3' 0 1 2 3
|
|||||||
exec 1>/var/log/chroot_install.log 2>&1
|
exec 1>/var/log/chroot_install.log 2>&1
|
||||||
|
|
||||||
# we need this fix before anything.
|
# we need this fix before anything.
|
||||||
dirmngr </dev/null > /dev/null 2>&1
|
dirmngr </dev/null
|
||||||
|
|
||||||
cleanPacorigs()
|
cleanPacorigs()
|
||||||
{
|
{
|
||||||
@ -53,8 +53,10 @@ pacman -Syy
|
|||||||
cleanPacorigs
|
cleanPacorigs
|
||||||
# Install some prereqs
|
# Install some prereqs
|
||||||
pacman -S --noconfirm --needed sed
|
pacman -S --noconfirm --needed sed
|
||||||
|
pacman -S --noconfirm --needed grep
|
||||||
sed -i.bak -e 's/^CheckSpace/#CheckSpace/g' /etc/pacman.conf
|
sed -i.bak -e 's/^CheckSpace/#CheckSpace/g' /etc/pacman.conf
|
||||||
pacman -S --noconfirm --needed filesystem
|
pacman -S --noconfirm --needed filesystem
|
||||||
|
pacman -S --noconfirm --needed core
|
||||||
mv /etc/pacman.conf.bak /etc/pacman.conf
|
mv /etc/pacman.conf.bak /etc/pacman.conf
|
||||||
pacman -S --noconfirm --needed base syslinux wget rsync unzip jshon sudo abs xmlto bc docbook-xsl git
|
pacman -S --noconfirm --needed base syslinux wget rsync unzip jshon sudo abs xmlto bc docbook-xsl git
|
||||||
locale-gen
|
locale-gen
|
||||||
@ -73,6 +75,7 @@ pacman --noconfirm -U /root/apacman*.tar.xz &&\
|
|||||||
mkdir /var/tmp/apacman && chmod 0750 /var/tmp/apacman &&\
|
mkdir /var/tmp/apacman && chmod 0750 /var/tmp/apacman &&\
|
||||||
chown root:aurbuild /var/tmp/apacman
|
chown root:aurbuild /var/tmp/apacman
|
||||||
chown aurbuild:aurbuild /var/empty/.gnupg
|
chown aurbuild:aurbuild /var/empty/.gnupg
|
||||||
|
chmod 700 /var/empty/.gnupg
|
||||||
cleanPacorigs
|
cleanPacorigs
|
||||||
apacman -Syy
|
apacman -Syy
|
||||||
apacman -S --noconfirm --noedit --skipinteg --needed -S apacman apacman-deps apacman-utils expac
|
apacman -S --noconfirm --noedit --skipinteg --needed -S apacman apacman-deps apacman-utils expac
|
||||||
@ -112,7 +115,7 @@ ln -s /usr/lib/libdialog.so.1.2 /usr/lib/libdialog.so
|
|||||||
cleanPacorigs
|
cleanPacorigs
|
||||||
apacman --noconfirm --noedit --skipinteg -S --needed linux
|
apacman --noconfirm --noedit --skipinteg -S --needed linux
|
||||||
apacman --gendb
|
apacman --gendb
|
||||||
mv -f /boot/vmlinuz-linux /boot/vmlinuz-linux-${DISTNAME}
|
#mv -f /boot/vmlinuz-linux /boot/vmlinuz-linux-${DISTNAME}
|
||||||
cleanPacorigs
|
cleanPacorigs
|
||||||
|
|
||||||
# And install EXTRA functionality packages, if there are any.
|
# And install EXTRA functionality packages, if there are any.
|
||||||
|
Loading…
Reference in New Issue
Block a user