- make disk partitioning/table formatting OPTIONAL (so it can be installed on an already formatted disk) - support Arch Linux ARM? - support multiple explicit locales via comma-separated list (see how i handle resolvers) - config layout -- need to apply defaults and annotate/document --- is this necessary since i doc with asciidoctor now? - how to support mdadm, lvm, LUKS FDE? -- cryptsetup support- use new child type, "cryptPart", under storage/disk/ and new mount attrib, "isLUKS"? - support serverside "autoconfig"- a mechanism to let servers automatically generate xml build configs. e.g.: kernel ... aif_url="https://build.domain.tld/aif-ng.php" auto=yes would yield the *client* sending info via URL params (actually, this might be better as a JSON POST, since we already have a way to generate JSON. sort of.), e.g. https://build.domain.tld/aif-ng.php?disk[]=sda&disk[]=sdb&disk[sda]=300GB&disk[sdb]=500GB (can have it so that the autoconfig is only supported clientside if pyyaml is installed) or something like that. - parser: make sure to use https://mikeknoop.com/lxml-xxe-exploit/ fix - convert use of confobj or whatever to maybe be suitable to use webFetch instead. LOTS of duplicated code there. - support XInclude - can i install packages the way pacstrap does, without a chroot? i still need to do it, unfortunately, for setting up efibootmgr etc. but..: pacman -r /mnt/aif -Sy base --cachedir=/mnt/aif/var/cache/pacman/pkg --noconfirm /dev/sda2 on /mnt/aif type ext4 (rw,relatime,data=ordered) /dev/sda1 on /mnt/aif/boot type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro) proc on /mnt/aif/proc type proc (rw,nosuid,nodev,noexec,relatime) sys on /mnt/aif/sys type sysfs (ro,nosuid,nodev,noexec,relatime) efivarfs on /mnt/aif/sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime) udev on /mnt/aif/dev type devtmpfs (rw,nosuid,relatime,size=2012384k,nr_inodes=503096,mode=755) devpts on /mnt/aif/dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000) shm on /mnt/aif/dev/shm type tmpfs (rw,nosuid,nodev,relatime) run on /mnt/aif/run type tmpfs (rw,nosuid,nodev,relatime,mode=755) tmp on /mnt/aif/tmp type tmpfs (rw,nosuid,nodev) OR just use pyalpm DOCUMENTATION: aif-config.py (and note sample json as well) for network configuration, add in support for using a device's MAC address instead of interface name also: -create boot media with bdisk since default arch doesn't even have python 3 -- this is.. sort of? done. but iPXE/mini build is failing, need to investigate why -- i tihnk i fixed iPXE but i need to generate another one once 1.5 is released -- PENDING BDISK REWRITE docs: http://lxml.de/parsing.html https://www.w3.org/2001/XMLSchema.xsd http://lxml.de/validation.html#xmlschema https://stackoverflow.com/questions/3084155/custom-attributes-in-an-xsd-schema https://www.w3schools.com/xml/schema_intro.asp https://www.w3schools.com/xml/schema_example.asp https://msdn.microsoft.com/en-us/library/dd489258.aspx