diff options
Diffstat (limited to 'images')
| -rw-r--r-- | images/Makefile | 39 | ||||
| -rw-r--r-- | images/NEWS | 772 | ||||
| -rw-r--r-- | images/dracut.conf.d/01-dist.conf | 4 | ||||
| -rw-r--r-- | images/grub2.config | 33 | ||||
| -rw-r--r-- | images/grub2.theme | 34 | ||||
| -rw-r--r-- | images/help.msg.xml | 2 | ||||
| -rwxr-xr-x | images/make_boot_img | 631 | ||||
| -rwxr-xr-x | images/update_kernel | 42 |
8 files changed, 1001 insertions, 556 deletions
diff --git a/images/Makefile b/images/Makefile index 1cba94a1d..5ac5cf59c 100644 --- a/images/Makefile +++ b/images/Makefile @@ -1,35 +1,42 @@ include ../Makefile.config -VERSION=1.23 +VERSION=2.92 PRODUCT=drakx-installer-images -KERNELS=$(shell rpm -qf /lib/modules/2.*) +KERNELS=$(shell rpm -qf /lib/modules/6.*) IMAGES_DEST = $(ROOTDEST)/install/images all: images -images: all.kernels - DISTRIB_DESCR=$(DISTRIB_DESCR) ./make_boot_img +boot.iso: images/boot.iso + +images/boot.iso: all.kernels/.list make_boot_img + DISTRIB_DESCR=$(DISTRIB_DESCR) DISTRIB_VERSION=$(DISTRIB_VERSION) ./make_boot_img images/boot.iso + +all.img: images/all.img + +images/all.img: all.kernels/.list make_boot_img + DISTRIB_DESCR=$(DISTRIB_DESCR) DISTRIB_VERSION=$(DISTRIB_VERSION) ./make_boot_img images/all.img + +images: all.kernels/.list + DISTRIB_DESCR=$(DISTRIB_DESCR) DISTRIB_VERSION=$(DISTRIB_VERSION) ./make_boot_img rm -rf images/alternatives if [ `ls images/*.img-* 2>/dev/null | wc -l` -gt 0 ]; then \ - mkdir images/alternatives; cd images/alternatives; mv ../*.img-* .; md5sum *.img-* > MD5SUM; \ + mkdir images/alternatives; cd images/alternatives; mv ../*.img-* .; md5sum *.img-* > MD5SUM; sha512sum *.img-* > SHA512SUM; \ fi - cd images ; md5sum *.{img,iso}* > MD5SUM + cd images; md5sum *.{img,iso}* > MD5SUM; sha512sum *.{img,iso}* > SHA512SUM -all.kernels: update_kernel ../kernel/list_modules.pm +all.kernels/.list: update_kernel ./update_kernel $(KERNELS) +dist: tar tar: - rm -rf $(PRODUCT)*.tar* $(PRODUCT)-$(VERSION) - mkdir -p $(PRODUCT)-$(VERSION) - svn export -q . $(PRODUCT)-$(VERSION)/images - svn export -q ../kernel $(PRODUCT)-$(VERSION)/kernel - cp ../Makefile.config $(PRODUCT)-$(VERSION)/ - tar cfj $(PRODUCT)-$(VERSION).tar.bz2 $(PRODUCT)-$(VERSION) - rm -rf $(PRODUCT)-$(VERSION) + @rm -rf $(PRODUCT)*.tar* $(PRODUCT)-$(VERSION) + @cd ..; git archive --prefix=$(PRODUCT)-$(VERSION)/ $(PRODUCT)-$(VERSION) images kernel Makefile.config | xz >images/$(PRODUCT)-$(VERSION).tar.xz; + $(info $(PRODUCT)-$(VERSION).tar.xz is ready) clean: - rm -rf images isolinux all.kernels modules.description + rm -rf images isolinux all.kernels modules.description build find . -name "*~" -o -name ".#*" | xargs rm -f install: @@ -40,3 +47,5 @@ install: rm -rf $(ROOTDEST)/isolinux cp -af isolinux $(ROOTDEST) endif + +.PHONY: boot.iso all.img install clean dist tar images diff --git a/images/NEWS b/images/NEWS index 843ea4d94..6dc81585f 100644 --- a/images/NEWS +++ b/images/NEWS @@ -1,3 +1,775 @@ +- fix image build with dracut >= 108-8 + * default distro config was moved into /usr/lib/dracut/dracut.conf.d and + renamed as 01-dist.conf + +Version 2.92 - 18 October 2025 by Jani Välimaa +- remove 'Memory Test' from boot images as we don't have linux32 module anymore in grub2 + +Version 2.91 - 29 August 2023 by Thomas Backlund + +- switch to Mageia 10 (Cauldron) + +Version 2.90 - 11 August 2023 by Thomas Backlund + +- update for Mageia 9 release + +Version 2.89 - 11 July 2023 by Thomas Backlund + +- Sync list_modules with kernel 6.4 +- Sync with kernel 6.0 + +Version 2.88 - 9 February 2023 by Thomas Backlund + +- Sync with kernel 5.19 +- Sync with kernel 6.0 +- Sync with kernel 6.1 + +Version 2.87 - 31 October 2022 by Martin Whitaker + +- update grub.config search label for Mageia 9 (mga#30932) + +Version 2.86 - 17 September 2022 by Martin Whitaker + +- revert to using Memtest86+, now it is based on PCMemTest +- Sync with kernel 5.17 +- Sync with kernel 5.18 + +Version 2.85 - 2 February 2022 by Thierry Vignaud + +- Sync with kernel 5.16 + +Version 2.84 - 6 January 2022 by Thierry Vignaud + +- Add missing 'genet' driver +- Fix installing unicode.pf2 +- Fix warning & use the intended compression level +- Include 'network-legacy' when using 'nfs' dracut module +- sync with kernel 5.15 + +Version 2.83 - 27 February 2021 by Thomas Backlund + +- re-enable Cauldron + +Version 2.82 - 14 February 2021 by Thomas Backlund + +- drop cauldron references + +Version 2.81 - 4 January 2021 by Thomas Backlund + +- recognize rtw89_pci driver + +Version 2.80 - 15 December 2020 by Thierry Vignaud + +- identify and include missing firmware for iwlwifi (mga#9541) +- include amd_sfh HID driver + +Version 2.79 - 4 December 2020 by Thierry Vignaud + +- sync with kernel 5.10 + +Version 2.78 - 2 December 2020 by Martin Whitaker + +- include michael_mic, needed for TKIP on older wireless devices +- include more rtw88_* + +Version 2.77 - 30 November 2020 by Martin Whitaker + +- include lib80211_crypt_*, needed by some wireless devices (mga#9541) + +Version 2.76 - 28 November 2020 by Martin Whitaker + +- include ccm for WPA2 + +Version 2.75 - 5 November 2020 by Martin Whitaker + +- use pcmemtest instead of memtest86+ (mga#25232) +- add memory test to UEFI boot menu + +Version 2.74 - 14 September 2020 by Thierry Vignaud + +- sync with kernel 5.9 + +Version 2.73 - 19 August 2020 by Thierry Vignaud + +- sync with kernel 5.8 + +Version 2.72 - 28 June 2020 by Thierry Vignaud + +- sync with kernel 5.6/5.7 + +Version 2.71 - 20 March 2020 by Thierry Vignaud + +- include amd-rng intel-rng + +Version 2.70 - 18 March 2020 by Thierry Vignaud + +- include crc32_generic for f2fs +- include more platform/x86 drivers +- switch from xz to zstd compression (faster decompression) +- sync with kernel 5.5 + +Version 2.69 - 22 December 2019 by Thomas Backlund + +- sync with kernel 5.4 + +Version 2.68 - 9 October 2019 by Thierry Vignaud + +- sync with kernel 5.3 + +Version 2.67 - 30 June 2019 by Thomas Backlund + +- Switch to Mageia 8 (Cauldron) + +Version 2.66 - 17 June 2019 by Thomas Backlund + +- include 8821ce (mga#24605) + +Version 2.65 - 7 June 2019 by Thomas Backlund + +- drop '(Cauldron)' references + +Version 2.64 - 5 June 2019 by Martin Whitaker + +- add chromeos_laptop (mga#24891) + +Version 2.63 - 1 June 2019 by Martin Whitaker + +- add cyapatp (mga#24891) + +Version 2.62 - 27 May 2019 by Martin Whitaker + +- add intel-lpss* (mga#20327) + +Version 2.61 - 26 May 2019 by Martin Whitaker + +- add elan_i2c (mga#20327) + +Version 2.60 - 11 May 2019 by Thierry Vignaud + +- add AMD PCIe MP2 I2C detection + +Version 2.59 - 3 May 2019 by Thierry Vignaud + +- sync with kernel 5.1 + +Version 2.58 - 8 April 2019 by Martin Whitaker + +- include modules needed by cryptsetup (mga#24638) + +Version 2.57 - 18 March 2019 by Thierry Vignaud + +- include i2c_algo_bit (mga#20327) + +Version 2.56 - 8 March 2019 by Thierry Vignaud + +- do not include hyperv_fb (mga#17711) +- sync with kernel 5.0 + +Version 2.55 - 30 November 2018 by Thierry Vignaud + +- include NFS tools (support NFSv4, ...) + +Version 2.54 - 17 November 2018 by Martin Whitaker + +- list_modules: don't include vboxvideo (mga#23467) + +Version 2.53 - 15 November 2018 by Thierry Vignaud + +- sync with kernel 4.1[89] + +Version 2.52 - 25 July 2018 by Thomas Backlund + +- add missing smartpqi driver (mga#23305) + +Version 2.51 - 2 July 2018 by Thomas Backlund + +- add missing Mellanox drivers (mga#23263) + +Version 2.50 - 22 June 2018 by Thierry Vignaud + +- list_modules: add dm-cache + deps (mga#22946) +- sync with kernel 4.1[5-7] + +Version 2.49 - 10 February 2018 by Thierry Vignaud + +- further sync with kernel 4.14 + +Version 2.48 - 19 January 2018 by Thomas Backlund + +- sync with kernel 4.14 + +Version 2.47 - 22 July 2017 by Thomas Backlund + +- switch UEFI menu to Mageia 7 (Cauldron) + +Version 2.46 - 23 June 2017 by Martin Whitaker + +- change default screen resolution to 1024x768 (mga#20624) + +Version 2.45 - 22 June 2017 by Thierry Vignaud + +- include 8812au (mga#21043) + +Version 2.44 - 26 April 2017 by Thomas Backlund + +- add missing unicode.pf2 in /EFI/BOOT/fonts/ (mga#19468) + +Version 2.43 - 25 February 2017 by Thierry Vignaud + +- sync with kernel-4.8 + +Version 2.42 - 4 February 2017 by Thomas Backlund + +- dosfstools 4.1 does not require 63 sector layout anymore + on filesystems less than 512MB + +Version 2.41 - 6 January 2017 by Thomas Backlund + +- disable audit logging as it floods the logs +- sync with kernel-4.9 + +Version 2.40 - 22 December 2016 by Thomas Backlund + +- fix background theme image name (mga#19468) +- try to dereference symbolic links in order to fix image size + for FAT32 efiboot.img (mga#19323) +- copy efiboot.img from boot.iso to toplevel isolinux/ so it can be + re-used with CI and live isos + +Version 2.39 - 8 September 2016 by Thierry Vignaud + +- fix colors in boot.iso's first screen (mga#18316) + +Version 2.38 - 8 July 2016 by Thierry Vignaud + +- include virtio-console + +Version 2.37 - 5 July 2016 by Thierry Vignaud + +- sync with kernel-4.7 + +Version 2.36 - 30 June 2016 by Thierry Vignaud + +- include some missing wireless drivers (mga#16768) + +Version 2.35 - 20 May 2016 by Thomas Backlund + +- add sha512 sums for images +- typo fix (mga#18492) + +Version 2.34 - 10 May 2016 by Thomas Backlund + +- adjust image creation for new dosfstools 4 using 63 cylinders everywhere +- let mkdosfs create the image file, and drop usage of dd +- revert "back to arch dependant isolinux.bin (mga#17771)" + +Version 2.33 - 26 Apr 2016 by Thierry Vignaud + +- sync with kernel-4.6 + +Version 2.32 - 21 Feb 2016 by Anne Nicolas + +- back to arch dependant isolinux.bin (mga#17771) + +Version 2.31 - 10 Jan 2016 by Thomas Backlund + +- psmouse is now modular, so add it to list_modules.pm (mga#17470) + +Version 2.30 - 22 Dec 2015 by Thierry Vignaud + +- sync with kernel-4.4 + +Version 2.29 - 4 Dec 2015 by Thierry Vignaud + +- sync with kernel-4.3 + +Version 2.28 - 27 Aug 2015 by Thierry Vignaud + +- sync with kernel-4.1 + +Version 2.27 - 13 Jul 2015 by Thomas Backlund + +- update efi menus for mga6 (cauldron) + +Version 2.26 - 22 May 2015 by Thomas Backlund + +- use xorriso for proper efi metadata +- generate proper efi isohybrid + +Version 2.25 - 9 May 2015 by Thomas Backlund + +- update UEFI menu + +Version 2.24 - 8 May 2015 by Thierry Vignaud + +- include r8723bs (mga#15874) + +Version 2.23 - 4 May 2015 by Anne Nicolas + +- add noiswmd to all entries of isolinux.cfg + +Version 2.22 - 13 April 2015 by Thierry Vignaud + +- honor BOOT_AUTOMATIC_METHOD env var for UEFI too +- reduce timeout when using BOOT_AUTOMATIC_METHOD env var + +Version 2.21 - 7 April 2015 by Thomas Backlund + +- fix finding grub legacy files for hd_grub generation +- syslinux needs more space on all.img + +Version 2.20 - 7 April 2015 by Thomas Backlund + +- drop nonexistant linuxefi grub2-efi module + +Version 2.19 - 7 April 2015 by Thomas Backlund + +- create efi loader at build time + +Version 2.18 - 6 April 2015 by Anne Nicolas + +- use noiswmd as default boot option (mga#11105) + +Version 2.17 - 17 March 2015 by Thierry Vignaud + +- include virtio_rng + +Version 2.16 - 28 January 2015 by Thierry Vignaud + +- sync with kernel-3.19 + +Version 2.15 - 20 December 2014 by Thierry Vignaud + +- sync with kernel-3.18 (mga#14799) + +Version 2.14 - 20 December 2014 by Thierry Vignaud + +- include new 3.18 USB host drivers (mga#14799) + +Version 2.13 - 16 December 2014 by Erwan Velu + +- make_boot_img: Avoid gfxboot install string for chain.c32 +- make_boot_img: Using chain.c32 instead of localboot + +Version 2.12 - 12 December 2014 by Thierry Vignaud + +- include hv_balloon & hyperv_fb +- include virtio_balloon & vmw_balloon as well + +Version 2.11 - 31 August 2014 by Thierry Vignaud + +- sync with kernel-3.17 + +Version 2.10 - 22 August 2014 by Thierry Vignaud + +- include paravirtual network driver for hyper-v + +Version 2.9 - 6 August 2014 by Thierry Vignaud + +- sync with kernel-3.16 + +Version 2.8 - 15 June 2014 by Thierry Vignaud + +- include acpi-cpufreq +- sync with kernel-3.15 + +Version 2.7 - 28 April 2014 by Thierry Vignaud + +- sync with kernel-3.14 + +Version 2.6 - 16 February 2014 by Thierry Vignaud + +- sync with kernel-3.13 + +Version 2.5 - 24 January 2014 by Colin Guthrie + +- Double syslinux overhead to 256. mga#11795 + +Version 2.4 - 15 December 2013 by Anne Nicolas + +- remove buggy control caracters (#11602) +- use audit=0 in rescue isolinux config to allow systemd-nspawn to work smoothly + +Version 2.3 - 2 December 2013 by Thierry Vignaud + +- include "sdhci-acpi" for eMMC (mga#11812) + +Version 2.2 - 13 November 2013 by Colin Guthrie + +- pass the modules we want in modules.alias, but not in the initrd through to + dracut via an environment variable +- add BOOT_AUTOMATIC_METHOD to inject command line params into boot.iso syslinux + +Version 2.1 - 5 November 2013 by Colin Guthrie + +- revert back to static per-arch isolinux.cfg files + +Version 2.00 - 2 November 2013 by Thomas Backlund + +- ensure initrd is created with 644 perms (normally 600 for security reasons) +- fix 32-bit isolinux wrapper (s/i586/i386) + +Version 1.95 - 2 November 2013 by Colin Guthrie + +- omit the dracut network module now that we include our own networking kernel modules +- add a dracut.conf rather than adding lots of command line options +- ensure initrd is xz compressed +- include network modules as specified by kernel/list_modules.pm + +Version 1.94 - 29 October 2013 by Colin Guthrie + +- adapt to a dracut based stage1 + +Version 1.93 - 14 October 2013 by Thierry Vignaud + +- sync with kernel-3.12 + +Version 1.92 - 10 October 2013 by Thierry Vignaud + +- sync with kernel-3.11 (might fix mga#11377) + +Version 1.91 - 10 October 2013 by Thierry Vignaud + +- partial sync with kernel-3.11 regarding USB: include + ehci-tegra, ohci-pci ohci-platform fusbh200-hcd & usb_common + (might fix mga#11377) + +Version 1.90 - 16 July 2013 by Thierry Vignaud + +- sync with kernel-3.10 + +Version 1.89 - 2 June 2013 by Thomas Backlund + +- fix URL in help message (mga#9772) +- sync with kernel-3.9 + +Version 1.88.1 - 2 March 2013 by Thomas Backlund + +- update list_modules for xen dom0 and virtio support (#9242) + +Version 1.88 - 21 January 2013 by Thomas Backlund + +- update usb host list for kernel 3.8 + +Version 1.87 - 16 January 2013 by Thomas Backlund + +- include new kernel 3.8 drivers: + o phy: at91_ether, macb, mvmdio + o usb: cdc_mbim + o wifi: ar5523, rtl8723ae + o scsi: mpt3sas + o raid; csiostor + o hid: hid-icade, hid-roccat-lua + o sound: snd-scs1x +- do not include firmware loader anywhere + +Version 1.86 - 10 December 2012 by Thierry Vignaud + +- include new drivers: + o input: hid-sensor-hub + o PHY: at803x + +Version 1.85 - 21 October 2012 by Thomas Backlund + +- add alx ethernet module (#7853) + +Version 1.84 - 18 October 2012 by Thierry Vignaud + +- include new drivers: + o HID: hid-roccat-savu, hid-holtek-kbd, hid-lenovo-tpkbd + o NFS: nfsv[2-4] + o PHY: bcm87xx + o WIFI: iwldvm +- no more need to fix modules.order + +Version 1.83 - 17 September 2012 by Thierry Vignaud + +- fix modules.order so that cciss got detected (mga#5833) +- use new hotplug (mga#6323) + +Version 1.82 - 12 September 2012 by Thierry Vignaud + +- include overlayfs module instead of unionfs + +Version 1.81 - 4 September 2012 by Thierry Vignaud + +- include new drivers: + o crypto: aesni_intel + o input: hid-aureal synaptics_usb + o wifi: qmi_wwan, mwifiex_usb +- remove tokenring drivers + +Version 1.80 - 3 September 2012 by Thierry Vignaud + +- fix creating some directories when not in debug mode + +Version 1.79 - 3 September 2012 by Thierry Vignaud + +- do not include ka stuff unlesse BUILD_KA is set +- precreate /sys + +Version 1.78 - 31 August 2012 by Thierry Vignaud + +- include new 'hid-generic' driver (mga#7130, #7248) + +Version 1.77 - 5 June 2012 by Thierry Vignaud + +- do not include "screen" terminfo anymore + +Version 1.76 - 1 June 2012 by Thierry Vignaud + +- enable to do a debug build in the BS +- include new drivers: + o HID: hid-saitek, hid-tivo + o PHY: amd + o virt: hv_storvsc, virtio_scsi & xen-netfront + o WIFI: ath6kl_usb + +Version 1.75 - 17 May 2012 by Thomas Backlund + +- add modules.order and modules.builtin in initrd + +Version 1.74 - 13 May 2012 by Thierry Vignaud + +- include "fuse" module (mga#5685) + +Version 1.73 - 10 May 2012 by Thomas Backlund + +- add all network phys + +Version 1.72 - 10 May 2012 by Thomas Backlund + +- add broadcom and libphy to get tg3 to work (#5567) + +Version 1.71 - 8 April 2012 by Thomas Backlund + +- make isohybrid start first partition on sector 1 (mga #5036) + +Version 1.70 - 5 April 2012 by Thierry Vignaud + +- include "screen" terminfo (mga#4894) + +Version 1.69 - 13 March 2012 by Thierry Vignaud + +- include more HID drivers (mga#4905) + +Version 1.68 - 12 March 2012 by Thierry Vignaud + +- include more USB host controller modules (mga#4905) + +Version 1.67 - 24 February 2012 by Thierry Vignaud + +- include 'cryptd' & 'xts' modules for new crypted fs (mga#3749) + +Version 1.66 - 23 February 2012 by Thierry Vignaud + +- include more HID drivers (mga#4129) + +Version 1.65 - 15 February 2012 by Thierry Vignaud + +- do not recompress modules as XZ since kernel now compress + them with XZ + +Version 1.64 - 9 February 2012 by Anne Nicolas + +- fix isolinux.bin copy due to syslinux 4 + +Version 1.63 - 27 January 2012 by Thierry Vignaud + +- include dkms-modules.alias too (mga#1405) + +Version 1.62 - 20 January 2012 by Thierry Vignaud + +- smaller stage1: + o compress initrd with XZ instead of gzip + o recompress gz modules as XZ + +Version 1.61 - 19 January 2012 by Thierry Vignaud + +- smaller stage1: remove busybox if not in debug mode + +Version 1.60 - 5 January 2012 by Thierry Vignaud + +- use upstream pppd & pppoe instead of a 10 years old snapshot + +Version 1.59 - 29 December 2011 by Thomas Backlund + +- sync with kernel-3.2.0-0.rc7.1.mga2 + * add wireless drivers: + at76c50x_usb, ath9k_htc, brcmfmac, i2400m_usb, orinoco_usb, + rtl8187, usb8xxx + * add usb network adapters: + dm9601, smsc75xx, smsc95xx + * add network drivers: + cxgb4, myri10ge + +Version 1.58 - 24 October 2011 by Thierry Vignaud + +- include nilfs2 module (#3807) + +Version 1.57 - 24 October 2011 by Thomas Backlund + +- sync with kernel-3.1.0-1.mga2 + * add hid devices: + hid-keytouch, hid-uclogic + * add sas/raid driver: + isci + * add sound devices: + snd-lola, snd-firewire-speakers snd-isight, snd-usb-6fire + * add usb/storage: + ums-eneub6250, ums-realtek + * add wireless drivers: + brcmsmac, rtl8187se, rtusb, rtl8192se, rtl8192cu, rtl8192de + +Version 1.56 - 06 October 2011 by Thierry Vignaud + +- fix isolinux.bin path with new syslinux +- use gfxboot.c32 as graphical boot loader + +Version 1.55 - 22 August 2011 by Thierry Vignaud + +- include microcode + +Version 1.54 - 20 May 2011 by Olivier Blin + +- add ums-* (USB mass storage) modules in disk/usb category +- merge mkdosfs patch from packages SVN + (to replace mkdosfs-with-dir which requires obsolete perl-suid) + +Version 1.53 - 5 May 2011 by Anne Nicolas + +- make boot.iso isohybrid + +Version 1.52 - 25 Apr 2011, by Thomas Backlund + +- add sdhci-pci to card-reader list +- add xhci-hcd (usb3 support) + +Version 1.51 - 2 Apr 2011, by Thomas Backlund + +- update modules list needed for md raid456 and dm-raid 4/5/6 target +- compress tarball with xz + +Version 1.50 - 13 Oct 2010, by Thierry Vignaud + +- 2011.0 build + +Version 1.49 - 27 May 2010, by Olivier Blin + +- disable restore option + +Version 1.48 - 28 February 2010, by Thierry Vignaud + +- handle new SCSI driver: mpt2sas (#57833) + +Version 1.47 - 4 January 2010, by Pascal Terjan + +- use /bin/busybox.static + +Version 1.46 - 12 October 2009, by Olivier Blin + +- properly fix FileHandle issue + +Version 1.45 - 12 October 2009, by Thierry Vignaud + +- fix firmware again (#53220) + +Version 1.44 - 6 October 2009, by Thierry Vignaud + +- do not do anything anymore with bootsplash.cfg + +Version 1.43 - 22 September 2009, by Olivier Blin + +- fix firmware loading (#49195) +- revert squashfs-lzma and sqlzma inclusion (this breaks install) +- list asix module in network/usb group + +Version 1.42 - 9 September 2009, by Pascal Terjan + +- include squashfs-lzma and sqlzma kernel modules in all.rdz +- add /dev/ptmx (for screen to work) +- drop duplicated code including busybox, ka version is better than + the one of DEBUGSTAGE1 +- embed all firmwares that are needed by the modules we embed + +Version 1.40 - 14 April 2009, by Pascal Terjan + +- handle firmware loading in stage2 too + +Version 1.39 - 6 April 2009, by Pascal Terjan + +- fix firmware helper generation + +Version 1.38 - 3 April 2009, by Thierry Vignaud + +- include firmwares for most common network cards (#49195) +- pass restore instead of --restore option +- add a userspace helper to load firmwares + +Version 1.37 - 3 April 2009, by Pascal Terjan + +- fix crypto module names when arch is not i586 (#46814) + +Version 1.36 - 9 March 2009, by Thierry Vignaud + +- add /dev/random and /dev/urandom (for curl) + +Version 1.35 - 18 February 2009, by Thierry Vignaud + +- pass --restore instead of restore option + +Version 1.34 - 10 February 2009, by Thierry Vignaud + +- enable to select restore option + +Version 1.33 - 23 January 2009, by Christophe Fergeau + +- adjust to new syslinux 3.72 gfxboot COM32 module + +Version 1.32 - 15 January 2008, by Thierry Vignaud + +- include: + o network drivers: enic, et131x, qlge, smsc95xx, sxg & w35und + o IDE driver: tx4939ide +- ext4dev was renamed as ext4 in 2.6.29-rc1 (keep ext4dev for older kernels) + +Version 1.31 - 19 September 2008, by Pascal "pixel" Rigaux + +- add modules "sha256_generic cbc amd768_rng" for crypsetup/LUKS + +Version 1.30 - 12 June 2008, by Olivier "blino" Blin + +- handle ide-cd being renamed as ide-cd_mod + +Version 1.29 - 2 April 2008, by Olivier "blino" Blin + +- use "Mdv Boot ISO" as label for boot.iso + +Version 1.28 - 12 February 2008, by Olivier "blino" Blin + +- restore full modules.alias (depmod keeps only available modules in + modules.alias, but we want them all) + +Version 1.27 - 12 February 2008, by Olivier "blino" Blin + +- add modules in /modules/`uname -r` and use depmod to build + modules.dep and modules.alias +- remove symlinks in toplevel /modules +- fix custom bootsplash theme support + +Version 1.26 - 21 December 2007, by Olivier "blino" Blin + +- rebuild with list_modules to handle atl2 ethernet driver +- fix live stage2 support + +Version 1.25 - 12 December 2007, by Pascal "Pixel" Rigaux + +- rebuild for new list_modules + +Version 1.24 - 15 October 2007, by Olivier "blino" Blin + +- rebuild for new list_modules (to include ipw3945) + Version 1.23 - 17 September 2007, by Pascal "Pixel" Rigaux - add dm-zero for dmraid diff --git a/images/dracut.conf.d/01-dist.conf b/images/dracut.conf.d/01-dist.conf new file mode 100644 index 000000000..88efd9a14 --- /dev/null +++ b/images/dracut.conf.d/01-dist.conf @@ -0,0 +1,4 @@ +hostonly=no +nofscks=yes +omit_dracutmodules+=" dash modsign systemd plymouth btrfs crypt lvm cifs resume rootfs-block biosdevname usrmount shutdown " +compress="zstd -14" diff --git a/images/grub2.config b/images/grub2.config new file mode 100644 index 000000000..545722e00 --- /dev/null +++ b/images/grub2.config @@ -0,0 +1,33 @@ + +insmod efi_gop +insmod efi_uga +insmod video_bochs +insmod video_cirrus +insmod video_fb + +insmod font +if loadfont ${prefix}/fonts/unicode.pf2 +then + insmod gfxterm + set gfxmode=1024x768,800x600,640x480 + set gfxpayload=keep + terminal_output gfxterm +fi + +insmod png +set theme=($root)/EFI/BOOT/themes/maggy/theme.txt +export theme + +set timeout=10 + +search --no-floppy --set=root -l 'Mageia-10-x86_64-netinstall' + +menuentry 'Start Mageia 10 (Cauldron) Install' { + linux /isolinux/x86_64/vmlinuz audit=0 quiet noiswmd + initrd /isolinux/x86_64/all.rdz +} + +menuentry 'Start Mageia 10 (Cauldron) Rescue' { + linux /isolinux/x86_64/vmlinuz audit=0 noiswmd rescue + initrd /isolinux/x86_64/all.rdz +} diff --git a/images/grub2.theme b/images/grub2.theme new file mode 100644 index 000000000..ff6c463bb --- /dev/null +++ b/images/grub2.theme @@ -0,0 +1,34 @@ +# GRUB gfxmenu theme "maggy". + +title-text: "Mageia 10 (Cauldron) UEFI" +title-font: "MageiaLogo Bold 28" +title-color: "white" + +desktop-image: "grub2-mageia-default.png" +terminal-font: "Unknown Regular 16" + ++ boot_menu { + left = 20% + top = 15% + width = 60% + height = 55% + item_font = "MageiaLogo Regular 20" + selected_item_font = "MageiaLogo Bold 20" + color_normal="black/black" + item_color = "#2397d4" + selected_item_color = "white" + item_height = 24 + item_spacing = 10 +} + ++ progress_bar +{ + id = "__timeout__" + left = 20% + top = 65% + width = 60% + height = 1% + fg_color = "lightskyblue" + bg_color = "dodgerblue" + border_color = "midnightblue" +} diff --git a/images/help.msg.xml b/images/help.msg.xml index e6d715830..358dcf248 100644 --- a/images/help.msg.xml +++ b/images/help.msg.xml @@ -1,5 +1,5 @@ <document> - <green>Welcome to <blue>Mandriva Linux</blue> install help</green> + <green>Welcome to <blue>Mageia</blue> install help</green> In most cases, the best way to get started is to simply press the <yellow><Enter></yellow> key. If you experience problems with standard install, try one of the following diff --git a/images/make_boot_img b/images/make_boot_img index 10e653407..6953b02df 100755 --- a/images/make_boot_img +++ b/images/make_boot_img @@ -1,28 +1,30 @@ #!/usr/bin/perl use Config; +use FileHandle; use MDK::Common; +use POSIX; +use Carp; + Config->import; my ($arch) = $Config{archname} =~ /(.*?)-/; -my $default_append = ''; +my $default_append = 'audit=0'; my $default_acpi = ''; -my $default_vga = "vga=788 splash=silent"; -my $timeout = 150; -my $isolinux_bin = $arch eq 'x86_64' ? '/usr/lib/syslinux/isolinux-x86_64.bin' : '/usr/lib/syslinux/isolinux-i586.bin'; -my $lib = $arch eq 'x86_64' ? 'lib64' : 'lib'; +my $default_vga = "vga=791 splash quiet"; +my $default_iswmd = "noiswmd"; +my $timeout = $ENV{BOOT_AUTOMATIC_METHOD} ? 5 : 150; +my $isolinux_bin = '/usr/lib/syslinux/isolinux.bin'; my $tmp_mnt = '/tmp/drakx_mnt'; -my $tmp_initrd = '/tmp/drakx_initrd'; -my $sudo; if ($>) { - $sudo = "sudo"; $ENV{PATH} = "/sbin:/usr/sbin:$ENV{PATH}"; } sub __ { print @_, "\n"; system(@_) } -sub _ { __ @_; $? and die } +sub _ { __ @_; $? and croak "'" . join(' ', @_) . "failed ($?)\n" } + sub mke2fs { my ($f) = @_; _ "/sbin/mke2fs -q -m 0 -F -s 1 $f"; @@ -35,16 +37,13 @@ mkdir "images"; my @kernels = chomp_(cat_('all.kernels/.list')); my @all_images = ( - if_($arch =~ /i.86/, 'isolinux', 'boot.iso', 'all.img', 'hd_grub.img'), - if_($arch =~ /x86_64/, 'isolinux', 'boot.iso', 'all.img', 'hd_grub.img'), - if_($arch =~ /ia64/, 'all.img'), - if_($arch =~ /ppc/, 'all.img'), + if_($arch =~ /i.86|x86_64/, 'isolinux', 'boot.iso', 'all.img', 'hd_grub.img'), ); my @images = @ARGV ? @ARGV : map { "images/$_" } @all_images; foreach my $img (@images) { - my ($type, $I, $extension) = $img =~ m!([^/]*)(64)?\.([^.]*)$!; + my ($type, undef, $extension) = $img =~ m!([^/]*)(64)?\.([^.]*)$!; if ($img =~ /hd_grub/) { hd_grub($img); @@ -57,18 +56,19 @@ foreach my $img (@images) { } elsif ($img =~ /boot.iso/) { boot_iso($img, \@kernels); } elsif ($extension eq 'rdz') { - initrd($type, $I, "$img-$_") foreach @kernels; + initrd("$img-$_", $_) foreach @kernels; } elsif ($extension eq 'img') { print STDERR "calling boot_img_$arch for $img\n"; - $::{"boot_img_$arch"}->($type, $I, "$img-$_", "all.kernels/$_/vmlinuz") foreach @kernels; + $::{"boot_img_$arch"}->($type, "$img-$_", $_, "all.kernels/$_/vmlinuz") foreach @kernels; rename("$img-$kernels[0]", $img); } else { die "unknown image $img"; } } +# The ascii 15 / Shift In / ^O character before the 0 should not be removed sub syslinux_color { - "0" . { + chr(15) . "0" . { default => '7', blue => '9', green => 'a', @@ -101,7 +101,7 @@ sub syslinux_msg { $tree->[0] eq 'document' or die "bad file $msg_xml_file\n"; my $text = xml_tree2syslinux('default', $tree->[1]); - pack("C*", 0x0E, 0x80, 0x03, 0x00) . "" + "" . $text . join('', @more_text) . "\n" . syslinux_color('red') . "[F1-Help] [F2-Advanced Help]" . syslinux_color('default') . "\n"; } @@ -118,9 +118,9 @@ display help.msg implicit 1 EOF my $header_gfxboot = <<EOF; -gfxboot bootlogo +ui gfxboot.c32 bootlogo label harddisk - localboot 0x80 + com32 chain.c32 hd0 exit EOF my $header_non_gfxboot = <<EOF; F1 help.msg @@ -138,58 +138,33 @@ EOF $header . ($b_gfxboot ? $header_gfxboot : $header_non_gfxboot) . join('', @l); } -sub initrd { - my ($type, $I, $img, $bootsplash_cfg) = @_; - my $stage1_root = $ENV{DEBUGSTAGE1} ? "../mdk-stage1" : "/usr/$lib/drakx-installer-binaries"; - - _ "rm -rf $tmp_initrd"; - mkdir_p("$tmp_initrd$_") foreach qw(/etc /lib /modules /sbin /tmp /var); - symlink "/modules", "$tmp_initrd/lib/modules"; - - symlink "/proc/mounts", "$tmp_initrd/etc/mtab"; - symlink "../tmp", "$tmp_initrd/var/run"; - _ "install -D /usr/share/terminfo/l/linux $tmp_initrd/usr/share/terminfo/l/linux"; - foreach ('pcitable', 'usbtable') { - _ "install -D /usr/share/ldetect-lst/$_.gz $tmp_initrd/usr/share/ldetect-lst/$_.gz"; - } - _ "install -D /usr/share/pci.ids $tmp_initrd/usr/share/pci.ids"; - foreach ("/usr/share/ldetect-lst/fallback-modules.alias", "/lib/module-init-tools/ldetect-lst-modules.alias") { - _ "install -D $_ $tmp_initrd$_"; - } - - _ "install $stage1_root/init $tmp_initrd/"; - foreach ('stage1', 'pppd', 'pppoe') { - _ "install $stage1_root/$_ $tmp_initrd/sbin/"; - } - - if ($arch !~ /ppc|ia64/) { - mkdir_p("$tmp_initrd/etc/pcmcia"); - _ "cp -a /etc/pcmcia/config.opts $tmp_initrd/etc/pcmcia"; - } - { - my ($ext) = $img =~ /rdz-(.*)/ or die "bad initrd name ($img)"; - my $modz = "all.kernels$I/$ext"; - mkdir_p("$tmp_initrd/modules/$ext"); - __ "tar xC $tmp_initrd/modules -f $modz/${type}_modules.tar"; - _ "cp -f $modz/modules.dep $modz/modules.alias modules.description $tmp_initrd/modules/$ext"; - symlink "$ext/$_", "$tmp_initrd/modules/$_" foreach qw(modules.dep modules.description); - } - - if ($ENV{DEBUGSTAGE1}) { - _ "cp -f /usr/bin/busybox $tmp_initrd/sbin"; - symlink "busybox", "$tmp_initrd/sbin/$_" foreach qw(cat chgrp chmod chown chroot chvt clear cp cut date dd df dirname dmesg du echo env false find free grep gunzip gzip halt head id init kill killall klogd linuxrc ln logger ls lsmod mkdir mknod mkswap more mount mv poweroff ps pwd reboot reset rm rmdir sed sleep sh sort swapoff swapon sync syslogd tail tar touch true tty umount uname uniq uptime wc which whoami xargs yes zcat); - } +sub trim { + return $_[0] =~ s/^\s+|\s+$//rg; +} - if ($bootsplash_cfg) { - _ "splash -s -f $bootspash_cfg > $tmp_initrd/bootsplash"; +sub initrd { + my ($img, $kernel) = @_; + my $stage1_binary = $ENV{USE_LOCAL_STAGE1} ? trim(`realpath ../mdk-stage1/stage1`) : ""; + my $init_binary = $ENV{USE_LOCAL_STAGE1} ? trim(`realpath ../mdk-stage1/init`) : ""; + my $modules = " mgainstaller network-legacy nfs "; + my $drivers = `perl ../kernel/modules.pl list_needed_modules $kernel | xargs`; + my $fakedrivers = `perl ../kernel/modules.pl list_fake_modules $kernel | xargs`; + + if ($ENV{DEBUGSTAGE1} || $ENV{BUILD_KA}) { + $modules="$modules busybox "; } + $modules="$modules mgakadeploy " if $ENV{BUILD_KA}; - my $devs = sprintf "ls /dev/{%s}", join(',', qw(console fb0 fd0 loop3 mem null ppp ptyp0 ram3 tty[0-7] ttyp0 ttyS0)); + my $extras = `perl ../kernel/modules.pl list_additional_firmware $kernel | xargs`; + chomp $extras; + my $install_extras = $extras ? "--install '$extras'" : ""; - _ "(cd $tmp_initrd; (find . ; $devs) | cpio -o -c --quiet) | gzip -9 > $img"; - _ "rm -rf $tmp_initrd"; + # TODO if --nofscks and --no-hostonly are switched, dracut gives an error - fix or report upstream + __ "DRAKX_STAGE1_BINARY=$stage1_binary DRAKX_INIT_BINARY=$init_binary DRAKX_FAKE_MODULES='$fakedrivers' dracut --confdir ./dracut.conf.d --add ' $modules ' --add-drivers ' $drivers ' $install_extras '$img' '$kernel'"; + chmod(0644, $img); } + sub entries_append { my ($type) = @_; @@ -202,14 +177,15 @@ sub entries_append { vgahi => "vga=791", text => "text", # patch => "patch $default_vga", - rescue => "rescue", + rescue => "audit=0 rescue", ); my @entries = ( - (map { $_->[0] => "$automatic$default_acpi $_->[1]" } group_by2(@simple_entries)), - noacpi => "$automatic$default_vga acpi=off", + (map { $_->[0] => "$automatic$default_acpi $default_iswmd audit=0 $_->[1]" } group_by2(@simple_entries)), + noacpi => "$automatic$default_vga $default_iswmd audit=0 acpi=off", +# restore => "$automatic$default_vga restore", ); - map { { label => $_->[0], append => join(' ', grep {$_} $default_append, $_->[1]) } } + map { { label => $_->[0], append => join(' ', grep { $_ } $default_append, $_->[1]) } } group_by2(@entries); } @@ -218,13 +194,12 @@ sub syslinux_cfg_all { syslinux_cfg([ (map { - { kernel => 'alt0/vmlinuz', initrd => 'alt0/all.rdz', %$_ }; + { kernel => "$arch/vmlinuz", initrd => "$arch/all.rdz", %$_ }; } entries_append($type)), (map_index { - { label => "alt$::i", kernel => "alt$::i/vmlinuz", initrd => "alt$::i/all.rdz", - append => join(' ', grep {$_} $default_append, $default_acpi, $default_vga) }; + { label => $arch, kernel => "$arch/vmlinuz", initrd => "$arch/all.rdz", + append => join(' ', grep { $_ } $default_append, $default_acpi, $default_vga, $default_iswmd) }; } @kernels), - { label => 'memtest', kernel => 'memtest' }, ], $b_gfxboot); } sub remove_ending_zero { @@ -233,17 +208,16 @@ sub remove_ending_zero { } sub boot_img_i386 { - my ($type, $I, $img, $kernel) = @_; + my ($type, $img, $kernel, $vmlinuz) = @_; _ "rm -rf $tmp_mnt"; mkdir $tmp_mnt; - _ "cat $kernel > $tmp_mnt/vmlinuz"; + _ "cat $vmlinuz > $tmp_mnt/vmlinuz"; output("$tmp_mnt/help.msg", syslinux_msg('help.msg.xml')); output("$tmp_mnt/advanced.msg", syslinux_msg('advanced.msg.xml')); (my $rdz = $img) =~ s/\.img/.rdz/; - (my $initrd_type = $type) =~ s/-changedisk//; - initrd($initrd_type, $I, $rdz); + initrd($rdz, $kernel); my $short_type = substr($type, 0, 8); output("$tmp_mnt/syslinux.cfg", @@ -254,10 +228,12 @@ sub boot_img_i386 { _ "cp -f $rdz $tmp_mnt/$short_type.rdz"; unlink $rdz; - my $size = max(chomp_(`du -s -k $tmp_mnt`) + 50, 1440); - _ "dd if=/dev/zero of=$img bs=1k count=$size"; + # mtools wants the image to be a power of 32. + my $syslinux_overhead = 32 * 16; + my $size = max(ceil(chomp_(`du -s -k $tmp_mnt`) / 32) * 32 + $syslinux_overhead, 1440); - _ "mkdosfs-with-dir $tmp_mnt $img"; + _ "/sbin/mkdosfs -C $img $size"; + _ "mcopy -i $img $tmp_mnt/* ::"; _ "syslinux $img"; _ "rm -rf $tmp_mnt"; } @@ -265,398 +241,6 @@ sub boot_img_i386 { # alias to x86 variant, slightly bigger with images though sub boot_img_x86_64 { &boot_img_i386 } -sub boot_img_alpha { - my ($type, $I, $img) = @_; - - __ "$sudo umount $tmp_mnt 2>/dev/null"; - _ "dd if=/dev/zero of=$img bs=1k count=1440"; - mke2fs($img); - _ "/sbin/e2writeboot $img /boot/bootlx"; - _ "$sudo mount -t ext2 $img $tmp_mnt -o loop"; - _ "cp -f vmlinux.gz $tmp_mnt"; - -f "$type.rdz" ? _ "cp -f $type.rdz $tmp_mnt" : initrd($type, $I, "$tmp_mnt/$type.rdz"); - - mkdir "$tmp_mnt/etc", 0777; - output("$tmp_mnt/etc/aboot.conf", -"0:vmlinux.gz initrd=$type.rdz rw $default_append $type -1:vmlinux.gz initrd=$type.rdz rw $default_append text $type -"); - _ "sync"; - _ "df $tmp_mnt"; -} - -sub boot_img_ia64 { - my ($type, $_I, $img, $kernel) = @_; - my $rdz = $img; $rdz =~ s/\.img/.rdz/; - - __ "$sudo umount $tmp_mnt 2>/dev/null"; - _ "dd if=/dev/zero of=$img bs=1k count=16384"; - _ "mkdosfs $img"; - _ "$sudo mount -t vfat $img $tmp_mnt -o loop,umask=000"; - _ "$sudo cp -f $kernel $tmp_mnt/vmlinux"; - _ "cp -f $rdz $tmp_mnt/$type.rdz"; - _ "$sudo cp -f tools/ia64/elilo.efi $tmp_mnt"; - output("$tmp_mnt/elilo.conf", qq( -prompt -timeout=50 - -image=vmlinux - label=linux - initrd=$type.rdz - append=" ramdisk_size=120000" - read-only - -image=vmlinux - label=rescue - initrd=$type.rdz - append=" rescue ramdisk_size=120000" -")); - _ "sync"; - _ "df $tmp_mnt"; - -} - -sub boot_img_sparc { - my ($type, $I, $_img) = @_; - if ($type =~ /^live(.*)/) { - #- hack to produce directly into /export the needed file for cdrom boot. - my $dir = "/export"; - my $boot = "boot"; #- non-absolute pathname only! - - _ "mkdir -p $dir/$boot"; - _ "cp -f /boot/cd.b /boot/second.b $dir/$boot"; - _ "cp -f vmlinux$1 $dir/$boot/vmlinux$1"; - -f "live$1.rdz" ? _ "cp -f live$1.rdz $dir/$boot" : initrd($type, $I, "$dir/$boot/live$1.rdz"); - - output("$dir/$boot/silo.conf", qq( -partition=1 -default=linux -timeout=100 -read-write -message=/$boot/boot.msg -image="cat /$boot/boot.msg" - label=1 - single-key -image="cat /$boot/general.msg" - label=2 - single-key -image="cat /$boot/expert.msg" - label=3 - single-key -image="cat /$boot/rescue.msg" - label=4 - single-key -image="cat /$boot/kickit.msg" - label=5 - single-key -image="cat /$boot/param.msg" - label=6 - single-key -image[sun4c,sun4d,sun4m]=/$boot/vmlinux - label=linux - alias=install - initrd=/$boot/live.rdz - append="ramdisk_size=128000" -image[sun4c,sun4d,sun4m]=/$boot/vmlinux - label=text - initrd=/$boot/live.rdz - append="ramdisk_size=128000 text" -image[sun4c,sun4d,sun4m]=/$boot/vmlinux - label=expert - initrd=/$boot/live.rdz - append="ramdisk_size=128000 expert" -image[sun4c,sun4d,sun4m]=/$boot/vmlinux - label=ks - initrd=/$boot/live.rdz - append="ramdisk_size=128000 ks" -image[sun4c,sun4d,sun4m]=/$boot/vmlinux - label=rescue - initrd=/$boot/live.rdz - append="ramdisk_size=128000 rescue" -image[sun4u]=/$boot/vmlinux64 - label=linux - alias=install - initrd=/$boot/live64.rdz - append="ramdisk_size=128000" -image[sun4u]=/$boot/vmlinux64 - label=text - initrd=/$boot/live64.rdz - append="ramdisk_size=128000 text" -image[sun4u]=/$boot/vmlinux64 - label=expert - initrd=/$boot/live64.rdz - append="ramdisk_size=128000 expert" -image[sun4u]=/$boot/vmlinux64 - label=ks - initrd=/$boot/live64.rdz - append="ramdisk_size=128000 ks" -image[sun4u]=/$boot/vmlinux64 - label=rescue - initrd=/$boot/live64.rdz - append="ramdisk_size=128000 rescue" -")); - - output("$dir/$boot/README", " -To Build a Bootable CD-ROM, try: - genisoimage -R -o t.iso -s /$boot/silo.conf /export -"); - } elsif ($type =~ /^tftprd(.*)/) { - my $dir = "/export"; - my $boot = "images"; - my $setarch = $1 ? "sparc64" : "sparc32"; - - _ "mkdir -p $dir/$boot"; - -f "$type.rdz" or initrd($type, $I, "$type.rdz"); - _ "cp -f vmlinux$1.aout $dir/$boot/$type.img"; - _ "$setarch kernel$1/src/arch/sparc$1/boot/piggyback $dir/$boot/$type.img kernel$1/boot/System.map $type.rdz"; - } elsif ($type =~ /^tftp(.*)/) { - my $dir = "/export"; - my $boot = "images"; - - _ "mkdir -p $dir/$boot"; - _ "cp -f vmlinux$1.aout $dir/$boot/$type.img"; - } else { - my $dir = "floppy"; - __ "$sudo umount $tmp_mnt 2>/dev/null"; - _ "rm -rf $dir"; - _ "mkdir -p $dir"; - _ "cp -f /boot/fd.b /boot/second.b $dir"; - _ "cp -f vmlinuz$I $dir/vmlinux$I.gz"; - -f "$type.rdz" ? _ "cp -f $type.rdz $dir" : initrd($type, $I, "$dir/$type.rdz"); - - output("$dir/boot.msg", " -Welcome to Mandriva Linux 7.1 - -Press <Enter> to install or upgrade a system 7mMandriva Linux7m -"); - - output("$dir/silo.conf", qq( -partition=1 -default=linux -timeout=100 -read-write -message=/boot.msg -image=/vmlinux$I.gz - label=linux - initrd=/$type.rdz - append="ramdisk_size=128000 $type" -")); - _ "genromfs -d $dir -f /dev/ram -A 2048,/.. -a 512 -V 'DrakX boot disk'"; - _ "$sudo mount -t romfs /dev/ram $tmp_mnt"; - _ "silo -r $tmp_mnt -F -i /fd.b -b /second.b -C /silo.conf"; - _ "$sudo umount $tmp_mnt"; - _ "dd if=/dev/ram of=$type.img bs=1440k count=1"; - _ "sync"; - _ "$sudo mount -t romfs /dev/ram $tmp_mnt"; - _ "df $tmp_mnt"; - } -} - -sub boot_img_ppc() { - my ($type, $I, $img, $kernel) = @_; - (my $rdz = $img) =~ s/\.img/.rdz/; - foreach (glob("all.kernels/*")) { - my $ext = basename($_); - if ($ext =~ /legacy/) { - initrd("all", $I, "images/all.rdz-$ext"); - _ "mv images/all.rdz-$ext images/all.rdz-legacy"; - _ "cp $_/vmlinuz images/vmlinux-legacy"; - } - elsif ($ext =~ /2.6/) { - initrd("all", $I, "images/all.rdz-$ext"); - _ "mv images/all.rdz-$ext images/all.rdz"; - _ "cp $_/vmlinuz images/vmlinux"; - } - } - _ "cp -f /usr/lib/yaboot/yaboot images/yaboot"; - - output("images/ofboot.b", '<CHRP-BOOT> -<COMPATIBLE> -MacRISC -</COMPATIBLE> -<DESCRIPTION> -Mandriva Linux PPC bootloader -</DESCRIPTION> -<BOOT-SCRIPT> -" screen" output -load-base release-load-area -dev screen -" "(0000000000aa00aa0000aaaaaa0000aa00aaaa5500aaaaaa)" drop 0 8 set-colors -" "(5555555555ff55ff5555ffffff5555ff55ffffff55ffffff)" drop 8 8 set-colors -device-end -3 to foreground-color -0 to background-color -" "(0C)" fb8-write drop -" Booting Mandriva Linux PPC..." fb8-write drop 100 ms -boot cd:,\boot\yaboot -</BOOT-SCRIPT> -<OS-BADGE-ICONS> -1010 -000000000000F8FEACF6000000000000 -0000000000F5FFFFFEFEF50000000000 -00000000002BFAFEFAFCF70000000000 -0000000000F65D5857812B0000000000 -0000000000F5350B2F88560000000000 -0000000000F6335708F8FE0000000000 -00000000005600F600F5FD8100000000 -00000000F9F8000000F5FAFFF8000000 -000000008100F5F50000F6FEFE000000 -000000F8F700F500F50000FCFFF70000 -00000088F70000F50000F5FCFF2B0000 -0000002F582A00F5000008ADE02C0000 -00090B0A35A62B0000002D3B350A0000 -000A0A0B0B3BF60000505E0B0A0B0A00 -002E350B0B2F87FAFCF45F0B2E090000 -00000007335FF82BF72B575907000000 -000000000000ACFFFF81000000000000 -000000000081FFFFFFFF810000000000 -0000000000FBFFFFFFFFAC0000000000 -000000000081DFDFDFFFFB0000000000 -000000000081DD5F83FFFD0000000000 -000000000081DDDF5EACFF0000000000 -0000000000FDF981F981FFFF00000000 -00000000FFACF9F9F981FFFFAC000000 -00000000FFF98181F9F981FFFF000000 -000000ACACF981F981F9F9FFFFAC0000 -000000FFACF9F981F9F981FFFFFB0000 -00000083DFFBF981F9F95EFFFFFC0000 -005F5F5FDDFFFBF9F9F983DDDD5F0000 -005F5F5F5FDD81F9F9E7DF5F5F5F5F00 -0083DD5F5F83FFFFFFFFDF5F835F0000 -000000FBDDDFACFBACFBDFDFFB000000 -000000000000FFFFFFFF000000000000 -0000000000FFFFFFFFFFFF0000000000 -0000000000FFFFFFFFFFFF0000000000 -0000000000FFFFFFFFFFFF0000000000 -0000000000FFFFFFFFFFFF0000000000 -0000000000FFFFFFFFFFFF0000000000 -0000000000FFFFFFFFFFFFFF00000000 -00000000FFFFFFFFFFFFFFFFFF000000 -00000000FFFFFFFFFFFFFFFFFF000000 -000000FFFFFFFFFFFFFFFFFFFFFF0000 -000000FFFFFFFFFFFFFFFFFFFFFF0000 -000000FFFFFFFFFFFFFFFFFFFFFF0000 -00FFFFFFFFFFFFFFFFFFFFFFFFFF0000 -00FFFFFFFFFFFFFFFFFFFFFFFFFFFF00 -00FFFFFFFFFFFFFFFFFFFFFFFFFF0000 -000000FFFFFFFFFFFFFFFFFFFF000000 -</OS-BADGE-ICONS> -</CHRP-BOOT> -'); - - output("images/yaboot.conf", ' -init-message = "\nWelcome to Mandriva Linux PPC!\nHit <TAB> for boot options.\n\n" -timeout = 150 -device=cd: -default = install-gui -message=/boot/yaboot.msg - -image = /boot/vmlinux - label = install-gui - initrd = /boot/all.gz - initrd-size = 34000 - append = " ramdisk_size=128000" - -image = /boot/vmlinux-power4 - label = install-gui-power4 - initrd = /boot/all-power4.gz - initrd-size = 34000 - append = " ramdisk_size=128000" - -image = /boot/vmlinux - label = install-text - initrd = /boot/all.gz - initrd-size = 34000 - append = " text ramdisk_size=128000" - -image = /boot/vmlinux-power4 - label = install-text-power4 - initrd = /boot/all-power4.gz - initrd-size = 34000 - append = " text ramdisk_size=128000" - -image = /boot/vmlinux - label = install-gui-old - initrd = /boot/all.gz - initrd-size = 34000 - append = " gui-old ramdisk_size=128000" - -image = /boot/vmlinux-power4 - label = install-gui-old-power4 - initrd = /boot/all-power4.gz - initrd-size = 34000 - append = " gui-old ramdisk_size=128000" - -image = enet:0,vmlinux - label = install-net - initrd = enet:0,all.gz - initrd-size = 34000 - append = " ramdisk_size=128000" - -image = enet:0,vmlinux-power4 - label = install-net-power4 - initrd = enet:0,all-power4.gz - initrd-size = 34000 - append = " ramdisk_size=128000" - -image = enet:0,vmlinux - label = install-net-text - initrd = enet:0,all.gz - initrd-size = 34000 - append = " text ramdisk_size=128000" - -image = enet:0,vmlinux-power4 - label = install-net-text-power4 - initrd = enet:0,all-power4.gz - initrd-size = 34000 - append = " text ramdisk_size=128000" - -image = /boot/vmlinux - label = rescue - initrd = /boot/all.gz - initrd-size = 34000 - append = " rescue ramdisk_size=128000" - -image = /boot/vmlinux-power4 - label = rescue-power4 - initrd = /boot/all-power4.gz - initrd-size = 34000 - append = " rescue ramdisk_size=128000" - -image = enet:0,vmlinux - label = rescue-net - initrd = enet:0,all.gz - initrd-size = 34000 - append = " rescue ramdisk_size=128000" - -image = enet:0,vmlinux-power4 - label = rescue-net-power4 - initrd = enet:0,all-power4.gz - initrd-size = 34000 - append = " rescue ramdisk_size=128000" -'); - - output("images/yaboot.msg", ' -Thanks for choosing Mandriva Linux PPC. The following is a short -explanation of the various options for booting the install CD. - -All options ending with "-power4" use the BOOT kernel for ppc 9xx and POWER4. -The default syntax with no suffix uses the BOOT kernel for ppc 6xx 7xx and 7xxx. -The default if you just hit enter is "install-gui". - -install-gui: uses Xorg fbdev mode -install-text: text based install -install-net: allows you to use a minimal boot CD, - pulling the rest of the install from - a network server -install-net-text: text mode network install -rescue: boots the rescue image -rescue-net: boots the rescue image from a network server - -'); - -} - sub VERSION { my ($kernels) = @_; @@ -673,20 +257,13 @@ sub syslinux_all_files { @$kernels or die "syslinux_all_files: no kernel\n"; - $default_vga =~ /788/ or die 'we rely on vga=788 for bootsplash'; - my $theme = $ENV{THEME} || 'Mandriva-Free'; - my $bootspash_cfg = "/etc/bootsplash/themes/$theme/config/bootsplash-800x600.cfg"; - -e $bootspash_cfg or die "can't find $bootspash_cfg"; - each_index { - mkdir "$dir/alt$::i", 0777; - _ "cp all.kernels/$_/vmlinuz $dir/alt$::i"; - initrd('all', '', "images/all.rdz-$_", $bootspash_cfg); - rename("images/all.rdz-$_", "$dir/alt$::i/all.rdz"); + mkdir "$dir/$arch", 0777; + _ "cp all.kernels/$_/vmlinuz $dir/$arch"; + initrd("images/all.rdz-$_", $_); + rename("images/all.rdz-$_", "$dir/$arch/all.rdz"); } @$kernels; - _ "install -m 644 -D /boot/memtest* $dir/memtest"; - output("$dir/help.msg", syslinux_msg('help.msg.xml')); output("$dir/advanced.msg", syslinux_msg('advanced.msg.xml', "\nYou can choose the following kernels :\n", @@ -699,6 +276,14 @@ sub isolinux { syslinux_all_files('isolinux', $kernels); _ "cp $isolinux_bin isolinux/isolinux.bin"; + _ "cp /usr/lib/syslinux/ifcpu.c32 isolinux/ifcpu.c32"; + _ "cp /usr/lib/syslinux/ldlinux.c32 isolinux/ldlinux.c32"; + _ "cp /usr/lib/syslinux/libcom32.c32 isolinux/libcom32.c32"; + _ "cp /usr/lib/syslinux/libgpl.c32 isolinux/libgpl.c32"; + _ "cp /usr/lib/syslinux/libmenu.c32 isolinux/libmenu.c32"; + _ "cp /usr/lib/syslinux/libutil.c32 isolinux/libutil.c32"; + _ "cp /usr/lib/syslinux/gfxboot.c32 isolinux/gfxboot.c32"; + _ "cp /usr/lib/syslinux/chain.c32 isolinux/chain.c32"; output("isolinux/isolinux.cfg", syslinux_cfg_all('cdrom', 1)); xbox_stage1() if arch() =~ /i.86/; @@ -711,7 +296,7 @@ sub xbox_stage1() { eval { rm_rf($dir) }; mkdir_p($dir); _ "cp all.kernels/$xbox_kernel/vmlinuz $dir"; - initrd('all', '', "images/all.rdz-$xbox_kernel"); + initrd("images/all.rdz-$xbox_kernel", $xbox_kernel); rename("images/all.rdz-$xbox_kernel", "$dir/initrd"); _ "cp /usr/share/cromwell/xromwell-installer.xbe $dir/default.xbe"; @@ -730,15 +315,60 @@ sub boot_iso { output('.boot_iso/VERSION', VERSION($kernels)); # for the boot iso, use standard isolinux - _ "cp /usr/lib/syslinux/isolinux.bin .boot_iso/isolinux/isolinux.bin"; + _ "cp $isolinux_bin .boot_iso/isolinux/isolinux.bin"; + _ "cp /usr/lib/syslinux/ifcpu.c32 .boot_iso/isolinux/ifcpu.c32"; + _ "cp /usr/lib/syslinux/ldlinux.c32 .boot_iso/isolinux/ldlinux.c32"; + _ "cp /usr/lib/syslinux/libcom32.c32 .boot_iso/isolinux/libcom32.c32"; + _ "cp /usr/lib/syslinux/libgpl.c32 .boot_iso/isolinux/libgpl.c32"; + _ "cp /usr/lib/syslinux/libmenu.c32 .boot_iso/isolinux/libmenu.c32"; + _ "cp /usr/lib/syslinux/libutil.c32 .boot_iso/isolinux/libutil.c32"; + _ "cp /usr/lib/syslinux/chain.c32 .boot_iso/isolinux/chain.c32"; my $with_gfxboot = 0; - _ "cp /usr/share/gfxboot/themes/Mandriva/install/* .boot_iso/isolinux" if $with_gfxboot; -# _ "cp /home/pixel/cooker/soft/theme/mandriva-gfxboot-theme/inst/* .boot_iso/isolinux" if $with_gfxboot; + _ "cp /usr/share/gfxboot/themes/Mageia/install/* .boot_iso/isolinux" if $with_gfxboot; +# _ "cp /home/pixel/cooker/soft/theme/mandriva-gfxboot-theme/inst/* .boot_iso/isolinux" if $with_gfxboot; + #_ "cp /home/teuf/mdv/src/mandriva-gfxboot-theme/inst/* .boot_iso/isolinux" if $with_gfxboot; + _ "cp /usr/lib/syslinux/gfxboot.c32 .boot_iso/isolinux/gfxboot.c32" if $with_gfxboot; output('.boot_iso/isolinux/isolinux.cfg', syslinux_cfg_all('', $with_gfxboot)); - _ "genisoimage -r -f -J -cache-inodes -V 'Mdk Boot ISO' -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o $iso .boot_iso"; + if ($ENV{BOOT_AUTOMATIC_METHOD}) { + _ "sed -i 's#\\(append .*\\)\\(splash quiet\\|rescue\\)\$#\\1\\2 automatic=$ENV{BOOT_AUTOMATIC_METHOD}#' .boot_iso/isolinux/isolinux.cfg"; + } + + my $arch = arch(); + my $options = "-J -joliet-long -r -v -T -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table"; + my $cmd = "xorriso -as mkisofs -U -A 'Mageia-$ENV{DISTRIB_VERSION}-$arch-netinstall' -V 'Mageia-$ENV{DISTRIB_VERSION}-$arch-netinstall' -volset 'Mageia-$ENV{DISTRIB_VERSION}-$arch' $options"; + # create efi stuff on the fly + if ($arch =~ /x86_64/) { + _ "mkdir -p .boot_iso/EFI/BOOT/"; + # create efi loader + my $efi_core = "configfile normal boot linux loadenv ls reboot search search_label"; + my $efi_part_fs = "part_msdos part_gpt part_apple fat iso9660 udf"; + my $efi_gfx = "gfxmenu gfxterm efi_gop efi_uga video video_bochs video_cirrus video_fb font png"; + _ "/usr/bin/grub2-mkimage --prefix='/EFI/BOOT' -O x86_64-efi -o .boot_iso/EFI/BOOT/bootx64.efi $efi_core $efi_part_fs $efi_gfx"; + _ "cp -f grub2.config .boot_iso/EFI/BOOT/grub.cfg"; + if ($ENV{BOOT_AUTOMATIC_METHOD}) { + _ "sed -i 's#\\(linux .*\\)#\\1 automatic=$ENV{BOOT_AUTOMATIC_METHOD}#' .boot_iso/EFI/BOOT/grub.cfg"; + _ "sed -i 's#timeout=[0-9]*#timeout=1#' .boot_iso/EFI/BOOT/grub.cfg"; + } + # add theme + _ "cp -r -L /boot/grub2/themes .boot_iso/EFI/BOOT/"; + _ "cp -f grub2.theme .boot_iso/EFI/BOOT/themes/maggy/theme.txt"; + _ "mkdir -p .boot_iso/EFI/BOOT/fonts"; + _ "cp -f /usr/share/grub/unicode.pf2 .boot_iso/EFI/BOOT/fonts/"; + # create efiboot.img, mtools wants the image to be a power of 32. + my $efisize = ceil(ceil(chomp_(`du -s -k .boot_iso/EFI`) / 1024) * 1024 / 32) * 32; + my $efi_img = ".boot_iso/isolinux/efiboot.img"; + _ "/sbin/mkdosfs -F12 -C $efi_img $efisize"; + _ "mcopy -s -i $efi_img .boot_iso/EFI ::"; + # create iso + _ "$cmd -eltorito-alt-boot -e isolinux/efiboot.img -no-emul-boot -o $iso .boot_iso"; + _ "isohybrid -u $iso"; + } else { + _ "$cmd -o $iso .boot_iso"; + _ "isohybrid -o 1 $iso"; + } rm_rf('.boot_iso'); } @@ -746,11 +376,11 @@ sub hd_grub { my ($img) = @_; my $mapfile = '/tmp/device.map.tmp'; - my ($grub_dir) = glob("/lib/grub/*-*"); + my ($grub_dir) = glob("/lib/grub/*-mageia"); my @grub_files = map { "$grub_dir/$_" } qw(stage1 stage2); - my $size = 40_000 + sum(map { -s $_ } @grub_files); - _ "dd if=/dev/zero of=$img bs=1 count=$size"; + # mtools wants the image to be a power of 32. + my $size = ceil((40_000 + sum(map { -s $_ } @grub_files)) / 32 / 1024) * 32; _ "rm -rf $tmp_mnt"; mkdir $tmp_mnt; _ "cp @grub_files $tmp_mnt"; @@ -760,30 +390,31 @@ timeout 10 default 0 fallback 1 -title Mandriva Linux Install +title Mageia Install root (hd0,0) -kernel /cooker/isolinux/alt0/vmlinuz $default_append $default_acpi $default_vga automatic=method:disk -initrd /cooker/isolinux/alt0/all.rdz +kernel /cauldron/isolinux/alt0/vmlinuz $default_append $default_acpi $default_vga $default_iswmd automatic=method:disk +initrd /cauldron/isolinux/alt0/all.rdz title Help pause To display the help, press <space> until you reach "HELP END" pause . -pause Please see http://qa.mandriva.com/hd_grub.cgi for a friendlier solution +pause Please see https://doc.mageia.org/ for a friendlier solution pause . -pause To specify the location where Mandriva Linux is copied, -pause choose "Mandriva Linux Install", and press "e". +pause To specify the location where Mageia is copied, +pause choose "Mageia Install", and press "e". pause Then change "root (hd0,0)". FYI: pause - (hd0,0) is the first partition on first bios hard drive (usually hda1) pause - (hd0,4) is the first extended partition (usually hda5) pause - (hd1,0) is the first partition on second bios hard drive -pause Replace /cooker to suits the directory containing Mandriva Linux +pause Replace /cauldron to suit the directory containing Mageia pause . pause HELP END EOF - _ "mkdosfs-with-dir $tmp_mnt $img"; + _ "/sbin/mkdosfs -C $img $size"; + _ "mcopy -i $img $tmp_mnt/* ::"; _ "rm -rf $tmp_mnt"; output($mapfile, "(fd0) $img\n"); diff --git a/images/update_kernel b/images/update_kernel index 9429a209a..e003f457b 100755 --- a/images/update_kernel +++ b/images/update_kernel @@ -11,29 +11,20 @@ use lib '../kernel'; use MDK::Common; use list_modules; -(my $karch = arch()) =~ s/^i.86$/i586/; my $rpm = 'rpm --nosignature'; -my $MOVE = $ARGV[0] eq '--move' && shift; - -@ARGV or die "usage: ./update_kernel [--move] (<kernel rpm> ... | <installed kernel name> ...)\n"; +@ARGV or die "usage: ./update_kernel <installed kernel name> ...\n"; eval { rm_rf('all.kernels') }; #- remove old things mkdir 'all.kernels'; my @kernels = map { my $kern_ver = rpm2version($_); - if (/\.rpm$/) { - extract_kernel($_, $kern_ver); - } else { extract_installed_rpm('', $kern_ver); - } $kern_ver; } @ARGV; -sys('cp', '-f', "all.kernels/$kernels[0]/modules.description", '.'); - output('all.kernels/.list', map { "$_\n" } @kernels); sub system_verbose { print join(' ', @_), "\n"; system(@_) } @@ -45,39 +36,10 @@ sub rpm2version { `$rpm $opt $kernel_rpm` =~ m!/boot/vmlinuz-(.*)! && $1 or die "can't find vmlinuz in $kernel_rpm (is it installed?)\n"; } -sub extract_kernel { - my ($kernel_rpm, $kern_ver) = @_; - - my $dir = "all.kernels/$kern_ver"; - - warn "Extracting kernel $kern_ver\n"; - - eval { rm_rf($dir) }; - mkdir_p("$dir/modules"); - sys("rpm2cpio $kernel_rpm | (cd $dir ; cpio -id)"); - - extract_installed_rpm($dir, $kern_ver); - - eval { rm_rf("$dir$_") } foreach qw(/boot /lib /usr); -} - sub extract_installed_rpm { my ($installed_dir, $kern_ver) = @_; my $local_dir = "all.kernels/$kern_ver"; - mkdir_p("$local_dir/modules"); + mkdir_p($local_dir); sys('cp', "$installed_dir/boot/vmlinuz-$kern_ver", "$local_dir/vmlinuz"); - sys("cp $installed_dir/lib/modules/$kern_ver/modules.* $local_dir"); - - open(my $F, "find $installed_dir/lib/modules/$kern_ver -name '*.ko.gz' |"); - my $file; while ($file = <$F>) { - chomp($file); - system('cp', $file, "$local_dir/modules/" . basename($file)) == 0 - or warn "conflict for $file\n"; - } - - sys('perl', '../kernel/modules.pl', 'remove_unneeded_modules', $kern_ver); - sys('perl', '../kernel/modules.pl', 'make_modules_per_image', $kern_ver); - - rm_rf("$local_dir/modules"); } |
