How to fix a broken fglrxrebuild start up script ?

A month or so ago I was trying to fix a boot up issue with fglrx module loading and tried to temporarily disable the fglrxrebuild startup mechanism by

mv /etc/init.d/boot.fglrxrebuild boot.fglrxrebuild.block

That had the unintended consequence of removing the symbolic link entries in /etc/init.d/boot.d that run boot.fglrxrebuild.

With today’s kernel update to 2.6.37.6-0.9-desktop, I noticed no fglrxrebuild activity in the logs (/var/log/boot.msg) and X started up but with lots of flicker and no fglrx module - fglrxrebuild had not recompiled.

I made to following corrections (by comparison to another system which also runs fglrx)


/etc/init.d> ll
........
-rwxr-xr-x 1 root root  8547 Oct 11 14:33 boot.fglrxrebuild
........

cd boot.d
ln -s ../boot.fglrxrebuild K01boot.fglrxrebuild
ln -s ../boot.fglrxrebuild S13boot.fglrxrebuild

and now have
/etc/init.d/boot.d> ll
total 0
..........
lrwxrwxrwx 1 root root 20 Nov  9 09:16 K01boot.fglrxrebuild -> ../boot.fglrxrebuild
........
lrwxrwxrwx 1 root root 20 Nov  9 09:17 S13boot.fglrxrebuild -> ../boot.fglrxrebuild
.............

I rebooted, but still no fglrxrebuild messages or action.

I was able to manually recover the system from CLI

/etc/init.d> ./fglrxrebuild
and then restart X

What might I have missed to get the script to automatically run again?

I don’t know. It looks right to me. But you could run (at any time):

/etc/init.d/boot.fglrxrebuild start

and watch the output.

Btw, I fixed atiupgrade today. You were right, it was broken. See my post here: Did AMD break atiupgrade ?. I’m sorry that it took me so long to figure out, but when I went to the ATI download page, I only found version 11.9, and even the link posted by @keellambert in this other thread led to version 11.9 (at least for me). Something’s wrong in ATI’s website.

On 2011-11-09 16:36, cmcgrath5035 wrote:
> I made to following corrections (by comparison to another system which
> also runs fglrx)
>
> Code:
> --------------------
>
> /etc/init.d> ll
> …
> -rwxr-xr-x 1 root root 8547 Oct 11 14:33 boot.fglrxrebuild
> …
>
> cd boot.d
> ln -s …/boot.fglrxrebuild K01boot.fglrxrebuild
> ln -s …/boot.fglrxrebuild S13boot.fglrxrebuild
>
>
> --------------------

The links are not used, they are for show.

You have to use: “chkconfig service on” for whatever service you need.


Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)

I don’t know. It looks right to me. But you could run (at any time):

 Code:

/etc/init.d/boot.fglrxrebuild start
and watch the output.

Thanks P_t_a for the suggestion - that is in fact what I did but poorly described it in my first post.
It ran with normal progression messages and properly recompiled and installed a new fglrx.ko.

With regard to atiupgrade - I have updated to the latest version, but when I run it it still tells me 11-9 is the most recent.
Is there in fact an 11-10? Wait, I just checked, they fixed their GUI front end and in fact a 11-10 is found at ATI Catalyst

I’ll try atiupgrade again.

The links are not used, they are for show.

You have to use: “chkconfig service on” for whatever service you need.

Carlos - I’m not sure this is a “service”, I thought it was a script that just ran at boot and completed.
I ran chkconfig on another Suse/ATI system I have and fglrxrebuild is not listed there.

On 2011-11-09 19:46, cmcgrath5035 wrote:

>> You have to use: “chkconfig service on” for whatever service you need.
>
> Carlos - I’m not sure this is a “service”, I thought it was a script
> that just ran at boot and completed.

Those are services :slight_smile:

> I ran chkconfig on another Suse/ATI system I have and fglrxrebuild is
> not listed there.

I can not verify as I don’t have ATI cards. Boot services are not listed, I
see, but they have to be activated (or deactivated) that way:

[BOOT]
Telcontar:~ # chkconfig boot.clock
boot.clock on
Telcontar:~ # chkconfig boot.lvm
boot.lvm off
Telcontar:~ #
[/BOOT]


Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)

OK, I did check my system (as root)

/home/carl> chkconfig boot.fglrxrebuild
boot.fglrxrebuild  on

Where are these boot services managed, or should I say, where are they turned on and off?

I got confused a bit when none of them appeared with a simple chkconfig, which returns the status of all the system services one sees under YAST-System Services(Runlevel).

Duh, I just opened YAST-System Services(Runlevel) and in Expert mode all the boot.xx services appear!

So now I have to figure out why it did not seem to run…

On 2011-11-09 23:46, cmcgrath5035 wrote:

> Where are these boot services managed, or should I say, where are they
> turned on and off?

There, but…

The links are the old system. It is there, but not really used, except
perhaps with a different options setup. Perhaps with parallel no.

The system (till 11.4) are these files:

.depend.boot
.depend.halt
.depend.start
.depend.stop

It is a system similar to makefiles. The manual pages explain it a bit.

> I got confused a bit when none of them appeared with a simple
> chkconfig, which returns the status of all the system services one sees
> under YAST-System Services(Runlevel).

But not boot or halt services. Yes, it is confusing. I do not know why they
do not show.

> Duh, I just opened YAST-System Services(Runlevel) and in Expert mode
> all the boot.xx services appear!

Different tool.

> So now I have to figure out why it did not seem to run…

It maybe something internal to that script.


Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)

Thanks to both of you for your help here.

atiupgrade
I apparently missed the update you posted; went back and made sure I got it.
It executed, downloaded, compiled and installed Catalyst 11-10 (the latest).
All is well on that front now.

fglrxrebuild
As I noted above, chkconfig boot.fglrxrebuild returns ON.
Having searched my other SuSE machines that have ATI (and atiupgrade and fglrxrebuild) I have concluded that the output of the fglrxrebuild script (several progress reports via /bin/echo) goes only to the startup console an not into either /var/log/boot.msg or /var/log/messages. I know I have seen these messages on the console at boot, but only when a recompile is necessary and takes some time, stalling the boot-up process. The log at /var/log/fglrx-build.log does update, but only when a rebuild is required.
A normal boot, not requiring action by fglrxrebuild, scrolls by much too quickly to be read.

So now I am off to browse some man pages to see how the mechanism works.
I thought I understood it, the the sequencing managed by the name sorting of the links for start and stop.
If the links are just for show, then I am wondering how the order in which the services execute is managed.
It is not obvious from just looking at /etc/init.d/.depend.boot.
And Carlos, you sort of imply that when 12.x arrives soon, it will look very different anyway.

I too actually had problem updating version 2.9 to 2.9.1 with zypper. Deleting and reinstalling gave me the latest code (which is also available by copying/pasting from here or from here (although the article still says 2.6, it includes indeed the latest code 2.9.1).

I don’t know what I did wrong with the package version. The latest code is 2.9.1 and is able to get Catalyst 11.10.

# **rpm -qa | grep atiupgrade**
atiupgrade-**2.9.1**-32.1.noarch

# **atiupgrade**
 (1) - analyzing system... 
 (2) - get latest Catalyst version number...
Latest Catalyst version (**11.10**) already installed. Do you want to continue? [yn]

I just ran Yast-Software Management on my (slower) laptop and downloaded the new kernel.
On reboot, I saw the console messages from fglrxrebuild script(service) about 25 lines down on the console, right after a Line: Creating /var/log/boot.msg
It successfully rebuilt the fglrx.ko for the new kernel.

No entries found in boot.msg, so I’ll conclude that the service outputs are available on the live console only.

On 2011-11-10 12:56, cmcgrath5035 wrote:
>
> I have concluded that the output of the fglrxrebuild
> script (several progress reports via /bin/echo) goes only to the startup
> console an not into either /var/log/boot.msg or /var/log/messages.

I /think/ that messages on the boot.msg log are captured by the calling
(parent) program, not because the script explicitly writes there.

Writing into the messages file, instead, is done with calls to “logger”.

> So now I am off to browse some man pages to see how the mechanism
> works.
> I thought I understood it, the the sequencing managed by the name
> sorting of the links for start and stop.

That /was/ the idea.

Actually, the order of execution is that of the alphabetic order in that
directory; but links you create directly without calling innserv or
chkconfig are ignored. Perhaps they are used if you disable parallel
booting, I’m unsure of that.

> If the links are just for show, then I am wondering how the order in
> which the services execute is managed.

From those depend files.

And those are created from information in the comment section in each
script, the section that start with the line “### BEGIN INIT INFO”.

> It is not obvious from just looking at /etc/init.d/.depend.boot.

No, it is not. Check “man init.d” for starters. There is also a section in
the book.

> And Carlos, you sort of imply that when 12.x arrives soon, it will look
> very different anyway.

Indeed, the system has changed completely, and I’m not familiar with it.


Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)

> And Carlos, you sort of imply that when 12.x arrives soon, it will look
> very different anyway.

Indeed, the system has changed completely, and I’m not familiar with it.

But you will be soon, I’m sure.

Thanks for the comments

On 2011-11-10 16:56, cmcgrath5035 wrote:
> But you will be soon, I’m sure.

Dunno… If I upgrade, I intend to keep the old system if I can.

Instead, I intend to see how you people cope with it, and I learn from your
problems.

>;-)


Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)