[Package]
version: 1
depends: 

[Product]
type: netboot
id: opsi-local-image-prepare
name: opsi local image disk prepare
description: Partitionierung für opsi-local-image Produkte
advice: 
version: 4.3.0.2
priority: 0
licenseRequired: False
productClasses: 
setupScript: setup.py
uninstallScript: 
updateScript: 
alwaysScript: 
onceScript: 
customScript: 
pxeConfigTemplate: install-x64

[ProductProperty]
type: unicode
name: askbeforeinst
multivalue: False
editable: False
description: Soll das Starten der Installation am Client bestaetigt werden muessen?
values: ["false","true"]
default: ["true"]

[ProductProperty]
type: unicode
name: system_partition_size
multivalue: False
editable: True
description: Size of the system partition (c:). The size may be given absolut size (G=Gigabyte).The rest will be used for helper- and  backup-partition.
values: ["100G","10G","150G","200G","20G","250G","300G","30G","350G","400G","40G","450G","500G","50G","60G","70G","80G","90G"]
default: ["30G"]

[ProductProperty]
type: unicode
name: data_partition_size
multivalue: False
editable: True
description: Size of the data partition (d:). The size may be given absolut size (G=Gigabyte).The rest will be used for helper- and  backup-partition. At '0G' no datapartition will be created.
values: ["0G","100G","10G","150G","200G","20G","250G","300G","30G","350G","400G","40G","450G","500G","50G","60G","70G","80G","90G"]
default: ["0G"]

[ProductProperty]
type: unicode
name: winpe_partition_size
multivalue: False
editable: True
description: Size of the winpe partition  The size may be given absolut size (G=Gigabyte). Default = 4G
values: ["10G","15G","20G","4G","5G","6G","7G","8G","9G"]
default: ["4G"]

[ProductProperty]
type: unicode
name: minimal_backup_partition_size
multivalue: False
editable: True
description: Minimal size of the backup partition  The size may be given absolut size (G=Gigabyte) or in %. Default = 55%
values: ["10%","100%","100G","10G","20%","200G","20G","30%","30G","40%","40G","50%","500G","50G","55%","60%","70%","80%","90%"]
default: ["55%"]

[ProductProperty]
type: unicode
name: start_os_installation
multivalue: False
editable: True
description: Which OS netbootproduct should we start after preprare ?
values: ["none","opsi-local-image-ubuntu","opsi-local-image-win10","opsi-local-image-win10-capture","opsi-local-image-win10-x64","opsi-local-image-win10-x64-capture","opsi-local-image-win11-x64","opsi-local-image-win11-x64-capture"]
default: ["opsi-local-image-win10-x64"]

[ProductProperty]
type: unicode
name: delay_for_reboot
multivalue: False
editable: True
description: Time in seconds before reboot (to give time to handle setup_after_install)
values: ["0","10","20","30","40"]
default: ["0"]

[ProductProperty]
type: unicode
name: multi_disk_mode
multivalue: False
editable: False
description: Ignored on one disk systems; 0=first disk,1=second disk; experirmental: prefer_raid= use existing md device
values: ["0","0_ignore_anything_else","1","2","3","prefer_raid","prefer_rotational","prefer_ssd"]
default: ["0"]

[ProductProperty]
type: bool
name: backup_partition_on_same_disk
description: If False and more than one disk, then create backup partition an first disk which is not used for the other partitions
default: True

[Changelog]
opsi-local-image-prepare (4.3.0.1-1) testing; urgency=low

  * setup.py: added plymouth messages

 -- Mathias Radtke <m.radtke@uib.de> Wed Jul 18 11:51:00 2024 +0200

opsi-local-image-prepare (4.2.0.1-2) testing; urgency=low

  * setup.py: EFI partition size increased to 400MB for Advanced Format 4K Native drives

 -- Mathias Radtke <m.radtke@uib.de> Fri Jan 26 12:33:03 2024 +0200

opsi-local-image-prepare (4.2.0.1-1) testing; urgency=low

  * setup.py: repair the check if (backup_partition_on_same_disk == False) and only one disk,
    what would make no sense
    and if so fall back to (backup_partition_on_same_disk == true)

 -- detlef oertel <d.oertel@uib.de>  Fri, 04 Aug 2023 15:00:00 +0200

opsi-local-image-prepare (4.2.0.0-5) testing; urgency=low

* control: add "opsi-local-image-win11-x64*" to property "start_os_installation" values

-- detlef oertel <d.oertel@uib.de>  Fri, 28 Apr 2023 15:00

opsi-local-image-prepare (4.2.0.0-4) testing; urgency=low

  * changed uefi check as efivars is not available in kernel 6.0 and higher

 -- Mathias Radtke <m.radtke@uib.de> Tue Oct 25 15:31:06 2022 +0200

opsi-local-image-prepare (4.2.0.0-3) testing; urgency=low

  * removed property 'architecture'
  * changed pxeConfigTemplate to install-x64

 -- Mathias Radtke <m.radtke@uib.de> Fri Sep 16 11:34:06 2022 +0200


opsi-local-image (4.2.0.0-2) testing; urgency=low

  * fix in opsisetuplib
    in checkModules(modules2check)
      * uses backend_getLicensingInfo()
    in removeFromUefiBootOrder(label)
    and removeFromUefiBootNext(label)
      * initialize labelID
      * handle empty labelID

 -- detlef oertel <d.oertel@uib.de>  Thu, 25 Aug 2022 15:00:00 +0200

opsi-local-image-prepare (4.2.0.0-1) stable; urgency=low

  * add capture products to start_os_installation
  * remove win7 and win81 from start_os_installation

-- detlef oertel <d.oertel@uib.de>  Wed, 23 Jun 2018 15:00:00 +0200

opsi-local-image-prepare (4.1.0.1-4) stable; urgency=low

  * removed install_localbootimage references

 -- Mathias Radtke <m.radtke@uib.de> Tue 17 Nov 2020 12:24:00 +0100

opsi-local-image-prepare (4.1.0.1-3) stable; urgency=low

  * opsisetuplib.py: filtering empty values in blkid output

 -- Mathias Radtke <m.radtke@uib.de> Tue 03 Nov 2020 12:24:00 +0100

opsi-local-image-prepare (4.1.0.1-2) stable; urgency=low

  * opsisetuplib.py: function checkModules now works properly w
ith python3 based bootimage

 -- Mathias Radtke <m.radtke@uib.de> Mon 06 Oct 2020 12:00:00 +
0200

opsi-local-image-prepare (4.1.0.1-1) stable; urgency=low

  * python3 compatible code base

 -- Mathias Radtke <m.radtke@uib.de> Mon 20 Jul 2020 18:35:00 +0200

opsi-local-image-prepare (4.1.0.0-17) stable; urgency=low

  * added property "install_local_bootimage"

 -- Mathias Radtke <m.radtke@uib.de> Mon 03 Feb 2020 16:20:00 +0200

opsi-local-image-prepare (4.1.0.0-16) stable; urgency=low

  * added property "architecture"

 -- Mathias Radtke <m.radtke@uib.de> Thu 22 Aug 2019 09:00:00 +0200

opsi-local-image-prepare (4.1.0.0-15) stable; urgency=low

  * multi_disk_mode: possible to use first disk and ignore any other disk

 -- Mathias Radtke <m.radtke@uib.de> Tue 11 Jun 2019 15:30:00 +0200

opsi-local-image-prepare (4.1.0.0-14) stable; urgency=low

  * wrapped seting Netboot as nextBoot device in try/catch block

 -- Mathias Radtke <m.radtke@uib.de> Tue, 22 2019 08:00:00 +0200

opsi-local-image-prepare (4.1.0.0-13) stable; urgency=low

  * use ms-sys --mbr7 if int(bootimageVersion) >= 20181022

-- Mathias Radtke <m.radtke@uib.de> Thu 22 Nov 2018 09:46:00 +0100

windows (4.1.0.0-12) stable; urgencly=low

  * soft raid 1 (/dev/md) / bios-soft raid 1 (dev/mapper) support:
    * property multi_disk_mode: new option: prefer_raid
  * nt6.py: after "collect disk and partition infos" retry set and get disk uuid
  * opsisetuplib.py: new def isRaidDisk(diskDevice = ""):
  * opsisetuplib.py: new def isRaidMember(diskDevice = ""):
  * opsisetuplib.py: in getDiskIndexFromMultiDiskMode: check for prefer_raid
  * opsisetuplib.py: fix in isRotationalDisk
  * update usb.ids and pci.ids
  * nt6.py: Do not try to analyze Raid Member disks for diskinfo.ini
  * nt6.py: Do not add RaidMember disks to unusedPartitionIdBackup
  * nt6.py: call sgdisk --zap-all with os.system and  '>> /dev/null 2>&1'
  * nt6.py: fix handling of property winpe_debug_cmd_exe
  * nt6.py: call bcdboot.exe x:\windows /v im work.cmd to repair bcd and make bcdedit useable
  * nt6.opsiscript: on preserve_winpe_partition=false:
       #Crash winpe uefi boot by converting to ntfs to help broken bioses; fixes #1651
       if uefi: remove opsi win pe bootentry
  * nt6.py: use ms-sys --mbr7 if int(bootimageVersion) >= 20181022:

-- detlef oertel <d.oertel@uib.de>  Thu, 20 Sep 2018 15:00:00 +0200

opsi-local-image-prepare (4.1.0.0-6) to (4.1.0.0-11) not used

opsi-local-image-prepare (4.1.0.0-5) stable; urgency=low

  * fix sgdisk --zap on mbr boxes

-- detlef oertel <d.oertel@uib.de>  Fri, 04 May 2018 15:00:00 +0200

opsi-local-image-prepare (4.1.0.0-4) stable; urgency=low

  * new opsisetuplib.py : fix in checkOliPartitions (with dataPartitionNumber)

-- detlef oertel <d.oertel@uib.de>  Fri, 04 May 2018 15:00:00 +0200

opsi-local-image-prepare (4.1.0.0-3) stable; urgency=low

  * fix sgdisk --zap on uefi boxes

-- detlef oertel <d.oertel@uib.de>  Fri, 27 Apr 2018 15:00:00 +0200

opsi-local-image-prepare (4.1.0.0-2) stable; urgency=low

  * del grub on disk before restore

-- detlef oertel <d.oertel@uib.de>  wed, 07 Feb 2018 15:00:00 +0200

opsi-local-image (4.1.0.0-1) stable; urgency=low

  * migrate to unified 4.1.0.0

-- detlef oertel <d.oertel@uib.de>  Thu, 11 Jan 2018 15:00:00 +0200

opsi-local-image-prepare (4.0.7.4-4) stable; urgency=low

  * fix opsisetuplib.py: checkOliPartitions

-- detlef oertel <d.oertel@uib.de>  Thu, 08 Nov 2017 15:00:00 +0200

opsi-local-image-prepare (4.0.7.4-3) stable; urgency)low

  * merge from 4.0.7.4-3: nt6.py
  * merge from opsi-local-image-prepare (4.0.7.1-2)
  * new property: backup_partition_on_same_disk
    If False and more than one disk, then create backup partition an first disk which is not used for the other partitions

-- Detlef Oertel <d.oertel@uib.de>  Thu,  11 Oct 2017:15:00:00 +0200

opsi-local-image-prepare (4.0.7.1-2) stable; urgency=low

  * opsisetuplib.py: syncing disks before use
  * opsisetuplib.py: added eMMC compatability

-- Mathias Radtke <m.radtke@uib.de> Wed, 08 Feb 2017 14:30:00

opsi-local-image-prepare (4.0.7.1-1) stable; urgency=low

  * new opsisetuplib.py
  * use getPartitionDevicePath(disk.device, PartitionNumber) where needed

-- detlef oertel <d.oertel@uib.de>  Wed, 10 Aug 2016 15:00:00 +0200


opsi-local-image-prepare (4.0.6.1-3) stable; urgency=low

  * opsisetuplib.py: Bypassing error when removing empty directories in /dev
  * lvmClearVolumeGroups()

-- detlef oertel <d.oertel@uib.de>  Mon, 17 May 2016 15:00:00 +0200

opsi-local-image-prepare (4.0.6.1-2) stable; urgency=low

	* new property delay_for_reboot (Time in seconds before reboot (to give time to handle setup_after_install))

-- detlef oertel <d.oertel@uib.de>  Fri, 29 Apr 2016 15:00:00 +0200


opsi-local-image-prepare (4.0.6.1-1) stable; urgency=low

	* link opsisetuplib.py from os-products
	* update opsisetuplib.py

-- detlef oertel <d.oertel@uib.de>  Tue, 04 Aug 2015 15:00:00 +0200

 opsi-local-image-prepare (4.0.5.2-1) stable; urgency=low

	* new property winpe_partition_size ; fixes #1416
	* reduce partgapM from 64 to 8   ; fixes #1417
	* new property minimal_backup_partition_size ; fixes #1447
	* on uefi: checks uefi netboot lable and set nextboot to netboot (if start_os_installation is not empty

 -- detlef oertel <d.oertel@uib.de>  Mon, 22 May 2015 15:00:00 +0200


opsi-local-image-prepare (4.0.5.1-3) stable; urgency=low
	* update opsisetuplib.py
 -- detlef oertel <d.oertel@uib.de>  Fri, 25 Jul 2014 16:01:53 +0200

opsi-local-image-prepare (4.0.5.1-2) stable; urgency=low
	* update opsisetuplib.py
 -- detlef oertel <d.oertel@uib.de>  Tue, 24 Jul 2014 16:01:53 +0200

opsi-local-image-prepare (4.0.5.1-1) stable; urgency=low
	* update opsisetuplib.py
 -- detlef oertel <d.oertel@uib.de>  Tue, 22 Jul 2014 16:01:53 +0200

opsi-local-image-prepare (4.0.4.3-4) stable; urgency=low
	* update opsisetuplib.py
 -- detlef oertel <d.oertel@uib.de>  Tue, 17 Jun 2014 16:01:53 +0200

opsi-local-image-prepare (4.0.4.3-3) stable; urgency=low

	* start_os_installation editable: True

 -- detlef oertel <d.oertel@uib.de>  Wed, 28 May 2014 16:01:53 +0200

opsi-local-image-prepare (4.0.4.3-2) stable; urgency=low

	* code cleanup
	* system_partition_size editable: True
	* data_partition_size editable: True

 -- detlef oertel <d.oertel@uib.de>  Tue, 27 May 2014 16:01:53 +0200

opsi-local-image-prepare (4.0.4.3-1) stable; urgency=low

	* use of opsisetuplib.py

 -- detlef oertel <d.oertel@uib.de>  Mon, 07 Apr 2014 16:01:53 +0200

opsi-local-image-prepare (4.0.4.2-3) stable; urgency=low

	* fix: Create backup partition: start is boundaryM + partgapM
	* library: createPartitionEx and createFilesystemEx with success test
	* smaller partGap : 64 M

 -- detlef oertel <d.oertel@uib.de>  Wed, 26 Mar 2014 16:01:53 +0200

opsi-local-image-prepare (4.0.4.2-2) stable; urgency=low

	* swapoff all before partitioning
	* code cleanup

 -- detlef oertel <d.oertel@uib.de>  Thu, 27 Feb 2014 16:01:53 +0200

opsi-local-image-prepare (4.0.4.2-1) stable; urgency=low

	* uefi / gpt support

 -- detlef oertel <d.oertel@uib.de>  Mon, 30 Dec 2013 16:01:53 +0200

opsi-local-image-prepare (4.0.4.1-1) stable; urgency=low

	* rename to 4.0.4.1-1
	* added win81 products

 -- detlef oertel <d.oertel@uib.de>  Fri, 20 Dec 2013 16:01:53 +0200

opsi-local-image-prepare-4.0.3.2-1 testing; urgency=low
  * #267 Weitere Partitionsgrößen in "opsi-local-image-prepare"
  * new property: data_partition_size ; Default = 0G = partition will not be created
  * Now works also with 4 partitions
-- Detlef Oertel <d.oertel@uib.de>  Wed,  01 Aug 2013:15:00:00 +0200

opsi-local-image-prepare-4.0.3.1-1 testing; urgency=low
  * rename from opsi-local-image-repartition
  * added ProductProperty: start_OS_installation
  * added sleeps and 'sfdisk re-read's and retrries to avoid timing problems after create partition
-- Detlef Oertel <d.oertel@uib.de>  Wed,  13 Feb 2013:15:00:00 +0200

opsi-local-image-repartition-4.0.3.1-1 testing; urgency=low
  * initial
-- Detlef Oertel <d.oertel@uib.de>  Wed,  13 Feb 2013:15:00:00 +0200