Results 1 to 6 of 6

Thread: Is there cleaner way to speed up boot time? (wicked.service)

  1. #1

    Question Is there cleaner way to speed up boot time? (wicked.service)

    I had a problem with a very slow boot time, which in the end I solved, but it seems to be a bit dirty solution and I was hoping that maybe somebody could propose a better solution.

    The problem was a very slow boot time caused by "wicked.service". With the command "systemd-analyze plot > graph.svg" I created an image visualisation of the boot process and seen that either "multi-user.target" or "network.target" is waiting for wicked to finish and won't start sooner. The problem was that wicked service took a very long time to load (about 20 seconds). I didn't want systemd to wait for network to be up and running before login screen appears. I wanted it to run the initialization in parallel with the login screen.

    I headed to yast services configuration, but the only options there are to enable or disable service at boot time for given target (graphics.target), no way to configure dependencies, or did I miss something there? If I disabled it, the service didn't start at all so network was offline, so I re-enabled it.

    I knew in systemd one can specify the order at which the services are started with dependencies etc. So the next thing I did was to look at the output of "systemctl list-dependencies --reverse wicked.service" command. This way I was able to see what services or targets require wicked. It was required by "network-online.target" (or was it "network.target" ?) and "multi-user.target". Here I basically confirmed what I saw in the graph image. I also found out that "multi-user.target" was required by "graphical.target".

    So I headed to the "/etc/systemd/system" folder and examined the files and folders there. I noticed "multi-user.target.wants" folder which, among other thing, contained link to "wicked.service". If I removed the file, the result was the same as if I disabled it at boot time, so I put the link back. Then tried moving it to "graphical.target.wants", hoping now the service would start later, but it started at the same time as before with the same annoying delay.

    So I hit search button in "/etc/systemd/system" folder. It found all occurrences of "wicked.service" link file and it also found some occurrences inside of some .service files. I removed all the dependencies that contained wicked.service (except graphics.target), so now the command "systemctl list-dependencies --reverse wicked.service" printed nothing but graphics.target. Each time I did a change I run the "systemctl daemon-reload" command, I'm not sure if it is required or not, if it reloads it automatically on boot or not. To my surprise, it didn't solve anything! Still same delay, still same dependencies in the graph I kept updating each time after restart. Like if I didn't change anything.

    So the last thing I did was to examine the "wicked.service" file. There I found two lines. One in [Unit] section that started with "Before=" and one in [Install] section that started with "WantedBy=". Now after removing those two lines, I finally got the desired result. No waiting, network initializing in the background while I was logging in. But what a spaghetti configuration!

    Is there any easier way to get the desired result? Like a hidden check box saying "do not wait for network to be up and running before login"? Do you think I broke anything by chance? Everything seem to work fine and as expected. I'd appreciate any input or advice on this issue.

  2. #2
    Join Date
    Jun 2008
    Location
    Podunk
    Posts
    26,669
    Blog Entries
    15

    Default Re: Is there cleaner way to speed up boot time? (wicked.service)

    Hi and welcome to the forum
    You can edit the settings in /etc/sysconfig/network/config file and reduce the entry from 30 to NULL;

    Code:
    WAIT_FOR_INTERFACES=""
    Read the rest of the notes in the file and edit as required Probably best to revert your other changes as well....

    Code:
    systemd-analyze
    
    Startup finished in 1.782s (kernel) + 1.407s (initrd) + 9.232s (userspace) = 12.423s 
    graphical.target reached after 9.067s in userspace
    Cheers Malcolm °¿° SUSE Knowledge Partner (Linux Counter #276890)
    SUSE SLE, openSUSE Leap/Tumbleweed (x86_64) | GNOME DE
    If you find this post helpful and are logged into the web interface,
    please show your appreciation and click on the star below... Thanks!

  3. #3

    Default Re: Is there cleaner way to speed up boot time? (wicked.service)

    Quote Originally Posted by malcolmlewis View Post
    Hi and welcome to the forum
    You can edit the settings in /etc/sysconfig/network/config file and reduce the entry from 30 to NULL;

    Code:
    WAIT_FOR_INTERFACES=""
    Read the rest of the notes in the file and edit as required Probably best to revert your other changes as well....

    Code:
    systemd-analyze
    
    Startup finished in 1.782s (kernel) + 1.407s (initrd) + 9.232s (userspace) = 12.423s 
    graphical.target reached after 9.067s in userspace
    Hi
    I reverted back the changes and tried changing the "/etc/sysconfig/network/config" file as you suggested (WAIT_FOR_INTERFACES=""), but it didn't work. wicked.service still takes about 19 seconds to load. Is there any command that needs to be run after the file was edited? Here is the content of my config file:

    Code:
    ## Type:        integer
    ## Default:     ""
    #
    # How log to wait for IPv6 autoconfig in ifup when requested with
    # the auto6 or +auto6 tag in BOOTPROTO variable.
    # When unset, a wicked built-in default defer time (10sec) is used.
    #
    AUTO6_WAIT_AT_BOOT="0"
    
    ## Type:        list(all,dns,none,"")
    ## Default:     ""
    #
    # Whether to update system (DNS) settings from IPv6 RA when requested
    # with the auto6 or +auto6 tag in BOOTPROTO variable.
    # Defaults to update if autoconf sysctl (address autoconf) is enabled.
    #
    AUTO6_UPDATE=""
    
    ## Type:        list(auto,yes,no)
    ## Default:     "auto"
    #
    # Permits to specify/modify a global ifcfg default. Use with care!
    #
    # This settings breaks rules for many things, which require carrier
    # before they can start, e.g. L2 link protocols, link authentication,
    # ipv4 duplicate address detection, ipv6 duplicate detection will
    # happen "post-mortem" and maybe even cause to disable ipv6 at all.
    # See also "man ifcfg" for further informations.
    #
    LINK_REQUIRED="auto"
    
    ## Type:        string
    ## Default:     ""
    #
    # Allows to specify a comma separated list of debug facilities used
    # by wicked. Negated facility names can be prepended by a "-", e.g.:
    #   "all,-events,-socket,-objectmodel,xpath,xml,dbus"
    #
    # When set, wicked debug level is automatically enabled.
    # For a complete list of facility names, see: "wicked --debug help".
    #
    WICKED_DEBUG=""
    
    ## Type:        list("",error,warning,notice,info,debug,debug1,debug2,debug3)
    ## Default:     ""
    #
    # Allows to specify wicked debug level. Default level is "notice".
    #
    WICKED_LOG_LEVEL=""
    ## Path:    Network/General
    ## Description:    Global network configuration
    #
    # Note: 
    # Most of the options can and should be overridden by per-interface
    # settings in the ifcfg-* files.
    #
    # Note: The ISC dhclient started by the NetworkManager is not using any
    # of these options -- NetworkManager is not using any sysconfig settings.
    #
    
    ## Type:        yesno
    ## Default:     yes
    # If ifup should check if an IPv4 address is already in use, set this to yes.
    #
    # Make sure that packet sockets (CONFIG_PACKET) are supported in the kernel,
    # since this feature uses arp, which depends on that.
    # Also be aware that this takes one second per interface; consider that when
    # setting up a lot of interfaces. 
    CHECK_DUPLICATE_IP="yes"
    
    ## Type:        list(auto,yes,no)
    ## Default:     auto
    # If ifup should send a gratuitous ARP to inform the receivers about its
    # IPv4 addresses. Default is to send gratuitous ARP, when duplicate IPv4
    # address check is enabled and the check were sucessful.
    #
    # Make sure that packet sockets (CONFIG_PACKET) are supported in the kernel,
    # since this feature uses arp, which depends on that.
    SEND_GRATUITOUS_ARP="auto"
    
    ## Type:        yesno
    ## Default:     no
    # Switch on/off debug messages for all network configuration stuff. If set to no
    # most scripts can enable it locally with "-o debug".
    DEBUG="no"
    
    ## Type:    integer
    ## Default:    30
    #
    # Some interfaces need some time to come up or come asynchronously via hotplug.
    # WAIT_FOR_INTERFACES is a global wait for all mandatory interfaces in
    # seconds. If empty no wait occurs.
    #
    WAIT_FOR_INTERFACES=""
    
    ## Type:    yesno
    ## Default:    yes
    #
    # With this variable you can determine if the SuSEfirewall when enabled
    # should get started when network interfaces are started.
    FIREWALL="yes"
    
    ## Type:    int
    ## Default:    30
    #
    # When using NetworkManager you may define a timeout to wait for NetworkManager
    # to connect in NetworkManager-wait-online.service.  Other network services
    # may require the system to have a valid network setup in order to succeed.
    #
    # This variable has no effect if NetworkManager is disabled.
    #
    NM_ONLINE_TIMEOUT="0"
    
    ## Type:        string
    ## Default:     "dns-resolver dns-bind ntp-runtime nis"
    #
    # This variable defines the start order of netconfig modules installed
    # in the /etc/netconfig.d/ directory.
    #
    # To disable the execution of a module, don't remove it from the list
    # but prepend it with a minus sign, "-ntp-runtime".
    #
    NETCONFIG_MODULES_ORDER="dns-resolver dns-bind dns-dnsmasq nis ntp-runtime"
    
    ## Type:        yesno
    ## Default:     no
    #
    # Enable netconfig verbose reporting.
    #
    NETCONFIG_VERBOSE="no"
    
    ## Type:    yesno
    ## Default:    no
    #
    # This variable enables netconfig to always force a replace of modified
    # files and automatically enables the -f | --force-replace parameter.
    #
    # The purpose is to use it as workaround, when some other tool trashes
    # the files, e.g. /etc/resolv.conf and you observe messages like this
    # in your logs on in "netconfig update" output:
    # ATTENTION: You have modified /etc/resolv.conf. Leaving it untouched.
    #
    # Please do not forget to also report a bug as we have a system policy
    # to use netconfig.
    #
    NETCONFIG_FORCE_REPLACE="no"
    
    ## Type:        string
    ## Default:     "auto"
    #
    # Defines the DNS merge policy as documented in netconfig(8) manual page.
    # Set to "" to disable DNS configuration.
    #
    NETCONFIG_DNS_POLICY="auto"
    
    ## Type:        string(resolver,bind,dnsmasq,)
    ## Default:     "resolver"
    #
    # Defines the name of the DNS forwarder that has to be configured.
    # Currently implemented are "bind", "dnsmasq" and "resolver", that
    # causes to write the name server IP addresses to /etc/resolv.conf
    # only (no forwarder). Empty string defaults to "resolver".
    #
    NETCONFIG_DNS_FORWARDER="resolver"
    
    ## Type:        yesno
    ## Default:     yes
    #
    # When enabled (default) in forwarder mode ("bind", "dnsmasq"),
    # netconfig writes an explicit localhost nameserver address to the
    # /etc/resolv.conf, followed by the policy resolved name server list
    # as fallback for the moments, when the local forwarder is stopped.
    #
    NETCONFIG_DNS_FORWARDER_FALLBACK="yes"
    
    ## Type:        string
    ## Default:     ""
    #
    # List of DNS domain names used for host-name lookup.
    # It is written as search list into the /etc/resolv.conf file.
    #
    NETCONFIG_DNS_STATIC_SEARCHLIST=""
    
    ## Type:        string
    ## Default:     ""
    #
    # List of DNS nameserver IP addresses to use for host-name lookup.
    # When the NETCONFIG_DNS_FORWARDER variable is set to "resolver",
    # the name servers are written directly to /etc/resolv.conf.
    # Otherwise, the nameserver are written into a forwarder specific
    # configuration file and the /etc/resolv.conf does not contain any
    # nameservers causing the glibc to use the name server on the local
    # machine (the forwarder). See also netconfig(8) manual page.
    #
    NETCONFIG_DNS_STATIC_SERVERS=""
    
    ## Type:        string
    ## Default:     "auto"
    #
    # Allows to specify a custom DNS service ranking list, that is which
    # services provide preferred (e.g. vpn services), and which services
    # fallback settings (e.g. avahi).
    # Preferred service names have to be prepended with a "+", fallback
    # service names with a "-" character. The special default value
    # "auto" enables the current build-in service ranking list -- see the
    # netconfig(8) manual page -- "none" or "" disables the ranking.
    #
    NETCONFIG_DNS_RANKING="auto"
    
    ## Type:        string
    ## Default:     ""
    #
    # Allows to specify options to use when writting the /etc/resolv.conf,
    # for example:
    #     "debug attempts:1 timeout:10"
    # See resolv.conf(5) manual page for details.
    #
    NETCONFIG_DNS_RESOLVER_OPTIONS=""
    
    ## Type:        string
    ## Default:     ""
    #
    # Allows to specify a sortlist to use when writting the /etc/resolv.conf,
    # for example:
    #     130.155.160.0/255.255.240.0 130.155.0.0"
    # See resolv.conf(5) manual page for details.
    #
    NETCONFIG_DNS_RESOLVER_SORTLIST=""
    
    ## Type:        string
    ## Default:     "auto"
    #
    # Defines the NTP merge policy as documented in netconfig(8) manual page.
    # Set to "" to disable NTP configuration.
    #
    NETCONFIG_NTP_POLICY="auto"
    
    ## Type:        string
    ## Default:     ""
    #
    # List of NTP servers.
    #
    NETCONFIG_NTP_STATIC_SERVERS=""
    
    ## Type:        string
    ## Default:     "auto"
    #
    # Defines the NIS merge policy as documented in netconfig(8) manual page.
    # Set to "" to disable NIS configuration.
    #
    NETCONFIG_NIS_POLICY="auto"
    
    ## Type:        string(yes,no,)
    ## Default:     "yes"
    #
    # Defines whether to set the default NIS domain. When enabled and no domain
    # is provided dynamically or in static settings, /etc/defaultdomain is used.
    # Valid values are:
    #  - "no" or ""         netconfig does not set the domainname
    #  - "yes"              netconfig sets the domainname according to the
    #                       NIS policy using settings provided by the first
    #                       iterface and service that provided it.
    #  - "<interface name>" as yes, but only using settings from interface.
    #
    NETCONFIG_NIS_SETDOMAINNAME="yes"
    
    ## Type:        string
    ## Default:     ""
    #
    # Defines a default NIS domain.
    #
    # Further domain can be specified by adding a "_<number>" suffix to
    # the NETCONFIG_NIS_STATIC_DOMAIN and NETCONFIG_NIS_STATIC_SERVERS
    # variables, e.g.: NETCONFIG_NIS_STATIC_DOMAIN_1="second".
    #
    NETCONFIG_NIS_STATIC_DOMAIN=""
    
    ## Type:        string
    ## Default:     ""
    #
    # Defines a list of NIS servers for the default NIS domain or the
    # domain specified with same "_<number>" suffix.
    #
    NETCONFIG_NIS_STATIC_SERVERS=""
    
    ## Type:    string
    ## Default:    ''
    #
    # Set this variable global variable to the ISO / IEC 3166 alpha2
    # country code specifying the wireless regulatory domain to set.
    # When not empty, ifup-wireless will be set in the wpa_supplicant
    # config or via 'iw reg set' command.
    #
    # Note: This option requires a wpa driver supporting it, like
    # the 'nl80211' driver used by default since openSUSE 11.3.
    # When you notice problems with your hardware, please file a
    # bug report and set e.g. WIRELESS_WPA_DRIVER='wext' (the old
    # default driver) in the ifcfg file.
    # See also "/usr/sbin/wpa_supplicant --help" for the list of
    # available wpa drivers.
    #
    WIRELESS_REGULATORY_DOMAIN=''

  4. #4
    Join Date
    Jun 2008
    Location
    Podunk
    Posts
    26,669
    Blog Entries
    15

    Default Re: Is there cleaner way to speed up boot time? (wicked.service)

    Quote Originally Posted by GekoOne View Post
    Hi
    I reverted back the changes and tried changing the "/etc/sysconfig/network/config" file as you suggested (WAIT_FOR_INTERFACES=""), but it didn't work. wicked.service still takes about 19 seconds to load. Is there any command that needs to be run after the file was edited? Here is the content of my config file:

    Code:
    ## Type:        integer
    ## Default:     ""
    #
    # How log to wait for IPv6 autoconfig in ifup when requested with
    # the auto6 or +auto6 tag in BOOTPROTO variable.
    # When unset, a wicked built-in default defer time (10sec) is used.
    #
    AUTO6_WAIT_AT_BOOT="0"
    
    ## Type:        list(all,dns,none,"")
    ## Default:     ""
    #
    # Whether to update system (DNS) settings from IPv6 RA when requested
    # with the auto6 or +auto6 tag in BOOTPROTO variable.
    # Defaults to update if autoconf sysctl (address autoconf) is enabled.
    #
    AUTO6_UPDATE=""
    
    ## Type:        list(auto,yes,no)
    ## Default:     "auto"
    #
    # Permits to specify/modify a global ifcfg default. Use with care!
    #
    # This settings breaks rules for many things, which require carrier
    # before they can start, e.g. L2 link protocols, link authentication,
    # ipv4 duplicate address detection, ipv6 duplicate detection will
    # happen "post-mortem" and maybe even cause to disable ipv6 at all.
    # See also "man ifcfg" for further informations.
    #
    LINK_REQUIRED="auto"
    
    ## Type:        string
    ## Default:     ""
    #
    # Allows to specify a comma separated list of debug facilities used
    # by wicked. Negated facility names can be prepended by a "-", e.g.:
    #   "all,-events,-socket,-objectmodel,xpath,xml,dbus"
    #
    # When set, wicked debug level is automatically enabled.
    # For a complete list of facility names, see: "wicked --debug help".
    #
    WICKED_DEBUG=""
    
    ## Type:        list("",error,warning,notice,info,debug,debug1,debug2,debug3)
    ## Default:     ""
    #
    # Allows to specify wicked debug level. Default level is "notice".
    #
    WICKED_LOG_LEVEL=""
    ## Path:    Network/General
    ## Description:    Global network configuration
    #
    # Note: 
    # Most of the options can and should be overridden by per-interface
    # settings in the ifcfg-* files.
    #
    # Note: The ISC dhclient started by the NetworkManager is not using any
    # of these options -- NetworkManager is not using any sysconfig settings.
    #
    
    ## Type:        yesno
    ## Default:     yes
    # If ifup should check if an IPv4 address is already in use, set this to yes.
    #
    # Make sure that packet sockets (CONFIG_PACKET) are supported in the kernel,
    # since this feature uses arp, which depends on that.
    # Also be aware that this takes one second per interface; consider that when
    # setting up a lot of interfaces. 
    CHECK_DUPLICATE_IP="yes"
    
    ## Type:        list(auto,yes,no)
    ## Default:     auto
    # If ifup should send a gratuitous ARP to inform the receivers about its
    # IPv4 addresses. Default is to send gratuitous ARP, when duplicate IPv4
    # address check is enabled and the check were sucessful.
    #
    # Make sure that packet sockets (CONFIG_PACKET) are supported in the kernel,
    # since this feature uses arp, which depends on that.
    SEND_GRATUITOUS_ARP="auto"
    
    ## Type:        yesno
    ## Default:     no
    # Switch on/off debug messages for all network configuration stuff. If set to no
    # most scripts can enable it locally with "-o debug".
    DEBUG="no"
    
    ## Type:    integer
    ## Default:    30
    #
    # Some interfaces need some time to come up or come asynchronously via hotplug.
    # WAIT_FOR_INTERFACES is a global wait for all mandatory interfaces in
    # seconds. If empty no wait occurs.
    #
    WAIT_FOR_INTERFACES=""
    
    ## Type:    yesno
    ## Default:    yes
    #
    # With this variable you can determine if the SuSEfirewall when enabled
    # should get started when network interfaces are started.
    FIREWALL="yes"
    
    ## Type:    int
    ## Default:    30
    #
    # When using NetworkManager you may define a timeout to wait for NetworkManager
    # to connect in NetworkManager-wait-online.service.  Other network services
    # may require the system to have a valid network setup in order to succeed.
    #
    # This variable has no effect if NetworkManager is disabled.
    #
    NM_ONLINE_TIMEOUT="0"
    
    ## Type:        string
    ## Default:     "dns-resolver dns-bind ntp-runtime nis"
    #
    # This variable defines the start order of netconfig modules installed
    # in the /etc/netconfig.d/ directory.
    #
    # To disable the execution of a module, don't remove it from the list
    # but prepend it with a minus sign, "-ntp-runtime".
    #
    NETCONFIG_MODULES_ORDER="dns-resolver dns-bind dns-dnsmasq nis ntp-runtime"
    
    ## Type:        yesno
    ## Default:     no
    #
    # Enable netconfig verbose reporting.
    #
    NETCONFIG_VERBOSE="no"
    
    ## Type:    yesno
    ## Default:    no
    #
    # This variable enables netconfig to always force a replace of modified
    # files and automatically enables the -f | --force-replace parameter.
    #
    # The purpose is to use it as workaround, when some other tool trashes
    # the files, e.g. /etc/resolv.conf and you observe messages like this
    # in your logs on in "netconfig update" output:
    # ATTENTION: You have modified /etc/resolv.conf. Leaving it untouched.
    #
    # Please do not forget to also report a bug as we have a system policy
    # to use netconfig.
    #
    NETCONFIG_FORCE_REPLACE="no"
    
    ## Type:        string
    ## Default:     "auto"
    #
    # Defines the DNS merge policy as documented in netconfig(8) manual page.
    # Set to "" to disable DNS configuration.
    #
    NETCONFIG_DNS_POLICY="auto"
    
    ## Type:        string(resolver,bind,dnsmasq,)
    ## Default:     "resolver"
    #
    # Defines the name of the DNS forwarder that has to be configured.
    # Currently implemented are "bind", "dnsmasq" and "resolver", that
    # causes to write the name server IP addresses to /etc/resolv.conf
    # only (no forwarder). Empty string defaults to "resolver".
    #
    NETCONFIG_DNS_FORWARDER="resolver"
    
    ## Type:        yesno
    ## Default:     yes
    #
    # When enabled (default) in forwarder mode ("bind", "dnsmasq"),
    # netconfig writes an explicit localhost nameserver address to the
    # /etc/resolv.conf, followed by the policy resolved name server list
    # as fallback for the moments, when the local forwarder is stopped.
    #
    NETCONFIG_DNS_FORWARDER_FALLBACK="yes"
    
    ## Type:        string
    ## Default:     ""
    #
    # List of DNS domain names used for host-name lookup.
    # It is written as search list into the /etc/resolv.conf file.
    #
    NETCONFIG_DNS_STATIC_SEARCHLIST=""
    
    ## Type:        string
    ## Default:     ""
    #
    # List of DNS nameserver IP addresses to use for host-name lookup.
    # When the NETCONFIG_DNS_FORWARDER variable is set to "resolver",
    # the name servers are written directly to /etc/resolv.conf.
    # Otherwise, the nameserver are written into a forwarder specific
    # configuration file and the /etc/resolv.conf does not contain any
    # nameservers causing the glibc to use the name server on the local
    # machine (the forwarder). See also netconfig(8) manual page.
    #
    NETCONFIG_DNS_STATIC_SERVERS=""
    
    ## Type:        string
    ## Default:     "auto"
    #
    # Allows to specify a custom DNS service ranking list, that is which
    # services provide preferred (e.g. vpn services), and which services
    # fallback settings (e.g. avahi).
    # Preferred service names have to be prepended with a "+", fallback
    # service names with a "-" character. The special default value
    # "auto" enables the current build-in service ranking list -- see the
    # netconfig(8) manual page -- "none" or "" disables the ranking.
    #
    NETCONFIG_DNS_RANKING="auto"
    
    ## Type:        string
    ## Default:     ""
    #
    # Allows to specify options to use when writting the /etc/resolv.conf,
    # for example:
    #     "debug attempts:1 timeout:10"
    # See resolv.conf(5) manual page for details.
    #
    NETCONFIG_DNS_RESOLVER_OPTIONS=""
    
    ## Type:        string
    ## Default:     ""
    #
    # Allows to specify a sortlist to use when writting the /etc/resolv.conf,
    # for example:
    #     130.155.160.0/255.255.240.0 130.155.0.0"
    # See resolv.conf(5) manual page for details.
    #
    NETCONFIG_DNS_RESOLVER_SORTLIST=""
    
    ## Type:        string
    ## Default:     "auto"
    #
    # Defines the NTP merge policy as documented in netconfig(8) manual page.
    # Set to "" to disable NTP configuration.
    #
    NETCONFIG_NTP_POLICY="auto"
    
    ## Type:        string
    ## Default:     ""
    #
    # List of NTP servers.
    #
    NETCONFIG_NTP_STATIC_SERVERS=""
    
    ## Type:        string
    ## Default:     "auto"
    #
    # Defines the NIS merge policy as documented in netconfig(8) manual page.
    # Set to "" to disable NIS configuration.
    #
    NETCONFIG_NIS_POLICY="auto"
    
    ## Type:        string(yes,no,)
    ## Default:     "yes"
    #
    # Defines whether to set the default NIS domain. When enabled and no domain
    # is provided dynamically or in static settings, /etc/defaultdomain is used.
    # Valid values are:
    #  - "no" or ""         netconfig does not set the domainname
    #  - "yes"              netconfig sets the domainname according to the
    #                       NIS policy using settings provided by the first
    #                       iterface and service that provided it.
    #  - "<interface name>" as yes, but only using settings from interface.
    #
    NETCONFIG_NIS_SETDOMAINNAME="yes"
    
    ## Type:        string
    ## Default:     ""
    #
    # Defines a default NIS domain.
    #
    # Further domain can be specified by adding a "_<number>" suffix to
    # the NETCONFIG_NIS_STATIC_DOMAIN and NETCONFIG_NIS_STATIC_SERVERS
    # variables, e.g.: NETCONFIG_NIS_STATIC_DOMAIN_1="second".
    #
    NETCONFIG_NIS_STATIC_DOMAIN=""
    
    ## Type:        string
    ## Default:     ""
    #
    # Defines a list of NIS servers for the default NIS domain or the
    # domain specified with same "_<number>" suffix.
    #
    NETCONFIG_NIS_STATIC_SERVERS=""
    
    ## Type:    string
    ## Default:    ''
    #
    # Set this variable global variable to the ISO / IEC 3166 alpha2
    # country code specifying the wireless regulatory domain to set.
    # When not empty, ifup-wireless will be set in the wpa_supplicant
    # config or via 'iw reg set' command.
    #
    # Note: This option requires a wpa driver supporting it, like
    # the 'nl80211' driver used by default since openSUSE 11.3.
    # When you notice problems with your hardware, please file a
    # bug report and set e.g. WIRELESS_WPA_DRIVER='wext' (the old
    # default driver) in the ifcfg file.
    # See also "/usr/sbin/wpa_supplicant --help" for the list of
    # available wpa drivers.
    #
    WIRELESS_REGULATORY_DOMAIN=''
    Hi
    Can you post the output from;
    Code:
    systemd-analyze blame | head -10
    systemd-analyze critical-chain
    Cheers Malcolm °¿° SUSE Knowledge Partner (Linux Counter #276890)
    SUSE SLE, openSUSE Leap/Tumbleweed (x86_64) | GNOME DE
    If you find this post helpful and are logged into the web interface,
    please show your appreciation and click on the star below... Thanks!

  5. #5

    Default Re: Is there cleaner way to speed up boot time? (wicked.service)

    Quote Originally Posted by malcolmlewis View Post
    Hi
    Can you post the output from;
    Code:
    systemd-analyze blame | head -10
    systemd-analyze critical-chain
    Code:
    systemd-analyze blame | head -10
             18.878s wicked.service
              1.272s apparmor.service
              1.134s wickedd.service
               827ms display-manager.service
               648ms systemd-logind.service
               567ms firewalld.service
               429ms systemd-udevd.service
               400ms initrd-switch-root.service
               325ms systemd-journald.service
               274ms plymouth-quit-wait.service
    Code:
    systemd-analyze critical-chain
    The time when unit became active or started is printed after the "@" character.
    The time the unit took to start is printed after the "+" character.
    
    graphical.target @22.678s
    └─display-manager.service @21.849s +827ms
      └─systemd-user-sessions.service @21.838s +9ms
        └─network.target @21.833s
          └─wicked.service @2.953s +18.878s
            └─wickedd-nanny.service @2.925s +25ms
              └─wickedd.service @1.788s +1.134s
                └─wickedd-dhcp4.service @1.665s +120ms
                  └─dbus.service @1.650s
                    └─basic.target @1.634s
                      └─paths.target @1.632s
                        └─smartd_generate_opts.path @1.611s
                          └─sysinit.target @1.572s
                            └─apparmor.service @298ms +1.272s
                              └─systemd-journald.socket
                                └─system.slice
                                  └─-.slice

  6. #6

    Default Re: Is there cleaner way to speed up boot time? (wicked.service)

    The value has to be "1" actually. Values "" and "0" does not work for some reason. So with these settings it works:

    Code:
    ## Type:        integer
    ## Default:     ""
    #
    # How log to wait for IPv6 autoconfig in ifup when requested with
    # the auto6 or +auto6 tag in BOOTPROTO variable.
    # When unset, a wicked built-in default defer time (10sec) is used.
    #
    AUTO6_WAIT_AT_BOOT="1"
    
    ## Type:        list(all,dns,none,"")
    ## Default:     ""
    #
    # Whether to update system (DNS) settings from IPv6 RA when requested
    # with the auto6 or +auto6 tag in BOOTPROTO variable.
    # Defaults to update if autoconf sysctl (address autoconf) is enabled.
    #
    AUTO6_UPDATE=""
    
    ## Type:        list(auto,yes,no)
    ## Default:     "auto"
    #
    # Permits to specify/modify a global ifcfg default. Use with care!
    #
    # This settings breaks rules for many things, which require carrier
    # before they can start, e.g. L2 link protocols, link authentication,
    # ipv4 duplicate address detection, ipv6 duplicate detection will
    # happen "post-mortem" and maybe even cause to disable ipv6 at all.
    # See also "man ifcfg" for further informations.
    #
    LINK_REQUIRED="auto"
    
    ## Type:        string
    ## Default:     ""
    #
    # Allows to specify a comma separated list of debug facilities used
    # by wicked. Negated facility names can be prepended by a "-", e.g.:
    #   "all,-events,-socket,-objectmodel,xpath,xml,dbus"
    #
    # When set, wicked debug level is automatically enabled.
    # For a complete list of facility names, see: "wicked --debug help".
    #
    WICKED_DEBUG=""
    
    ## Type:        list("",error,warning,notice,info,debug,debug1,debug2,debug3)
    ## Default:     ""
    #
    # Allows to specify wicked debug level. Default level is "notice".
    #
    WICKED_LOG_LEVEL=""
    ## Path:    Network/General
    ## Description:    Global network configuration
    #
    # Note: 
    # Most of the options can and should be overridden by per-interface
    # settings in the ifcfg-* files.
    #
    # Note: The ISC dhclient started by the NetworkManager is not using any
    # of these options -- NetworkManager is not using any sysconfig settings.
    #
    
    ## Type:        yesno
    ## Default:     yes
    # If ifup should check if an IPv4 address is already in use, set this to yes.
    #
    # Make sure that packet sockets (CONFIG_PACKET) are supported in the kernel,
    # since this feature uses arp, which depends on that.
    # Also be aware that this takes one second per interface; consider that when
    # setting up a lot of interfaces. 
    CHECK_DUPLICATE_IP="yes"
    
    ## Type:        list(auto,yes,no)
    ## Default:     auto
    # If ifup should send a gratuitous ARP to inform the receivers about its
    # IPv4 addresses. Default is to send gratuitous ARP, when duplicate IPv4
    # address check is enabled and the check were sucessful.
    #
    # Make sure that packet sockets (CONFIG_PACKET) are supported in the kernel,
    # since this feature uses arp, which depends on that.
    SEND_GRATUITOUS_ARP="auto"
    
    ## Type:        yesno
    ## Default:     no
    # Switch on/off debug messages for all network configuration stuff. If set to no
    # most scripts can enable it locally with "-o debug".
    DEBUG="no"
    
    ## Type:    integer
    ## Default:    30
    #
    # Some interfaces need some time to come up or come asynchronously via hotplug.
    # WAIT_FOR_INTERFACES is a global wait for all mandatory interfaces in
    # seconds. If empty no wait occurs.
    #
    WAIT_FOR_INTERFACES="1"
    
    ## Type:    yesno
    ## Default:    yes
    #
    # With this variable you can determine if the SuSEfirewall when enabled
    # should get started when network interfaces are started.
    FIREWALL="yes"
    
    ## Type:    int
    ## Default:    30
    #
    # When using NetworkManager you may define a timeout to wait for NetworkManager
    # to connect in NetworkManager-wait-online.service.  Other network services
    # may require the system to have a valid network setup in order to succeed.
    #
    # This variable has no effect if NetworkManager is disabled.
    #
    NM_ONLINE_TIMEOUT="1"
    
    ## Type:        string
    ## Default:     "dns-resolver dns-bind ntp-runtime nis"
    #
    # This variable defines the start order of netconfig modules installed
    # in the /etc/netconfig.d/ directory.
    #
    # To disable the execution of a module, don't remove it from the list
    # but prepend it with a minus sign, "-ntp-runtime".
    #
    NETCONFIG_MODULES_ORDER="dns-resolver dns-bind dns-dnsmasq nis ntp-runtime"
    
    ## Type:        yesno
    ## Default:     no
    #
    # Enable netconfig verbose reporting.
    #
    NETCONFIG_VERBOSE="no"
    
    ## Type:    yesno
    ## Default:    no
    #
    # This variable enables netconfig to always force a replace of modified
    # files and automatically enables the -f | --force-replace parameter.
    #
    # The purpose is to use it as workaround, when some other tool trashes
    # the files, e.g. /etc/resolv.conf and you observe messages like this
    # in your logs on in "netconfig update" output:
    # ATTENTION: You have modified /etc/resolv.conf. Leaving it untouched.
    #
    # Please do not forget to also report a bug as we have a system policy
    # to use netconfig.
    #
    NETCONFIG_FORCE_REPLACE="no"
    
    ## Type:        string
    ## Default:     "auto"
    #
    # Defines the DNS merge policy as documented in netconfig(8) manual page.
    # Set to "" to disable DNS configuration.
    #
    NETCONFIG_DNS_POLICY="auto"
    
    ## Type:        string(resolver,bind,dnsmasq,)
    ## Default:     "resolver"
    #
    # Defines the name of the DNS forwarder that has to be configured.
    # Currently implemented are "bind", "dnsmasq" and "resolver", that
    # causes to write the name server IP addresses to /etc/resolv.conf
    # only (no forwarder). Empty string defaults to "resolver".
    #
    NETCONFIG_DNS_FORWARDER="resolver"
    
    ## Type:        yesno
    ## Default:     yes
    #
    # When enabled (default) in forwarder mode ("bind", "dnsmasq"),
    # netconfig writes an explicit localhost nameserver address to the
    # /etc/resolv.conf, followed by the policy resolved name server list
    # as fallback for the moments, when the local forwarder is stopped.
    #
    NETCONFIG_DNS_FORWARDER_FALLBACK="yes"
    
    ## Type:        string
    ## Default:     ""
    #
    # List of DNS domain names used for host-name lookup.
    # It is written as search list into the /etc/resolv.conf file.
    #
    NETCONFIG_DNS_STATIC_SEARCHLIST=""
    
    ## Type:        string
    ## Default:     ""
    #
    # List of DNS nameserver IP addresses to use for host-name lookup.
    # When the NETCONFIG_DNS_FORWARDER variable is set to "resolver",
    # the name servers are written directly to /etc/resolv.conf.
    # Otherwise, the nameserver are written into a forwarder specific
    # configuration file and the /etc/resolv.conf does not contain any
    # nameservers causing the glibc to use the name server on the local
    # machine (the forwarder). See also netconfig(8) manual page.
    #
    NETCONFIG_DNS_STATIC_SERVERS=""
    
    ## Type:        string
    ## Default:     "auto"
    #
    # Allows to specify a custom DNS service ranking list, that is which
    # services provide preferred (e.g. vpn services), and which services
    # fallback settings (e.g. avahi).
    # Preferred service names have to be prepended with a "+", fallback
    # service names with a "-" character. The special default value
    # "auto" enables the current build-in service ranking list -- see the
    # netconfig(8) manual page -- "none" or "" disables the ranking.
    #
    NETCONFIG_DNS_RANKING="auto"
    
    ## Type:        string
    ## Default:     ""
    #
    # Allows to specify options to use when writting the /etc/resolv.conf,
    # for example:
    #     "debug attempts:1 timeout:10"
    # See resolv.conf(5) manual page for details.
    #
    NETCONFIG_DNS_RESOLVER_OPTIONS=""
    
    ## Type:        string
    ## Default:     ""
    #
    # Allows to specify a sortlist to use when writting the /etc/resolv.conf,
    # for example:
    #     130.155.160.0/255.255.240.0 130.155.0.0"
    # See resolv.conf(5) manual page for details.
    #
    NETCONFIG_DNS_RESOLVER_SORTLIST=""
    
    ## Type:        string
    ## Default:     "auto"
    #
    # Defines the NTP merge policy as documented in netconfig(8) manual page.
    # Set to "" to disable NTP configuration.
    #
    NETCONFIG_NTP_POLICY="auto"
    
    ## Type:        string
    ## Default:     ""
    #
    # List of NTP servers.
    #
    NETCONFIG_NTP_STATIC_SERVERS=""
    
    ## Type:        string
    ## Default:     "auto"
    #
    # Defines the NIS merge policy as documented in netconfig(8) manual page.
    # Set to "" to disable NIS configuration.
    #
    NETCONFIG_NIS_POLICY="auto"
    
    ## Type:        string(yes,no,)
    ## Default:     "yes"
    #
    # Defines whether to set the default NIS domain. When enabled and no domain
    # is provided dynamically or in static settings, /etc/defaultdomain is used.
    # Valid values are:
    #  - "no" or ""         netconfig does not set the domainname
    #  - "yes"              netconfig sets the domainname according to the
    #                       NIS policy using settings provided by the first
    #                       iterface and service that provided it.
    #  - "<interface name>" as yes, but only using settings from interface.
    #
    NETCONFIG_NIS_SETDOMAINNAME="yes"
    
    ## Type:        string
    ## Default:     ""
    #
    # Defines a default NIS domain.
    #
    # Further domain can be specified by adding a "_<number>" suffix to
    # the NETCONFIG_NIS_STATIC_DOMAIN and NETCONFIG_NIS_STATIC_SERVERS
    # variables, e.g.: NETCONFIG_NIS_STATIC_DOMAIN_1="second".
    #
    NETCONFIG_NIS_STATIC_DOMAIN=""
    
    ## Type:        string
    ## Default:     ""
    #
    # Defines a list of NIS servers for the default NIS domain or the
    # domain specified with same "_<number>" suffix.
    #
    NETCONFIG_NIS_STATIC_SERVERS=""
    
    ## Type:    string
    ## Default:    ''
    #
    # Set this variable global variable to the ISO / IEC 3166 alpha2
    # country code specifying the wireless regulatory domain to set.
    # When not empty, ifup-wireless will be set in the wpa_supplicant
    # config or via 'iw reg set' command.
    #
    # Note: This option requires a wpa driver supporting it, like
    # the 'nl80211' driver used by default since openSUSE 11.3.
    # When you notice problems with your hardware, please file a
    # bug report and set e.g. WIRELESS_WPA_DRIVER='wext' (the old
    # default driver) in the ifcfg file.
    # See also "/usr/sbin/wpa_supplicant --help" for the list of
    # available wpa drivers.
    #
    WIRELESS_REGULATORY_DOMAIN=''

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •