|
Bugzilla – Full Text Bug Listing |
| Summary: | package bootsplash causes mkinitrd to run inefficiently | ||
|---|---|---|---|
| Product: | [openSUSE] openSUSE 12.1 | Reporter: | Christoph Obexer <cobexer> |
| Component: | Basesystem | Assignee: | Michael Schröder <mls> |
| Status: | RESOLVED DUPLICATE | QA Contact: | E-mail List <qa-bugs> |
| Severity: | Major | ||
| Priority: | P5 - None | ||
| Version: | Milestone 2 | ||
| Target Milestone: | --- | ||
| Hardware: | i586 | ||
| OS: | Other | ||
| Whiteboard: | |||
| Found By: | --- | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
dup *** This bug has been marked as a duplicate of bug 679511 *** |
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0 running mkinitrd on my netbook takes very long. # time mkinitrd ... real 4m57.454s user 1m28.647s sys 2m49.530s there are 2 kernels with each normal and failsave bootoptions installed. i found that running hwinfo is very slow and a huge part of the mkinitrd runtime. please include the following change in the /lib/mkinitrd/scripts/setup-splash.sh script. running mkinitrd with the change below leads to: # time mkinitrd real 1m57.648s user 0m59.225s sys 0m48.373s its still not fast but way better =D on the line inserted mode contains 5 times the same resolution, hwinfo needed ~20s cpu to run each. there is still considerable room for improvement, but this is a start. i'm not a professional bash scripter, if it's dumb please improve it and get it into the bootsplash package! christophnet:~ # diff -c7 /lib/mkinitrd/scripts/setup-splash.sh_orig /lib/mkinitrd/scripts/setup-splash.sh *** /lib/mkinitrd/scripts/setup-splash.sh_orig 2011-06-28 07:54:33.089570463 +0200 --- /lib/mkinitrd/scripts/setup-splash.sh 2011-06-28 07:59:54.268068180 +0200 *************** *** 25,38 **** --- 25,40 ---- for file in $root_dir/{etc/lilo.conf,boot/grub/menu.lst,proc/cmdline}; do [ -e $file ] || continue modes="$modes $(sed -e '/^[ \t]*#/d' $file \ | sed -ne 's/^.*vga[ \t]*=[ \t]*\([^ \t]*\).*/\1/p' \ | sed -ne '/^\([0-9]\+\|0[xX][0-9a-fA-F]\+\)$/p')" done + modes="$(echo $modes | sed 's/ /\n/g' | sort -u)" + for mode in $modes; do case $(($mode)) in # $((...)) : Convert 0xFOO to decimal 785|786) splash_size_640x480=1 ;; 788|789) splash_size_800x600=1 ;; 791|792) splash_size_1024x768=1 ;; 794|795) splash_size_1280x1024=1 ;; *) vgahex=$(printf 0x%04x "$(($mode))") Reproducible: Always Steps to Reproduce: 1. run mkinitrd 2. 3. Actual Results: very slow Expected Results: fast versions: bootsplash-branding-openSUSE-3.1-92.1.noarch bootsplash-3.3-170.2.i586 mkinitrd-2.7.0-16.1.i586