fedup: boot image not found

poma pomidorabelisima at gmail.com
Tue Dec 16 01:07:50 UTC 2014


On 16.12.2014 00:21, Adam Williamson wrote:
> On Mon, 2014-12-15 at 18:14 +0000, Brian McGrew wrote:
>>> On Dec 15, 2014, at 9:12 AM, Adam Williamson <
>>> adamwill at fedoraproject.org> wrote:
>>>
>>> On Mon, 2014-12-15 at 16:40 +0000, Brian McGrew wrote:
>>>> Good morning all,
>>>>
>>>> Running fedup and getting the following on a stock install of 
>>>> F20:
>>>>
>>>> [admin at knotts ~]$ sudo fedup --network 21 --product=workstation 
>>>> [sudo] password for admin:
>>>> setting up repos...
>>>> getting boot images...
>>>>
>>>> Downloading failed: couldn't get boot images: No more mirrors to 
>>>> try. Last error was: [Errno 14] HTTP Error 404 - Not Found
>>>>
>>>>
>>>> [admin at knotts ~]$ sudo fedup --network rawhide --
>>>> product=workstation setting up repos...
>>>> getting boot images...
>>>>
>>>> Downloading failed: couldn't get boot images: No more mirrors to 
>>>> try. Last error was: [Errno 14] HTTP Error 404 - Not Found
>>>> [admin at knotts ~]$
>>>
>>> Can't immediately see a good reason it isn't working, does it work 
>>> with --instrepo= 
>>> https://dl.fedoraproject.org/pub/fedora/linux/releases/21/Server/x86_64/os/ ? (assuming x86_64, 
>>> of
>>> course)
>>
>> Of course x86_64!  That appears to be working.  Odd!  Will let you 
>> know if it doesn’t finish.  I’ll get to 21 and then to rawhide and 
>> see what happens.
> 
> fedup is rarely tested prior to Alpha, FWIW. You will need to manually 
> provide a --instrepo parameter again. Here, I may as well explain 
> what's actually going on there.
> 
> What fedup gets from the 'installation repository' is a kernel and a 
> special initramfs. The initramfs contains the bits that drive the 
> actual upgrade step of the fedup process - they're in the package 
> 'fedup-dracut', and part of the Fedora compose process involves 
> building the special initramfs with those bits in it.
> 
> This special initramfs is called upgrade.img. When you pass fedup a --
> instrepo parameter, it looks for the file .treeinfo.signed in the 
> location you specify. So, for that one above, it found:
> 
> https://dl.fedoraproject.org/pub/fedora/linux/releases/21/Server/x86_64/os/.treeinfo.signed
> 
> you can go look at that for yourself, and you'll see what's in it - 
> the name is apt, it provides 'info'rmation on the 'tree'. The bit 
> fedup cares about is that it tells it where to find its special 
> upgrade initramfs:
> 
> [images-x86_64]
> kernel = images/pxeboot/vmlinuz
> initrd = images/pxeboot/initrd.img
> upgrade = images/pxeboot/upgrade.img
> boot.iso = images/boot.iso
> 
> fedup goes and grabs the 'kernel' and 'upgrade' files (the kernel is 
> just the kernel file that's in the kernel package in the same tree), 
> and that's what it adds to the bootloader config, the environment you 
> boot into after the first fedup phase has downloaded all the packages 
> and told you to reboot to continue.
> 
> If you *don't* pass a --instrepo parameter, what fedup does is it asks 
> mirrormanager for the location: it asks mirrormanager for a mirror 
> list for the 'fedora-install' repository for the release you specified 
> you wanted to upgrade to, and the appropriate arch. You can do the 
> same thing through mirror manager's web interface:
> 
> https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-install-21&arch=x86_64
> 
> So if you just say 'fedup --network 21' on an x86_64 system, fedup 
> goes and asks mirrormanager for that list of repos, then picks one and 
> uses it as the 'installation repository'. (When I read your mail the 
> first thing I did was check that URL and make sure the list it 
> produced was sane; it does seem to be, so I'm not quite sure why you 
> got a 404. It's possible you hit a bad mirror which didn't have the 
> files in place, I guess?)
> 
> So now let's see what happens if you try and fedup to 22 without 
> giving it any help:
> 
> https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-install-22&arch=x86_64
> 
> "# repo = fedora-install-22 arch = x86_64 error: invalid repo or arch"
> 
> Ooops. Well, let's try Rawhide:
> 
> https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-install-rawhide&arch=x86_64
> 
> OK, that's a proper list, so you could try 'fedup --network 
> rawhide'...but wait! What does fedup do with the instrepo? It looks 
> for .treeinfo.signed. Let's check that's available on a mirror from 
> the list:
> 
> http://fedora.mirror.nexicom.net/linux/development/rawhide/x86_64/os/.treeinfo.signed ... 
> 404.
> 
> Oh dear. First problem here is, Rawhide trees generally aren't signed. 
> So, you'd also have to pass --nogpgcheck; this will make it look for 
> the un-signed version of the file instead, which is just .treeinfo :
> 
> http://fedora.mirror.nexicom.net/linux/development/rawhide/x86_64/os/.treeinfo ... 
> 404.
> 
> Well pants! Why, you wonder? Because the nightly compose attempt 
> failed. There's an automated attempt to 'compose' the Rawhide (and 
> Branched, when it exists) tree nightly. That's the process that 
> generates all the images you see mentioned in the .treeinfo file - the 
> upgrade initramfs, but also boot.iso and various other bits and 
> pieces. It doesn't always work. When it doesn't work, there are no 
> images, and no .treeinfo. You can look in the current tree and see the 
> place where the upgrade.img ought to be - 
> http://fedora.mirror.nexicom.net/linux/development/rawhide/x86_64/os
> /images/pxeboot - doesn't exist, in fact, the whole /images sub-
> directory doesn't exist. That's what a tree which didn't get composed 
> looks like. (Note: this may only be true today, of course. Tomorrow, 
> or whenever you read this mail, Future Reader, the files may exist, 
> because that day's compose succeeded. Just pretend it didn't. Or, stop 
> reading, and read this mail again on a day when it didn't!)
> 
> TCs and RCs are, of course, always 'composed', so as soon as we hit 
> Alpha TC1, you know you can at least find an upgrade.img in the most 
> recent TC/RC tree. But prior to Alpha TC1, it can be a bit trickier.
> 
> Now something I only recently learned as part of the whole 'let's do 
> testing earlier' effort I've been working on is that Rawhide and 
> Branched nightly trees are kept around for a while in a location with 
> predictable URLs. That's what makes the nightly testing pages kinda 
> viable - we can pick a tree which did compose successfully, declare it 
> 'open for testing', and have stable links to its network install 
> images, as 
> https://fedoraproject.org/wiki/Test_Results:Fedora_22_20141208_Installation does. So you can, at least, fairly reliably expect to find a .treeinfo and 
> an upgrade.img in the last nightly tree 'nominated' for install 
> testing, and use that.
> 
> (It occurs to me that I can probably do some wiki template magic in 
> the fedup test case instructions so they will provide the correct 
> instrepo parameter for the most recent nightly compose or TC/RC; I'll 
> have to look at that later.)
> 
> Soooo, after that long digression, bottom line - if you want to test 
> fedup to F22, you should probably run:
> 
> fedup --network 22 --nogpgcheck --instrepo 
> http://kojipkgs.fedoraproject.org/mash/rawhide-20141208/rawhide/x86_64/os/
> 
> (attentive readers will note that 
> http://kojipkgs.fedoraproject.org/mash/rawhide-20141208/rawhide/x86_64/os/.treeinfo exists but 
> 
> http://kojipkgs.fedoraproject.org/mash/rawhide-20141208/rawhide/x86_64/os/.treeinfo.signed does not, as I explained above, hence the --
> nogpgcheck).
> 
> but don't come crying to me if it explodes ;) You might well be the 
> first to test it for F22. Exciting, eh?
> 

Not at all exciting, it is a waste of time.



More information about the test mailing list