CHANGELOG.rst 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538
  1. #########
  2. Changelog
  3. #########
  4. [XX] - YYYY-MM-DD
  5. =================
  6. Added
  7. -----
  8. Changed
  9. -------
  10. Deprecated
  11. ----------
  12. Fixed
  13. -----
  14. Removed
  15. -------
  16. [74] - 2023-12-21
  17. =================
  18. Added
  19. -----
  20. - Add bcachefs-tools to releng for access to bcachefs userspace tools.
  21. - Add tftp as a valid protocol for downloading automated boot script.
  22. Changed
  23. -------
  24. - Set ``RequiredForOnline=routable`` in systemd-networkd configuration files to improve the chances that the network
  25. really is *online* when ``network-online.target`` is reached.
  26. Fixed
  27. -----
  28. - Add missing replacement for the UUID variable in systemd-boot configuration files on ISO 9660.
  29. [73] - 2023-09-29
  30. =================
  31. Added
  32. -----
  33. - Add bolt to releng for authorizing and otherwise managing Thunderbolt and USB4 devices.
  34. - Add ``uefi-ia32.systemd-boot.esp`` and ``uefi-ia32.systemd-boot.eltorito`` boot modes that use systemd-boot for IA32
  35. UEFI. The boot modes of baseline and releng are not changed.
  36. - Add GRUB configuration file ``/boot/grub/loopback.cfg`` to the releng and baseline profiles. It sets the necessary
  37. boot parameters required for booting the ISO image as a file on a file system.
  38. Fixed
  39. -----
  40. - Add ``/etc/localtime`` to the baseline profile to ensure the ISO can be booted successfully without triggering
  41. questions from systemd-firstboot.
  42. [72] - 2023-08-29
  43. =================
  44. Added
  45. -----
  46. - Add tpm2-tools to releng to allow clearing, creating and reading keys on the TPM.
  47. - Add sequoia-sq and openpgp-card-tools as additional tooling for working with OpenPGP certificates and smartcards.
  48. Changed
  49. -------
  50. - Moved custom ``mkinitcpio.conf`` files to ``/etc/mkinitcpio.conf.d/parabolaiso.conf``.
  51. - Mount ``/etc/pacman.d/gnupg`` on tmpfs with option ``noswap`` instead of using ramfs. This ensures there is a limit to
  52. the file system size.
  53. - Enable systemd-networkd's support for IPv6 Privacy Extensions globally instead of per-connection.
  54. - Moved custom ``sshd_config`` files to ``/ssh/sshd_config.d/10-parabolaiso.conf``
  55. - Use pcsclite for interfacing with smartcards, since both gnupg and opgpcard support it.
  56. Fixed
  57. -----
  58. - Sign the root file system image only once.
  59. - Make sure xorriso does not read its configuration files to prevent interference and unintended behavior.
  60. [71] - 2023-05-28
  61. =================
  62. Added
  63. -----
  64. - Added classes for Memtest86+ and UEFI Shell menuentries.
  65. - Add foot-terminfo and wezterm-terminfo packages to releng to support terminal emulators using them. E.g. when
  66. installing via SSH.
  67. - Add a new ``-r`` option to ``mkparabolaiso`` that deletes the working directly after the build.
  68. - Add support for mDNS announce and resolve.
  69. Changed
  70. -------
  71. - Increase EROFS compression for the baseline profile by using an extreme LZMA compression level and enabling the
  72. experimental compressed fragments and data deduplication features.
  73. - Identify the ISO volume via a UUID instead of a file system label in all boot loader configuration files.
  74. - Update ``pacman.conf`` to match the one shipped with pacman 6.0.2-7 (from Arch) which removes the community repository.
  75. Fixed
  76. -----
  77. - Wait for ``network-online.target`` to become active before trying to download the script passed via the ``script=``
  78. boot parameter.
  79. - Subdirectories from ``grub/`` are copied to the ISO.
  80. - Modify the commandline options to a ``cp`` command in ``mkparabolaiso`` so that the entire script does not exit with
  81. failure when a custom ``.bashrc`` file is supplied with the parabolaiso configuration. This fix was needed after
  82. **GNU Coreutils** recently changed the behaviour of the ``-n`` (or ``--no-clobber``) commandline option to the ``cp``
  83. command.
  84. - Ensure ``SOURCE_DATE_EPOCH`` is read from the ``build_date`` file before ``profiledef.sh`` is sourced to ensure the
  85. variable has a correct value when used inside ``profiledef.sh``.
  86. [70] - 2023-02-27
  87. =================
  88. Added
  89. -----
  90. - Support *file system transposition* to simplify boot medium preparation for UEFI boot via extracting the ISO image
  91. contents to a drive. ``grub.cfg`` does not hardcode the ISO volume label anymore, instead GRUB will search for volume
  92. with a ``/boot/grub/YYYY-mm-dd-HH-MM-SS-00.uuid`` file on it.
  93. - Preload GRUB's NTFS modules for UEFI that allegedly have native NTFS support. GRUB's exFAT and UDF modules are also
  94. preloaded in case someone finds them useful.
  95. Changed
  96. -------
  97. - Identify the ISO volume via a UUID instead of a file system label to avoid collisions of multiple ISOs created in the
  98. same month.
  99. - Honor ``SOURCE_DATE_EPOCH`` in the ``date`` command used by ``profiledef.sh`` of the shipped profiles.
  100. - Do not duplicate ``grub.cfg`` in both ISO 9660 and the EFI system partition / El Torito image. GRUB will search for
  101. the ISO volume and load the ``grub.cfg`` from there.
  102. - Moved GRUB files on ISO 9660 from ``/EFI/BOOT/`` to a boot-platform neutral place ``/boot/grub/``. This does not apply
  103. to the EFI binaries that remain in the default/fallback boot path.
  104. - Move ``grubenv`` to ``/boot/grub/grubenv`` on ISO 9660 so that it is together with the rest of GRUB-specific files.
  105. Additionally write more variables in it. The previous ``/${install_dir}/grubenv`` (``/parabola/grubenv`` for releng)
  106. is deprecated and a future parabolaiso release will not create this file anymore.
  107. - Moved syslinux directory from ``/syslinux/`` to ``/boot/syslinux/`` to keep most boot loader files in ``/boot/``.
  108. - Update ``README.transfer`` documentation and convert it to reStructuredText.
  109. - Use ``console`` as grub's ``terminal_output``, as ``gfxterm`` leads to a blank screen on some hardware.
  110. Removed
  111. -------
  112. - Do not place memtest86+ in netboot artifacts.
  113. [69] - 2022-12-24
  114. =================
  115. Added
  116. -----
  117. - Add Memtest86+ to x86_64 UEFI GRUB boot menu.
  118. Changed
  119. -------
  120. - Check if the GPG public key file was successfully placed in the work directory before trying to use it.
  121. - Open the file descriptors for code signing certificates and GPG public key as read only. Nothing from the within the
  122. ``pacstrap`` invoked chroot should ever be allowed to write outside of it.
  123. - Error out early if any of the code signing certificate files passed with option ``-c`` do not exist.
  124. - Use LZMA compressed EROFS image for the baseline profile. Now that xz 5.4 is out and erofs-utils is built with LZMA
  125. support, using a higher compression is possible.
  126. - Add ``/etc/machine-id`` with special value ``uninitialized``. The final id is generated at boot time, and systemd's
  127. first-boot mechanim (see ``First Boot Semantics`` in ``machine-id(5)``) applies. No functional change unless that
  128. ``ConditionFirstBoot=yes`` is true and passive unit ``first-boot-complete.target`` activates for ordering.
  129. [68] - 2022-10-30
  130. =================
  131. Changed
  132. -------
  133. - Do not explicitly enable ``qemu-guest-agent.service`` as it will be started by a udev rule.
  134. - Remove existing signature (``.sig``) files and do not sign them when signing netboot artifacts. This is mostly
  135. applicable when re-running ``mkparabolaiso`` after a failure.
  136. - Replace ``parabolaiso_kms`` with ``kms`` in ``mkinitcpio.conf``. The hook is available in mkinitcpio since version 32.
  137. [67] - 2022-09-25
  138. =================
  139. Added
  140. -----
  141. - The ability to generate rootfs signatures using openssl CMS module if ``-c`` is given.
  142. Changed
  143. -------
  144. - Order ``pacman-init.service`` before ``archlinux-keyring-wkd-sync.service`` since
  145. ``archlinux-keyring-wkd-sync.service`` needs an initialized pacman keyring.
  146. - Order ``pacman-init.service`` after ``time-sync.target`` since ``pacman-init.service`` may otherwise create local
  147. signatures that are not valid on target systems after installation.
  148. [66] - 2022-08-28
  149. =================
  150. Added
  151. -----
  152. - Add ``efibootimg`` to ``mkarchiso`` to abstract the FAT image path.
  153. - Unset ``LANGUAGE`` since ``LC_ALL=C.UTF-8``, unlike ``LC_ALL=C``, does not override ``LANGUAGE``.
  154. - Copy all files from the ``grub`` directory to ISO9660 and the FAT image, not just only ``grub.cfg``.
  155. - Touching ``/usr/lib/clock-epoch`` to to help ``systemd`` with screwed or broken RTC.
  156. Changed
  157. -------
  158. - Disable GRUB's shim_lock verifier and preload more modules. This allows reusing the GRUB EFI binaries when repacking
  159. the ISO to support Secure Boot with custom signatures.
  160. [65] - 2022-06-30
  161. =================
  162. Added
  163. -----
  164. - Configure the locale for the baseline profile to ``C.UTF-8`` so that a UTF-8 locale is used.
  165. - Add ``uefi-x64.grub.esp`` and ``uefi-x64.grub.eltorito`` boot mode to support x86_64 UEFI boot on x86_64 machines.
  166. - Use ``mkfs.erofs``'s ``ztailpacking`` option in the baseline profile to reduce the image size.
  167. Changed
  168. -------
  169. - Change the releng profile's locale from ``en_US.UTF-8`` to ``C.UTF-8``.
  170. - Set ``LC_ALL`` to ``C.UTF-8`` instead of ``C`` in mkparabolaiso since it is now available and non-UTF-8 locales should be
  171. avoided.
  172. Removed
  173. -------
  174. - Remove the custom pacman hook that ran ``locale-gen`` on glibc install from the releng profile. The used locale now
  175. ships with the glibc package itself.
  176. - Remove "Copy to RAM" boot entries since the ``parabolaiso`` mkinitcpio hook enables it automatically when there is enough
  177. free RAM.
  178. - Drop parabolaiso rEFInd support in favor of upstream archiso GRUB EFI bootmode.
  179. [64] - 2022-05-30
  180. =================
  181. Added
  182. -----
  183. - Add ``uefi-ia32.grub.esp`` boot mode to support IA32 UEFI boot on x86_64 machines.
  184. - Add GRUB configuration files to profiles.
  185. - Add accessible ``copytoram`` entry.
  186. - Enable beeps in systemd-boot menu.
  187. Changed
  188. -------
  189. - Fix systemd-boot menu entry sorting by using the ``sort-key`` option.
  190. [63] - 2022-04-30
  191. =================
  192. Added
  193. -----
  194. - Add dmidecode to the list of packages in the releng profile.
  195. - Add open-iscsi to the list of packages in the releng profile to allow installing Parabola on an iSCSI target.
  196. - Add hyperv to the list of packages and enable its services to provide better integration with the
  197. Hyper-V hypervisor.
  198. Changed
  199. -------
  200. - Mount /etc/pacman.d/gnupg on ramfs instead of tmpfs to ensure its contents never land in swap.
  201. - Configure reflector to return only mirrors that support both IPv4 and IPv6.
  202. [62.1] - 2022-04-05
  203. ===================
  204. Removed
  205. -------
  206. - Easter egg
  207. [62] - 2022-03-31
  208. =================
  209. Changed
  210. -------
  211. - Fix the PXE support. PXELINUX was having trouble finding the kernel and initrds. Now, archiso forces syslinux to
  212. interpret all TFTP paths as absolute. That seems to have solved the issue.
  213. - Disable systemd-gpt-auto-generator, which we do not need, in both baseline and releng profiles. It avoids the error
  214. message about it failing during boot.
  215. - Register qemu-arm-static if it is not already, rather than suggesting installing an extra package.
  216. [61] - 2022-01-31
  217. =================
  218. Added
  219. -----
  220. - Add documentation to systemd-networkd configuration files
  221. - Add information about the use of changelog and merge requests to the contributing guidelines
  222. Changed
  223. -------
  224. - Fix an issue where mkparabolaiso is failing to raise an error when the ``mmd`` and ``mcopy`` commands are not found
  225. - Fix an issue where the architecture detection in mkparabolaiso fails due to an unset ``arch`` variable in the profile
  226. Removed
  227. -------
  228. [60] - 2021-12-28
  229. =================
  230. Added
  231. -----
  232. Changed
  233. -------
  234. - Show a more descriptive message when no code signing certificate is used
  235. Removed
  236. -------
  237. - Remove unused parabolaiso_shutdown hook from the releng profile's mkinitcpio config
  238. [59] - 2021-11-30
  239. =================
  240. Added
  241. -----
  242. - Add mailmap file for easier author integration with git
  243. - Add grub and refind to the package list of the releng profile
  244. Changed
  245. -------
  246. - Replace use of date with printf
  247. - Silence command output more efficiently when using --quiet
  248. - Modify curl call to retry up to ten times before giving up on downloading an automated script
  249. Removed
  250. -------
  251. - Remove requirement on setting a Boot mode when building a netboot image
  252. [58] - 2021-08-25
  253. =================
  254. Added
  255. -----
  256. - Add support for ``gpg``'s ``--sender`` option
  257. - Add armv7h support for bootstrap buildmode
  258. Changed
  259. -------
  260. - Change the way ``mkarchiso`` uses ext4 images to copying files to it directly instead of mounting (this action now
  261. does not require elevated privileges anymore)
  262. - Add version files when using ``netboot`` buildmode as well
  263. - Update the sshd configuration to be compatible with openssh 8.7p1
  264. - Overhaul the used ``gpg`` options
  265. - Fix use of potentially unbound variables
  266. - Refactor the validation functions to have fewer large functions and less code duplication
  267. - Borrow some code from librechroot to correctly validate binfmt
  268. - Do not check if qemu-user-static is installed, just check for qemu-user-static-binfmt as it will pull it as dependency
  269. Removed
  270. -------
  271. - Remove all files related to ``mkinitcpio`` integration, as they now live in
  272. https://gitlab.archlinux.org/archlinux/mkinitcpio/mkinitcpio-archiso
  273. [57] - 2021-07-30
  274. =================
  275. Added
  276. -----
  277. - Add a missing line in the systemd-networkd-wait-online.service in the baseline profile
  278. Changed
  279. -------
  280. - Adapt systemd-networkd configuration to systemd ≥ 249
  281. - Improve documentation in ``mkparabolaiso`` and systemd-networkd related configuration files
  282. - Fix an issue that may prevent continuing an aborted build of the ``netboot`` or ``iso`` buildmode
  283. Removed
  284. -------
  285. - Remove SPDX license identifier from files that are not eligible for copyright (e.g. configuration files)
  286. [56.1] - 2021-07-11
  287. ===================
  288. Added
  289. -----
  290. Changed
  291. -------
  292. - Fix an issue with the unsetting of environment variables before using pacstrap/arch-chroot
  293. - Remove termite-terminfo from the releng profile's list of packages (it is not in the official repositories nymore)
  294. - Set LC_ALL instead of LANG
  295. [56] - 2021-07-01
  296. =================
  297. Added
  298. -----
  299. - Add pacman >= 6 compatible configuration
  300. - Add documentation for the `script` boot parameter
  301. Changed
  302. -------
  303. - Clear environment variables before working in chroot
  304. - Update Arch Wiki URLs
  305. - Pass SOURCE_DATE_EPOCH to chroot
  306. - Enable parallel downloads in profile pacman configurations
  307. [55] - 2021-06-01
  308. =================
  309. Added
  310. -----
  311. - Add integration for pv when using the copytoram boot parameter so that progress on copying the image to RAM is shown
  312. - Add experimental support for EROFS by using it for the rootfs image in the baseline profile
  313. Changed
  314. -------
  315. - Change information on IRC channel, as Parabola GNU/Linux-libre moved to Libera Chat
  316. - Fix a regression, that would prevent network interfaces to be configured under certain circumstances
  317. - Update releases maintainer information
  318. [54] - 2021-05-13
  319. =================
  320. Added
  321. -----
  322. - Add the concept of buildmodes to mkparabolaiso, which allows for building more than the default .iso artifact
  323. (sequentially)
  324. - Add support to mkparabolaiso and both baseline and releng profiles for building a bootstrap image (a compressed
  325. bootstrapped Parabola GNU/Linux-libre environment), by using the new buildmode `bootstrap`
  326. - Add support to mkparabolaiso and both baseline and releng profiles for building artifacts required for netboot with iPXE
  327. (optionally allowing codesigning on the artifacts), by using the new buildmode `netboot`
  328. - Add qemu-guest-agent to the releng profile and enable their services by default to allow interaction between hypervisor
  329. and virtual machine if the installation medium is booted in a virtualized environment
  330. Changed
  331. -------
  332. - Always use the .sig file extension when signing the rootfs image, as that is how mkinitcpio-parabolaiso expects it
  333. - Fix for run_parabolaiso scripts to be compatible with QEMU >= 6.0
  334. - Install all implicitly installed packages explicitly for the releng profile
  335. - Install keyrings more generically when using pacman-init.service
  336. [53] - 2021-05-01
  337. =================
  338. Added
  339. -----
  340. - Add ISO name to grubenv
  341. - Add IMAGE_ID and IMAGE_VERSION to /etc/os-release
  342. Changed
  343. -------
  344. - Revert to an invalid GPT for greater hardware compatibility
  345. - Fix initcpio script to comply with stricter shellcheck
  346. - Fix an issue where writing to /etc/machine-id might override a file outside of the build directory
  347. - Change gzip flags, so that compressed files are created reproducibly
  348. - Increase default serial baud rate to 115200
  349. - Remove deprecated documentation and format existing documentation
  350. [52] - 2021-04-01
  351. =================
  352. Added
  353. -----
  354. - Add usbmuxd support
  355. - Add EROFS support (as an experimental alternative to squashfs)
  356. - Add creation of zsync control file for delta downloads
  357. - Add sof-firmware for additional soundcard support
  358. - Add support for recursively setting file permissions on folders using profiledef.sh
  359. - Add support for mobile broadband devices with the help of modemmanager
  360. - Add information on PGP signatures of tags
  361. - Add archinstall support
  362. Changed
  363. -------
  364. - Remove haveged
  365. - Change systemd-networkd files to more generically setup networkds for devices
  366. - Fix the behavior of the `script=` kernel commandline parameter to follow redirects
  367. - Change the amount of mirrors checked by reflector to 20 to speed up availability of the mirrorlist
  368. [51] - 2021-02-01
  369. =================
  370. Added
  371. -----
  372. - VNC support for `run_parabolaiso`
  373. - SSH enabled by default in baseline and releng profiles
  374. - Add cloud-init support to baseline and releng profiles
  375. - Add simple port forwarding to `run_parabolaiso` to allow testing of SSH
  376. - Add support for loading cloud-init user data images to `run_parabolaiso`
  377. - Add version information to images generated with `mkparabolaiso`
  378. - Use pacman hooks for things previously done in `customize_airootfs.sh` (e.g. generating locale, uncommenting mirror
  379. list)
  380. - Add network setup for the baseline profile
  381. Changed
  382. -------
  383. - Change upstream URL in vendored profiles to pararbola.nu
  384. - Reduce the amount of sed calls in mkparabolaiso
  385. - Fix typos in `mkparabolaiso`
  386. - mkinitcpio-parabolaiso: Remove resolv.conf before copy to circumvent its use
  387. - Remove `customize_airootfs.sh` from the vendored profiles
  388. - Support overriding more variables in `profiledef.sh` and refactor their use in `mkparabolaiso`
  389. - Cleanup unused code in `run_parabolaiso`