| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
clean up sparc boot loader install so that it writes out and links
into /etc correctly.
|
|
|
|
|
|
| |
My previous comments were wrong - we can determine that justConfigFile is
useless here as well with the death of flags.setupFilesystems and eliminate
it.
|
|
|
|
|
| |
This reverses 1 chunck of commit d6d4c4800ebc2958eb87a706e4a7c799647ca447
as that chunck was caused by a mis merge (and is wrong).
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Replace all usage of the isys C EDD code with the new storage
python EDD code. Note that this moves the sorting of partition.req_disks
from devices.py to paritioning.py, because sorting now needs access
to the storage object, this also has the added advantange that now we
always allocatePartitions in sorted drive order, even in interactive mode.
|
|
|
|
|
|
| |
Currently we are making dracut activate the entire root containing VG,
dracut-004 now has support for activating only specified LV's, this patch
moves us over to that.
|
|
|
|
|
|
|
| |
We were only emitting dracut setup strings for devices the root device
depends on, not for the root device itself. This causes non booting systems
when the root device itself is of a type which needs a setup string
(such as a regular mdraid array).
|
|
|
|
|
|
|
| |
Don't write the dynamically generated dracut kernel cmdline parameters
to anaconda-ks.cfg. Having them there will result in having some of
them twice in the resulting kickstart install, including some which
refer to no longer valid UUID's.
|
|
|
|
|
|
| |
When we don't specify any MD / LVM / DM / LUKS to activate dracut will
activate all found by default, so when we don't specify any write
RD_NO_foo to the kernel cmdline in grub.
|
|
|
|
|
|
|
|
|
|
|
| |
It is possible for 2 disks to have the same disk dracut cmdline options,
or network cmdline options (if the disks are network devices) for example
2 iscsi disks on the same host. In this case we should only include the
specific option once.
This patch puts the collection of storage related setupStrings in a function,
and makes get() loop over all kernel cmdline providing bits, so that the
code for proper whitespace seperation of various args is not duplicated.
|
|
|
|
| |
Whole-disk formats are recognized but cannot be edited in any way.
|
|
|
|
|
|
|
| |
...well, it can mostly be removed. The s390 and x86 classes still do some
complicated things that end up with a justConfig test, so it has to stay
in those files. However, their write() methods no longer need to accept
that parameter.
|
|
|
|
|
|
|
| |
This is yet another way of running anaconda that gets extremely limited use,
no testing, and no consideration during development to making sure it still
works. Again, we need to stop pretending and get rid of modes that we don't
support.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When updating device.map during upgrade of grub, I missed case when driveorder
changes between install and upgrade (e.g. when driveorder different from that
detected during upgrade had been specified when isntalling) in my previous
patch. To fix it, I generate device.map in similar way as when installing (only
updating it with some devices that we can know about only from updated
device.map - e.g. chainloaded devices). This brought me to another
consolidation of the code (started in previous grub installation patches):
* remove updateGrub, use writeGrub with upgrade flag instead
* move code from writeGrub into separate methods
writeGrubConf (called only for grub (re)install)
writeSysconfig (called both for grub (re)install and upgrade)
writeDeviceMap (called both for grub (re)install and upgrade)
* remove old writeSysconfig and updateDeviceMap that were called
only from upgradeGrub, use new writeSysconfig and writeDeviceMap
with upgrade flag instead.
|
|
|
|
|
|
| |
Part of the changes necessary for #475675, we need to take the
cio_ignore parameter (if it exists) given during installation and write
it to the parameter list in /etc/zipl.conf on the target system.
|
|
|
|
|
| |
This is one of follow-up commits for commit
358a9a34f496fdd2b032edf12274a146b606d1a4, dealing with upgrade.
|
|
|
|
|
| |
This is one of follow-up commits for commit
358a9a34f496fdd2b032edf12274a146b606d1a4, dealing with upgrade.
|
|
|
|
|
| |
This is one of follow-up commits for commit
358a9a34f496fdd2b032edf12274a146b606d1a4, dealing with upgrade.
|
|
|
|
|
|
|
|
|
| |
If the bootLoaderInfo is old-style class, setting of its property drivelist
doesn't work, instead the property is overwritten with attribute and therefore
for example any following calls of updateDriveList have no effect.
AFAIK it doesn't cause problems anywhere at the moment, but I think it should
be fixed it in master.
|
|
|
|
| |
The DASD kernel parameters will be coming from DASDDevice objects.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a patch to fix installation of grub in case we have md raid 1 /boot
device. I posted similar patch some time ago, Hans reviewed it, but it
didn't gather much attention so I was afraid to push it - it changes behavior.
Now I decided to do things a bit differently. Also, some weeks ago Hans has
pushed a patch fixing bootloader target selection for mdraid (commit
45a7048e5f56316e052e4699b5ec70aa291ddd5e) upon which my patch is standing. So
here I come again (sorry for repeating myself).
We offer installation into mbr or boot partition (/dev/mdX) in UI. In F11 and RHEL5
if md boot partition was on /dev/sda1 and /dev/sdb1, in case of "mbr" we
installed grub twice into mbr of /dev/sda, and in case of "partition" into mbr
of /dev/sda and /dev/sdb. Member drive removal in the second case didn't work
I think (no boot).
Hans's patch changed the behavior (it was expected) - we are really installing
bootloader into boot device if /dev/mdX is selected, and if mbr is selected,
we are installing twice into mbr of selected drive as before.
My patch wants to make it behave "the right" way, that is - install where you
were asked to, and be able to boot when one member disk is removed (see bug
https://bugzilla.redhat.com/show_bug.cgi?id=213578), so:
A) In case of installing into boot partition: install it there in a way that the
boot works if one member is removed.
B) In case of installing into mbr: iff the disk contains member of boot md
array, install also into mbrs of other members. If one member is removed, be
able to boot - this is fixed by the patch.
Note: I'd like to fix upgrade of grub part too, especially when now the
behavior has changed wrt what we write out in grub.conf and
/etc/sysconfig/grub. Also UI can writing for mbr could say that we'd
install into mbr of other member disks too (if it is the case)
If you want details, below are some cases that illustrate the change (also the
code may be hard to follow for given case, I can post a test script using
which you can get resulting grub input for given case)
1) sda, sdb, install to mbr, /boot is sdb1
works both with and without the patch, the same grub commands are run
2) sda, sdb, sdc, install to mbr of sda, /boot is mdarray of sdb3 and sdc3
without the patch:
- boots with both disks, doesn't if any is removed
- log:
Running... ['/sbin/grub-install', '--just-copy']
Running... ['/sbin/grub', '--batch', '--no-floppy', '--device-map=/boot/grub/device.map']
GNU GRUB version 0.97 (640K lower / 3072K upper memory)
[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename.]
grub> root (hd0,2)
Filesystem type is ext2fs, partition type 0xfd
grub> install --stage2=/boot/grub/stage2 /grub/stage1 d (hd0) /grub/stage2 p (hd0,2)/grub/grub.conf
grub> Running... ['/sbin/grub-install', '--just-copy']
Running... ['/sbin/grub', '--batch', '--no-floppy', '--device-map=/boot/grub/device.map']
GNU GRUB version 0.97 (640K lower / 3072K upper memory)
[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename.]
grub> root (hd1,2)
Filesystem type is ext2fs, partition type 0xfd
grub> install --stage2=/boot/grub/stage2 /grub/stage1 d (hd0) /grub/stage2 p (hd1,2)/grub/grub.conf
grub>
both disks - OK
2nd disk removed - OK
1st disk removed - OK
with the patch:
- boots even when any of member disks is removed
- log:
Running... ['/sbin/grub-install', '--just-copy']
Running... ['/sbin/grub', '--batch', '--no-floppy', '--device-map=/boot/grub/device.map']
GNU GRUB version 0.97 (640K lower / 3072K upper memory)
[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename.]
grub> root (hd1,2)
Filesystem type is ext2fs, partition type 0xfd
grub> install --stage2=/boot/grub/stage2 /grub/stage1 d (hd0) /grub/stage2 p (hd1,2)/grub/grub.conf
grub>
3) sda, sdb, install to mbr of sda, /boot is mdarray of sda3 and sdb3
without patch:
- it boots with both disks, doesn't find stage1 (_ on screen) if any of them
is removed
- log:
Running... ['/sbin/grub-install', '--just-copy']
Running... ['/sbin/grub', '--batch', '--no-floppy', '--device-map=/boot/grub/device.map']
GNU GRUB version 0.97 (640K lower / 3072K upper memory)
[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename.]
grub> root (hd1,1)
Filesystem type is ext2fs, partition type 0xfd
grub> install --stage2=/boot/grub/stage2 /grub/stage1 d (hd0) /grub/stage2 p (hd1,1)/grub/grub.conf
grub> Running... ['/sbin/grub-install', '--just-copy']
Running... ['/sbin/grub', '--batch', '--no-floppy', '--device-map=/boot/grub/device.map']
GNU GRUB version 0.97 (640K lower / 3072K upper memory)
[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename.]
grub> root (hd2,1)
Filesystem type is ext2fs, partition type 0xfd
grub> install --stage2=/boot/grub/stage2 /grub/stage1 d (hd0) /grub/stage2 p (hd2,1)/grub/grub.conf
grub>
with the patch:
- boots even when one of member disks is removed
- log:
Running... ['/sbin/grub-install', '--just-copy']
Running... ['/sbin/grub', '--batch', '--no-floppy', '--device-map=/boot/grub/device.map']
GNU GRUB version 0.97 (640K lower / 3072K upper memory)
[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename.]
grub> device (hd0) /dev/sdb
grub> root (hd0,2)
Filesystem type is ext2fs, partition type 0xfd
grub> install --stage2=/boot/grub/stage2 /grub/stage1 d (hd0) /grub/stage2 p (hd0,2)/grub/grub.conf
grub> Running... ['/sbin/grub', '--batch', '--no-floppy', '--device-map=/boot/grub/device.map']
GNU GRUB version 0.97 (640K lower / 3072K upper memory)
[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename.]
grub> root (hd0,2)
Filesystem type is ext2fs, partition type 0xfd
grub> install --stage2=/boot/grub/stage2 /grub/stage1 d (hd0) /grub/stage2 p (hd0,2)/grub/grub.conf
grub>
4) like 3), but /boot is mdarray of sda3 and sdb2 - notice different partition
numbers - removing a specific one of member disks can't work as location of
grub.conf file stored in first block of stage2 is shared and so contains only
the last grub-installed value.
without the patch:
- doesn't boot with both disks, doesn't boot with any single disk
- log:
Running... ['/sbin/grub-install', '--just-copy']
Running... ['/sbin/grub', '--batch', '--no-floppy', '--device-map=/boot/grub/device.map']
GNU GRUB version 0.97 (640K lower / 3072K upper memory)
[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename.]
grub> root (hd0,2)
Filesystem type is ext2fs, partition type 0xfd
grub> install --stage2=/boot/grub/stage2 /grub/stage1 d (hd0) /grub/stage2 p (hd0,2)/grub/grub.conf
grub> Running... ['/sbin/grub-install', '--just-copy']
Running... ['/sbin/grub', '--batch', '--no-floppy', '--device-map=/boot/grub/device.map']
GNU GRUB version 0.97 (640K lower / 3072K upper memory)
[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename.]
grub> root (hd1,1)
Filesystem type is ext2fs, partition type 0xfd
grub> install --stage2=/boot/grub/stage2 /grub/stage1 d (hd0) /grub/stage2 p (hd1,1)/grub/grub.conf
grub>
with the patch:
- boots when one second disk is removed, not when the first one is removed
(in the sense of boot order)
- log:
Running... ['/sbin/grub-install', '--just-copy']
Running... ['/sbin/grub', '--batch', '--no-floppy', '--device-map=/boot/grub/device.map']
GNU GRUB version 0.97 (640K lower / 3072K upper memory)
[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename.]
grub> device (hd0) /dev/sdb
grub> root (hd0,1)
Filesystem type is ext2fs, partition type 0xfd
grub> install --stage2=/boot/grub/stage2 /grub/stage1 d (hd0) /grub/stage2 p (hd0,1)/grub/grub.conf
grub> Running... ['/sbin/grub', '--batch', '--no-floppy', '--device-map=/boot/grub/device.map']
GNU GRUB version 0.97 (640K lower / 3072K upper memory)
[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename.]
grub> root (hd0,2)
Filesystem type is ext2fs, partition type 0xfd
grub> install --stage2=/boot/grub/stage2 /grub/stage1 d (hd0) /grub/stage2 p (hd0,2)/grub/grub.conf
grub>
|
|
|
|
|
|
| |
Due to the auto generation of dracut cmdline, append arguments like
"quiet rhgb" would no longer be at the end of the kernel cmdline in grub,
making it (slightly) harder to remove them for debugging purposes.
|
|
|
|
|
|
|
|
|
| |
We were using startswith "md" together with checking the iswmd option to
determine wether an md array is a disk or a partition in the booty sense
of things. This is ofcourse wrong, instead we should check if it is an
isw mdraid array, or a native metadata mdraid array.
This patch fixed this, note the type of isw bios raid using mdraid is "disk".
|
| |
|
|
|
|
|
|
| |
Now that we've moved to dracut for the initrd in rawhide, which supports
using mdraid for isw metadata raid sets (and uses this by default), make
using mdraid for isw metadata raid sets the default.
|
|
|
|
|
|
|
| |
We're moving back to %post generation of dracut initrd's due to
GPL concerns about shipping pre build initrd's. This means the initrd
will no longer be truely generic. To reflect this and make clear it is
not an mkinitrd initrd, the name was changed to initramfs.img.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add the following methods and properties to class Storage which map
through to FSSet methods, modify existing calls to use the method on
class Storage:
turnOnSwap()
mountFilesystems()
umountFilesystems()
parseFSTab()
mkDevRoot()
createSwapFile()
fsFreeSpace()
mtab
mountpoints
migratableDevices
rootDevice
Callers no longer need to pass the Anaconda object to the FSSet methods
directly. The method on Storage takes care of that.
The mtab() method on FSSet is exposed as a property on Storage. The
same is true for fsFreeSpace().
|
|
|
|
|
|
|
|
| |
dracut using kernel come with a prebuild initrd-generic-<version> instead
of initrd-<version>, so if we fail to find /boot/initrd-<version>.img, check
for /boot/initrd-generic-<version>.img instead. I've done things this way
so that if we ever need to generate system specific (so non generic) initrd's
for some reason the code will stay working.
|
|
|
|
|
|
|
|
|
| |
While fixing bug 505205, I noticed that the code for removing the trailing p
in a name like: mapper/isw_Vol0p1 which becomes mapper/isw_Vol0p after cutting
is rather interesting, for example it will wrongly change the whole diskname
mapper/isw_Vol0_tmp to mapper/isw_Vol0_tm. This patch fixes this by removing
the trailing p as part of the partition cutting code instead of always removing
it.
|
|
|
|
|
|
| |
This patch fixes the (stupid) traceback in booty/util.py getDiskPart()
from 505205, by checking all characters after the cut point are digits before
assuming we have found a place to cut between partition number and disk.
|
|
|
|
| |
Note this requires an updated system-config-keyboard
|
| |
|
|
|
|
|
|
|
|
|
| |
Currently we are passing storage and network to booty's __init__, for
writing the necessary kernel cmdline parameters for dracut for international
consoles / keyboards booty will also need access to keyboard and language,
instead of passing these all in seperately just pass InstalltData to booty's
__init__. This is a preparation patch for writing out the dracut kernel
cmdline commands for i18n support.
|
|
|
|
|
|
|
|
|
| |
Add a dracutSetupString method to network.py, this can be used to
ask the Network class to get a dracut setup string to setup the interface
needed for a connection to a certain host.
This patch also adds code to booty to use this to get kernel cmdline dracut
setup commands for any NIC's needed to connect to devices needed for /
|
| |
|
| |
|
|
|
|
|
| |
Switch to using iutil.isFoo() methods rather than checking the
value of rhpl.getArch()
|
|
|
|
| |
Use python's gettext module instead of rhpl.translate
|
| |
|
|
|
|
|
| |
We need to run grub 'root' and 'install' commands in one grub shell session when
upgrading grub.
|
|
|
|
| |
This patch adds support for iswmd kernel parameter in booty.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The problem is that a Mac filesystem is HFS+, but is not marked bootable.
The Apple Bootstrap partition is marked bootable. Therefore we take the
stupid test and say if there's a bootable Apple Bootstrap partition on a
disk and there's an HFS partition, mark that as the Mac OS partition for
the bootloader config. This is about as stupid as what we're doing for
DOS filesystems now and is easily screwed up, but it's better than
nothing.
|