PDA

View Full Version : [SOLVED] Cannot install custom fedora 26 xfce from iso



donatom
19th August 2017, 07:25 AM
I created a custom fedora 26 xfce iso but cannot use it to install onto an mbr system or onto a qemu virtual harddrive.

I have followed fedora UEFI wiki, have made livecd usb and deleted the EFI directory but I keep getting the same anaconda error message:


AttributeError: ‘DefaultInstall’ object has no attribute ‘efi_dir’ - anaconda

Using the same kickstart file I was able to create and use a custom Fedora 25 iso with which I was able to install onto mbr systems.

Obviously anaconda has been changed and may contain a bug (I did submit a bug report to red hat bugzilla). Here is the webpage for the bug report:

https://bugzilla.redhat.com/show_bug.cgi?id=1483209

Any help will be appreciated.

antikythera
19th August 2017, 08:42 AM
All my systems are actually EFI so I haven't encountered this issue. While I booted in a basic VM with an MBR scheme I didn't actually try installing. It was simply to run a media test and make sure it passed and boots. I'll create a new machine and try it though.

Have you tried building in F26 with fresh kickstarts downloaded from github and the applicable modifications to repository url addresses and packages applied? I did this because I wasn't sure simply modifying the 25 values to 26 in the flattened kickstart url addresses would work. There are slight package differences between F25 and F26 which also made changing my selections accordingly necessary.

you can of course cut and paste some information in your original kickstart to the new one using a GUI text editor.

antikythera
19th August 2017, 10:08 AM
mine installs and boots with an MBR layout. not sure what the differences are but clearly something has indeed changed from F25 to F26 regarding kickstarts other than version numbers.

https://forums.fedoraforum.org/showthread.php?t=315055

donatom
19th August 2017, 03:21 PM
Thaniks antikythera!

I will definitely use a new kickstart -- I shouldn't have assumed that reusing a fedora 25 kickstart file would be okay. Due to laziness, I guess.

I will mark this as solved as soon as I roll another kickstart.

donatom
20th August 2017, 07:07 AM
Well, I flattened a kickstart for fedora 26 xfce and created an iso, but I am still getting the same error. I cannot install the custom system either on mbr systems or on efi systems.

Seems strange that antikythera could use a custom iso to install, while I cannot.

Here is a snippet of the beginning of my flattened kickstart file (if anyone can see an error let me know):


#version=DEVEL
# X Window System configuration information
xconfig --startxonboot
# Keyboard layouts
keyboard 'us'
# Root password
rootpw --iscrypted --lock locked
# Use network installation
url --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-26&arch=x86_64
# System language
lang en_US.UTF-8
# Firewall configuration
firewall --enabled --service=mdns
repo --name="fedora" --baseurl=http://mirrorservice.org/sites/dl.fedoraproject.org/pub/fedora/linux/releases/26/Everything/x86_64/os/
repo --name="fedora-updates" --baseurl=http://mirrorservice.org/sites/dl.fedoraproject.org/pub/fedora/linux/updates/26/x86_64/
repo --name=rpmfusionfree --mirrorlist=http://mirrors.rpmfusion.org/mirrorlist?repo=free-fedora-26&arch=x86_64
repo --name=rpmfusionfreeupdates --mirrorlist=http://mirrors.rpmfusion.org/mirrorlist?repo=free-fedora-updates-released-26&arch=x86_64
repo --name="rpmfusion-nonfree" --mirrorlist=http://mirrors.rpmfusion.org/mirrorlist?repo=nonfree-fedora-26&arch=x86_64
#repo --name="rpmfusionnon-freeupdates" --mirrorlist=http://mirrors.rpmfusion.org/mirrorlist?#repo=nonfree-fedora-updates-released-26&arch=x86_64
repo --name="RPMFusion Non-Free - Updates" --baseurl=http://download1.rpmfusion.org/nonfree/fedora/updates/25/x86_64/
repo --name="google-chrome" --baseurl=http://dl.google.com/linux/chrome/rpm/stable/x86_64
# Shutdown after installation
shutdown
# Network information
network --bootproto=dhcp --device=link --activate
# System timezone
timezone US/Pacific
# System authorization information
auth --useshadow --passalgo=sha512
# SELinux configuration
selinux --disabled
#boot password
rootpw rootme
# System services
services --disabled="sshd" --enabled="NetworkManager,ModemManager"
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
#swap size
part swap --size=512
# Partition clearing information
clearpart --all
# Disk partitioning information
part / --fstype="ext4" --size=8194

I might try to create another iso without bootloader --location=mbr (I will use "none" instead of mbr).

antikythera
20th August 2017, 09:35 AM
I didn't touch that setting. In my kickstart it is the default


# System services
services --disabled="sshd" --enabled="NetworkManager,ModemManager"
# System bootloader configuration
bootloader --location=none
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all
# Disk partitioning information
part / --fstype="ext4" --size=5120
part / --size=6144

in fact, I'm not sure what these options are there for as they don't seem to do a thing.

it's shared here (https://www.forums.fedoraforum.org/showpost.php?p=1791679&postcount=3) if you want to compare the two for any further clues.

donatom
20th August 2017, 04:05 PM
Thanks for your help, antikythera.

Because of the snafu with mock I reset the intro to my kickstart. I made changes following the latest lorax wiki.


8. Add a root password:

rootpw rootme
network --bootproto=dhcp --activate
zerombr
clearpart --all
bootloader --location=mbr
part swap --size=512
shutdown


I'm going to change back the bootloader entry and comment out the swap entry.

Here is the link to the wiki (the changes above are in the kickstart section of the wiki):

https://rhinstaller.github.io/lorax/livemedia-creator.html#kickstarts

donatom
20th August 2017, 05:15 PM
. . . I didn't touch that setting. In my kickstart it is the default

antikythera, I see that you have not sent the fstab file to the bit bucket. I will comment out that part of the kickstart file, if my other changes don't allow me to use the iso for installation.

Thanks for your link to your kickstart file.

antikythera
20th August 2017, 07:22 PM
i changed the bare minimum I could get away with. literally, timezone, language, keyboard layout and package selection which required adding a few more url addresses. the rest I thought best left well alone since I'm no expert and lorax fell over at the slightest sniff of an error.

donatom
23rd August 2017, 06:13 PM
I rolled another custom iso. This time I made a custom fedora 26 mate_compiz -- but with a ton of additional apps. I tried to install it to a qemu virtual harddrive but the install failed again.

There is an on-going bug report for the same bug (mine was eliminated because it was a duplicate). Here is the bug number: Red Hat Bugzilla – Bug 1481462 AttributeError: 'DefaultInstall' object has no attribute 'efi_dir'

antikythera
24th August 2017, 09:46 AM
very strange, I really dislike how fragile this ISO creation process has become. It's far too easy to end up with broken media compared to using the old tools.

donatom
18th September 2017, 09:36 PM
I have found a work-around to install from a custom Fedora iso: I used the kickstart (with some modifications) and did an automated install. I set up my HP laptop as an http server (just download httpd, start up the http server -- i.e., # systemctl start httpd -- and open up port 80 -- http -- on the firewall in order to store the ks.cfg. I had to open up the http port on my desktop as well. Then I downloaded a netinstall image for Fedora Workstation (or Server); note, it must be a netinstall image (488 megabytes) not a full install image. Then I started up off the usb thumb drive and pressed "tab" and at the end of the boot commands I added: inst.ks=http://192.168.10.131/ks.cfg.

I stored the ks.cfg in the /var/www/html/ks.cfg of my laptop which is the directory where you store files to share on the http server.

There are two important things I learned during this (long) process: first the computers on the local network must use a wired ethernet connection -- wifi won't work (at least for me); second, the drive on which the Custom Fedora is to be installed will probably end up being wiped in the process. It seems that if you have a multiboot system this automated install is not the way to go.

Here is a copy of the ks.cfg file that I used:


#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
text
# Run the Setup Agent on first boot
firstboot --disable
#ignoredisk --only-use=/dev/disk/by-id/usb-ATA_WDC_WD7500BPKX-7_0123456789ABD71-0:0
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
# System language
lang en_US.UTF-8
install
url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-26&arch=x86_64"
repo --name="fedora" --baseurl=http://mirrorservice.org/sites/dl.fedoraproject.org/pub/fedora/linux/releases/26/Everything/x86_64/os/
repo --name="fedora-updates" --baseurl=http://mirrorservice.org/sites/dl.fedoraproject.org/pub/fedora/linux/updates/26/x86_64/
repo --name="rpmfusionfree" --mirrorlist=http://mirrors.rpmfusion.org/mirrorlist?repo=free-fedora-26&arch=x86_64
repo --name="rpmfusionfreeupdates" --mirrorlist=http://mirrors.rpmfusion.org/mirrorlist?repo=free-fedora-updates-released-26&arch=x86_64
repo --name="rpmfusion-nonfree" --mirrorlist=http://mirrors.rpmfusion.org/mirrorlist?repo=nonfree-fedora-26&arch=x86_64
repo --name="RPMFusion Non-Free - Updates" --baseurl=http://download1.rpmfusion.org/nonfree/fedora/updates/25/x86_64/
repo --name="google-chrome" --baseurl=http://dl.google.com/linux/chrome/rpm/stable/x86_64
# Network information
#network --bootproto=dhcp --device=eno1
#network --bootproto=dhcp --essid="ATT192" --wpakey=9b49c6c267c32f0213cffefebcc8542e60492d067db ec547229c567c8a580006 --activate
network --bootproto=dhcp
#network --device=eno1 --bootproto=dhcp
network --hostname=fedora
# Root password
rootpw --iscrypted $6$UnCeKtsD0HUNWyWX$KB8vIWzpXP8SSvHJPhu.nF1CWWFB7h z8ICvxUQVK1H9h65AYRiWNRociGTXCN06bgzv4VbW0WO8T3x.x zUAYX/
# System timezone
timezone America/Pacific
user --name=donatom --password=$6$4FlJTvbIyop0qG3.$Vz5KSSvmuNRAqcVlMTK7l lwjeOm0VcIOimAgdP8I7LHwrr9yck3uENSJ9HDK8IwB87SRSpf B/WA7XxJpBYiuS/ --iscrypted --gecos="donatom"
# X Window System configuration information
xconfig --startxonboot
#firewall
firewall --disabled
#selinux
selinux --disabled
# System bootloader configuration
bootloader --location=mbr --boot-drive=sda
#zerombr
#clear partitions
clearpart --all -- --initlabel --list=/dev/disk/by-id/usb-ATA_WDC_WD7500BPKX-7_0123456789ABD71-0:0
#autopart --type=plain
# Partition clearing information
#clearpart --initlabel --list=/dev/disk/by-id/ata-WDC_WD7500AALX-009BA0_WD-WCATR5711417-part1,
# Disk partitioning information
part / --fstype="ext4" --asprimary --size=80000 --grow
part /home --fstype="ext4" --asprimary --size=50000 --grow
part swap --fstype=swap --recommended

reboot

%packages
@admin-tools
@anaconda-tools
@base-x
@core
@fonts
@guest-desktop-agents
@hardware-support
@input-methods
@libreoffice
@multimedia
@networkmanager-submodules
@printing
@standard
@xfce-apps
@xfce-desktop
@xfce-extra-plugins
@xfce-media
@xfce-office
NetworkManager-wifi.x86_64
NetworkManager.x86_64
aajohan-comfortaa-fonts
akmod-wl.x86_64
anaconda
chrony
dracut-live
ffmpeg.x86_64
firefox
gcc.x86_64
gedit.x86_64
generic-logos
generic-release
generic-release-notes
glibc-all-langpacks
gnome-keyring-pam
google-chrome-stable.x86_64
gparted
grub2-efi
k3b.x86_64
kernel
kernel-devel.x86_64
kernel-headers.x86_64
kernel-modules
kernel-modules-extra
lorax.x86_64
memtest86+
rfkill
sane-backends-drivers-scanners.x86_64
syslinux
system-config-printer
tar
vlc.x86_64
wget
xsane
xscreensaver-extras
ImageMagick.x86_64
lorax.x86_64
mock.noarch
@dial-up
-PackageKit*
-abiword
-acpid
-aspell-*
-autofs
-coolkey
desktop-backgrounds-basic
-fedora-logos
-fedora-release
-fedora-release-notes
-gimp-help
-hplip
-isdn4k-utils
-midori
-mpage
-numactl
-xfce4-sensors-plugin
-xsane-gimp

%end


I read that if you add "--install" to your repo lines, they will be added to your new system. That does not work; anaconda throws an error saying that it is an unknown option. I read that you should use the drives/partitions' id's and not their device names (/dev/sda1, etc.). That seems safer but it isn't foolproof. I originally wanted to install the custom system to a portable drive, and I used the usb drive's id. However, I had the usb portable drive connected to my laptop instead of my workstation (I wanted to copy the usb drive's id to my stored ks.cfg file and forgot to reattach the drive to my workstation). My new system was installed on my workstation and not the usb drive. Now I have to re-install Arch Linux (I know, I should have backed up the system). One would think that anaconda would have thrown an error!?

Anyway, installing Arch is a fun (re)learning experience.

donatom
8th October 2017, 04:24 PM
Fedora programmers fixed anaconda -- but only in Fedora 27 (right now in Beta). I created a custom iso based on Fedora 27 Beta and was able to install it on a qemu virtual hard drive. Seems to work flawlessly. Anconda is fixed in anaconda-27.20.