diff options
Diffstat (limited to 'images')
| -rw-r--r-- | images/.perl_checker | 1 | ||||
| -rw-r--r-- | images/Makefile | 50 | ||||
| -rw-r--r-- | images/NEWS | 669 | ||||
| -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 | 651 | ||||
| -rwxr-xr-x | images/update_kernel | 39 |
9 files changed, 892 insertions, 591 deletions
diff --git a/images/.perl_checker b/images/.perl_checker deleted file mode 100644 index 6d167b870..000000000 --- a/images/.perl_checker +++ /dev/null @@ -1 +0,0 @@ -XML::Parser diff --git a/images/Makefile b/images/Makefile index 614b8a0cb..9dee2d409 100644 --- a/images/Makefile +++ b/images/Makefile @@ -1,50 +1,42 @@ include ../Makefile.config -VERSION=1.46 +VERSION=2.93 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) - @if [ -e ".svn" ]; then \ - $(MAKE) dist-svn; \ - elif [ -e "../.git" ]; then \ - $(MAKE) dist-git; \ - else \ - echo "Unknown SCM (not SVN nor GIT)";\ - exit 1; \ - fi; - $(info $(PRODUCT)-$(VERSION).tar.bz2 is ready) - -dist-svn: - mkdir -p $(PRODUCT)-$(VERSION) - svn export -q -rBASE . $(PRODUCT)-$(VERSION)/images - svn export -q -rBASE ../kernel $(PRODUCT)-$(VERSION)/kernel - cp ../Makefile.config $(PRODUCT)-$(VERSION)/ - tar cfj $(PRODUCT)-$(VERSION).tar.bz2 $(PRODUCT)-$(VERSION) - rm -rf $(PRODUCT)-$(VERSION) - -dist-git: - @cd ..; git archive --prefix=$(PRODUCT)-$(VERSION)/ HEAD images kernel Makefile.config | bzip2 >images/$(PRODUCT)-$(VERSION).tar.bz2; + @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: @@ -55,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 3c3582f56..749af6570 100644 --- a/images/NEWS +++ b/images/NEWS @@ -1,3 +1,672 @@ +Version 2.93 - 25 October 2025 by Jani Välimaa +- 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 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 359909da2..6953b02df 100755 --- a/images/make_boot_img +++ b/images/make_boot_img @@ -3,27 +3,28 @@ 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"; @@ -36,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); @@ -58,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', @@ -102,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"; } @@ -119,9 +118,9 @@ display help.msg implicit 1 EOF my $header_gfxboot = <<EOF; -ui gfxboot.com bootlogo +ui gfxboot.c32 bootlogo label harddisk - localboot 0x80 + com32 chain.c32 hd0 exit EOF my $header_non_gfxboot = <<EOF; F1 help.msg @@ -139,84 +138,33 @@ EOF $header . ($b_gfxboot ? $header_gfxboot : $header_non_gfxboot) . join('', @l); } -sub initrd { - my ($type, $I, $img) = @_; - my $stage1_root = $ENV{DEBUGSTAGE1} ? "../mdk-stage1" : "/usr/$lib/drakx-installer-binaries"; - my ($ext) = $img =~ /rdz-(.*)/ or die "bad initrd name ($img)"; - - _ "rm -rf $tmp_initrd"; - mkdir_p("$tmp_initrd$_") foreach qw(/etc /firmware /lib /modules /sbin /tmp /var); - symlink "../modules", "$tmp_initrd/lib/modules"; - symlink "../firmware", "$tmp_initrd/lib/firmware"; - - 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$_"; - } - foreach my $firm (glob_("all.kernels$I/$ext/firmware/*")) { - my $dest=$firm; - $dest =~ s|all.kernels$I/$ext/||; - _ "cp -a $firm $tmp_initrd/$dest"; - }; - - output("$tmp_initrd/hotplug", q{#!/bin/sh -e -if [ "$SUBSYSTEM" = firmware ] && [ "$ACTION" = add ] && [ -n "$FIRMWARE" ] ; then - if [ ! -e /sys$DEVPATH/loading ]; then - exit 1 - fi - if [ -e "/lib/firmware/$FIRMWARE" ]; then - echo 1 > /sys$DEVPATH/loading - cat "/lib/firmware/$FIRMWARE" > /sys$DEVPATH/data - echo 0 > /sys$DEVPATH/loading - exit 0 - fi - echo -1 > /sys$DEVPATH/loading - exit 1 -fi -}); - _ "chmod 755 $tmp_initrd/hotplug"; - symlink "../hotplug", "$tmp_initrd/sbin/hotplug"; - _ "install $stage1_root/init $tmp_initrd/"; - foreach ('stage1', 'pppd', 'pppoe') { - _ "install $stage1_root/$_ $tmp_initrd/sbin/"; - } +sub trim { + return $_[0] =~ s/^\s+|\s+$//rg; +} - if ($arch !~ /ppc|ia64/) { - mkdir_p("$tmp_initrd/etc/pcmcia"); - _ "cp -a /etc/pcmcia/config.opts $tmp_initrd/etc/pcmcia"; - } - { - my $modz = "all.kernels$I/$ext"; - mkdir_p("$tmp_initrd/modules/$ext"); - __ "tar xC $tmp_initrd/modules/$ext -f $modz/${type}_modules.tar"; - _ "depmod -b $tmp_initrd $ext"; - # depmod keeps only available modules in modules.alias, but we want them all - _ "cp -f $modz/modules.alias $modz/modules.description $tmp_initrd/modules/$ext"; - } - # ka deploy need some files in all.rdz - { - mkdir_p("$tmp_initrd/$_") foreach qw(dev ka proc var/tmp); - symlink("/sbin", "$tmp_initrd/bin"); - cp_af("/usr/bin/ka-d-client", "$tmp_initrd/ka/ka-d-client"); - cp_af("/usr/bin/mke2fs_diet", "$tmp_initrd/sbin/mke2fs"); - cp_af("/usr/bin/busybox", "$tmp_initrd/sbin/busybox"); - my @funct = map { /functions:/ .. /^$/ ? do { s/\s//g; split /,/ } : () } `busybox`; - shift @funct; - symlink('busybox', $tmp_initrd . "/sbin/$_") foreach @funct; +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 ptmx ptyp0 ram3 random tty[0-7] ttyp0 ttyS0 urandom)); + 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) = @_; @@ -229,12 +177,12 @@ 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", - restore => "$automatic$default_vga restore", + (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]) } } @@ -246,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 { @@ -261,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", @@ -282,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"; } @@ -293,397 +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) = @_; - 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) = @_; @@ -700,18 +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'; - each_index { - mkdir "$dir/alt$::i", 0777; - _ "cp all.kernels/$_/vmlinuz $dir/alt$::i"; - initrd('all', '', "images/all.rdz-$_"); - 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", @@ -724,7 +276,14 @@ sub isolinux { syslinux_all_files('isolinux', $kernels); _ "cp $isolinux_bin isolinux/isolinux.bin"; - _ "cp /usr/lib/syslinux/gfxboot.com isolinux/gfxboot.com"; + _ "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/; @@ -737,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"; @@ -756,17 +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 /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.com .boot_iso/isolinux/gfxboot.com" 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 'Mdv 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'); } @@ -774,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"; @@ -788,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 37084b39f..e003f457b 100755 --- a/images/update_kernel +++ b/images/update_kernel @@ -11,22 +11,17 @@ use lib '../kernel'; use MDK::Common; use list_modules; -(my $karch = arch()) =~ s/^i.86$/i586/; my $rpm = 'rpm --nosignature'; -@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; @@ -41,40 +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', 'get_firmwares', $kern_ver); - sys('perl', '../kernel/modules.pl', 'make_modules_per_image', $kern_ver); - - rm_rf("$local_dir/modules"); } |
