Commit Graph

61 Commits

Author SHA1 Message Date
Anton Midyukov
37f5fbca95 stage2: copy initrd instead full*.cz, if that is not available
In the future, it is planned building iso without propagator.
2021-04-12 23:13:57 +07:00
Anton Midyukov
3259b2faa8 initrd-propagator: Select the propagator as a separate feature 2021-04-12 23:13:57 +07:00
Anton Midyukov
d9dca6cb1a doc, grub, stage1, stage2: Add support multiple kernels for grub only
At the moment, the ability to select the kernel with which to boot is
implemented only for grub (grub-pc, grub-efi, ieee1275boot).
note that renamed STAGE1_KFLAVOUR to STAGE1_KFLAVOURS, as multiple
kernels can now be added.
2021-04-12 23:13:47 +07:00
Anton Midyukov
1f4db6c7fe stage1: build propagator and copy kernel in mkimage-profiles 2021-04-06 00:15:59 +07:00
Anton Midyukov
465ddc27ad stage2: Added exfat support (50-stage2-fs) 2021-04-03 22:59:47 +07:00
Anton Midyukov
f5db78efcb stage2/stage1/modules.d: fix missing file extension (.ko) 2021-04-03 22:21:38 +07:00
Anton Midyukov
eb34af1318 stage2: Add cmac.ko to 50-stage2-net-cifs, 10-stage2
cmac.ko needed for use SMB2 and newer.
Reported-by: sin@
2021-04-03 22:12:04 +07:00
Anton Midyukov
6012ea4029 stage1: Del squash option '-noI'
squashfs built with this option are not loaded with modern kernels.
2021-04-03 22:10:01 +07:00
Dmitriy Terekhin
a30785ff8a stage2: use uuid-iso to identify the image by UUID 2021-04-03 21:50:03 +07:00
Anton Midyukov
b910f28925 stage2: Added reset-raspberrypi.ko into 50-stage2-sbc-aarch64
Needed for Raspberry Pi 4B 8 GB.
2021-01-26 11:58:29 +07:00
Anton Midyukov
283c03f0c5 stage2: Add more usb drivers into into 50-stage2-usb 2021-01-25 19:42:32 +07:00
Dmitriy Terekhin
4aeed7ed2e stage2/stage1: fix module names to match kernel 2020-12-05 21:03:03 +07:00
Anton Midyukov
b17ce57724 stage2: Not added nvidia kernel modules into propagator 2020-11-23 15:15:49 +07:00
Anton Midyukov
da9180838f drm, plymouth, stage2, x11: initial feature drm
The drm feature solves the problem of creating a common entry
point for adding kernel drm modules for different package lists.
The need for allocation into a separate feature arose from one
parties to the need to make a switch between free and proprietary
NVIDIA driver, on the other, because of the need to add only drm
modules kernels for purposes such as use/stage2/kms and use/plymouth.

Also no more switch needed for RADEON, as only the free video driver
remains.
2020-11-06 19:20:01 +07:00
Anton V. Boyarshinov
26a8aad09f Baikal-M specific modules into stage1 2020-10-26 16:54:21 +07:00
Anton Midyukov
4520594a21 stage2: Added fuse.ko into 50-stage2-fs for ntfs support 2020-09-21 14:53:27 +07:00
Anton Midyukov
77eb0456d1 stage2/stage1/modules.d/50-stage2-usb: fix typo 2020-06-10 03:13:29 +07:00
Anton Midyukov
d54b4fd1e8 stage2: add sdhci-pltfm.ko into 50-stage2-mmc 2020-05-22 13:34:37 +07:00
Anton Midyukov
2c761b78d7 kernel, stage2: add bcm2835-dma in initrd for Raspberry Pi 3 (kernel >= 5.6) 2020-05-22 13:34:37 +07:00
Anton Midyukov
a6051acf94 kernel, stage2: make initrd and initfs for all kernels 2020-05-22 13:34:35 +07:00
Anton Midyukov
11cc65a117 stage2: Added ahci_platform.ko into 50-stage2-ata
This kernel module needed for bootloading on dbm2 (Baical-M)
2020-05-22 13:34:34 +07:00
Anton Midyukov
15cbaefdda stage2: Added support ntfs in 50-stage2-fs
See-also: https://bugzilla.altlinux.org/37598
          https://bugzilla.altlinux.org/37636
2020-05-01 23:49:56 +07:00
Anton Midyukov
070bc04017 stage2: Added use/stage2/sbc
This list kernel modules for loading on single board computers.
2020-05-01 23:49:56 +07:00
Anton Midyukov
192dca1302 stage2: update 50-stage2-usb
Add more usb kernel modules
2020-05-01 23:49:56 +07:00
Michael Shigorin
b13ba8129f stage2: fix make-initrd environment on p8
This has manifested on e2k for me -- still using older
make-initrd lacking R: file -- so let's get this kludge
back for a while, or until any reasonable make-initrd
around has *everything* it needs to create images
listed in its runtime requirements.

Fixes: 2b3455c29a
2018-10-29 12:45:47 +03:00
Michael Shigorin
2b3455c29a stage2: fix cifs-related bits
sin@ was kind enough to just stick mount.cifs into initrd
regardless of its presence in the chroot in question;
let's look first and only add what's found.

This started as a stopgap fix after make-initrd 2.2.0
which happened to collide with cifs-related m-p commits
in a somewhat unfortunate manner...
2018-10-15 22:46:05 +03:00
Evgeny Sinelnikov
00a828bc85 stage1: fix CIFS installation method 2018-10-15 22:45:19 +03:00
Michael Shigorin
26cf322550 stage1, stage2: move af_packet to 50-stage2-net
af_packet rather belongs to networking stack
than to common module library indeed.

Suggested-by: Alexey Gladkov <legion@altlinux.org>
2018-05-23 09:44:35 +03:00
Michael Shigorin
04a12ef053 stage2: cosmetic fixup for aufs/overlayfs check
This has been made a bit messy with commit
9f72780d17,
just split the "involved" and straightforward
checks into two.
2018-05-21 22:49:50 +03:00
Michael Shigorin
63b96a0750 Revert "stage2: force grub-compatible ext4 options"
This reverts commit 4a4da37d06
as Sisyphus has got GRUB 2.02 in the mean time:
http://git.altlinux.org/tasks/archive/done/_179/183896/
2017-06-16 18:26:41 +03:00
Michael Shigorin
4a4da37d06 stage2: force grub-compatible ext4 options
We use grub2 2.00, it's not compatible with new mke2fs
options (namely "64bit" one); disable it for now.

See-also: https://bugzilla.altlinux.org/show_bug.cgi?id=33489#c6
2017-05-31 22:47:55 +03:00
Michael Shigorin
f1dffda8d5 stage2: added virtio_console
Reported-by: Sergey Bolshakov <sbolshakov@altlinux.org>
2016-07-28 15:57:40 +03:00
Michael Shigorin
a732c4aa58 stage2: more eMMC-related modules
eMMC installation support has a few bugs:

https://bugzilla.altlinux.org/30239
https://bugzilla.altlinux.org/30269
https://bugzilla.altlinux.org/32171

Handle the latest one.
2016-06-03 16:52:52 +03:00
Konstantin A. Lepikhov
9f72780d17 Experimental overlayfs support
If aufs not available/broken we could try to use overlayfs.
NB: changes below doesn't work without modified make-initrd-propagator!
2016-05-23 17:30:14 +03:00
Michael Shigorin
79b92db55d stage2: mv use/stage2/cifs{-install,}
This has no users in master but out-of-tree branches might need
a trivial update.

The rationale is that it's actually for *any* stage2 and not related
to specifically "install" at all (otherwise it should have been moved
to install2 feature altogether).

Note that there's no reason to add nfs-utils similarly as make-initrd
requires kinit-utils which includes its own nfsmount.
2015-11-16 15:48:33 +03:00
Michael Shigorin
111ec1d044 stage2: make use of finer-grained module lists
This is sort of laying the ground for the future dismantling
of 10-stage2 (which was sub.in/stage1/modules just recently);
things look like tagged lists might become due some day, e.g.
"net+usb" or "scsi+raid" -- time will tell.
2015-04-20 13:35:31 +03:00
Michael Shigorin
e139a5e091 stage2: added broken-down module lists
These were produced off the single sub.in/stage1/modules
file using this scriptlet to prefix/annotate the names:

  grep '\.ko$' modules \
  | grep -v / \
  | while read m; do \
  	echo "$(find /lib/modules/$(uname -r)/kernel/{drivers,fs} \
		-name "$m" -printf %P $m $(modinfo -d "${m%.ko}" 2>&1)"; \
    done

...with subsequent sorting and manual separation.

This is meant to be the second stage in monolithic modules
file split, so the lists themselves are largely unmolested
otherwise.  The plan is to further split those into prefix-
and module-specific ones.

Add a note clarifying 10-stage2's status, by the way.
2015-04-20 13:35:28 +03:00
Michael Shigorin
1ee01498d5 stage1, stage2: moved propagator modules file
What was a static sub.in/stage1/modules (and the only one)
is now features.in/stage2/stage1/modules.d/10-stage2
(basically a compatibility file that might go some day).

It will be auto-picked as its name corresponds to the
NN-SUFFIX pattern specified in stage1 subprofile now
with $(FEATURES) going into default STAGE1_MODLISTS.
2015-04-20 13:35:27 +03:00
Michael Shigorin
a36d0236a4 stage1, stage2: initial modlists support
stage1's got prepare-modules target collecting
modules file snippets all over stage1/modules.d/
subdirectories within individual features.

stage2 now adds names of all the features going into
a particular image as snippet file suffix list so that
individual features don't have to register themselves
twice (as a feature and as a propagator modules.d
snippet carrier).

This is going to allow both "uncommon" modules getting
included with no problem (sin@ has wanted cifs ones
for quite some time, for example, and some want e.g.
infiniband modules) *and* to reduce the actual list
below the common mark as well (which is the case with
live-privacy image, for one).

And stage1 memory consumption does matter in some cases
as it's highly critical with no chance to use swap yet.
2015-04-20 13:35:24 +03:00
Michael Shigorin
8faf140777 kernel, stage2: rearranged initrd hooks
stage2 has been thinking it's synonymous with propagator
and used to usurp kernel's belongings either; carefully
tear scripts apart so that kernel feature makes sure
initrd gets generated, and stage2 (which is still all
about propagator) cares for its bits.
2014-09-19 20:53:24 +04:00
Michael Shigorin
e3571f276a stage2, efi: added kernel config test collector
The newly-introduced STAGE1_KCONFIG variable serves
to keep those kernel configuration options that are
required to be present in the kernel to boot.
2014-05-12 18:27:08 +04:00
Michael Shigorin
9d495f26cb stage2: preload ahci before udev/propagator
This change tries to force loading the storage driver
for cases when SecureBoot is "helping" the chainloader
to fail, see #29705 for details collected so far.

Of course ahci.ko only does AHCI but that's every storage
controller I've seen on UEFI/SecureBoot systems so far.
2014-01-27 23:56:07 +04:00
Evgeny Sinelnikov
d385a7864c stage1: add CIFS installation method 2014-01-11 22:51:19 +04:00
Michael Shigorin
32cc9a67dd live, stage2: net-eth moved
It would be better to put it into stage2 in the first place
but this somehow went over my head; rescue made a reminder.
2013-03-06 01:21:03 +02:00
Michael Shigorin
6139571a8b stage2: fix 10-initrd-base for current make-initrd
It was removing autodetection setting completely
thus implicitly setting it to the default "all"
with make-initrd-0.8.1+; just set it to be empty.

Thanks legion@ and boyarsh@; see also #28578.
2013-02-19 20:51:15 +04:00
Michael Shigorin
e9f60f007c 03-test-kernel: silliest mistake II
The previous part was fixed and discussed in commit
c30490e2e884f8655a2704fa6a84e60b13876874;
so much for a deduplication effort...

This would result in almost immediate

  make[1]: *** [profile/populate] Error 2

as well.
2012-12-03 17:18:27 +02:00
Michael Shigorin
bd427df77a stage2: updated 80-make-initfs
propagator-20121109-alt1 obsoleted initfs (and dropped
mkinitfs script altogether); that was taken into account
in both make-initrd-propagator and mkimage-profiles-desktop
but not in mkimage proper, see also discussion in #27976.
2012-11-19 23:26:51 +02:00
Michael Shigorin
c30490e2e8 80-make-initfs: fix the silliest mistake ever
*Of course* the "weird" [ ... ] || ... construct meant to avoid
the non-zero exit status of the whole thing wasn't employed
where it actually does make the difference!

Thanks ildar@ for hitting and reporting this, as in

  + verbose '/usr/lib64/propagator exists'
  + '[' -n '' ']'
  mki-scripts: .../stage1/scripts.d/80-make-initfs: unable to run script.
  make[3]: *** [run-scripts] Error 1
2012-11-10 17:59:30 +04:00
Michael Shigorin
aaddfb740c stage2: cope with current make-initrd-propagator
The issue that appeared pretty hard to diagnose occured
to be the enhancement made in make-initrd-propagator=0.8.1-alt1.2
(that didn't hit Sisyphus until merged into 0.10-alt1) which
drops propagator dependency.

And that was optimized out in m-p, of course.
2012-10-16 12:16:39 +03:00
Michael Shigorin
90b8fd49f4 80-make-initfs: fixed silly thinko
The added pdir check was a hillarious(tm) overlooked bug indeed:
I tried to put .../initfs/initfs instead of .../initfs as the result.

Duly spotted by torabora@, thanks a lot.

Still the kmod+propagator+kernel-image combo needed some tweaking too,
see #27640
2012-10-15 17:04:18 +03:00