summaryrefslogtreecommitdiffstats
path: root/images
diff options
context:
space:
mode:
Diffstat (limited to 'images')
-rw-r--r--images/.perl_checker1
-rw-r--r--images/Makefile50
-rw-r--r--images/NEWS669
-rw-r--r--images/dracut.conf.d/01-dist.conf4
-rw-r--r--images/grub2.config33
-rw-r--r--images/grub2.theme34
-rw-r--r--images/help.msg.xml2
-rwxr-xr-ximages/make_boot_img651
-rwxr-xr-ximages/update_kernel39
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>&lt;Enter&gt;</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");
}