kernel kompilieren suse 8.0 cd-brenner Unterschied zw. scd0 und sr0 und USB Prob

Post Reply
Message
Author
linkfinger

kernel kompilieren suse 8.0 cd-brenner Unterschied zw. scd0 und sr0 und USB Prob

#1 Post by linkfinger »

Hi,

Ich habe mehrfach versucht ein Problem mit meinem IDE-Brenner zu lösen, was ich bisher noch nicht geschafft habe. Der IST-Zustand ist folgender:

1.
Installation von Suse 8.0. Keine Veränderung des Kernels. Brenner wird erkannt. SCSI-Emulation ist bereits vorinstalliert. cdrecord -scanbus weist den Brenner als scsi Gerät aus. Die Brennprogramme zeigen jedoch immer nur leere CDRWs an. Probleme mit ismod un cdrecord werden im Fehlerprotokoll angeführt.

2.
Kernel wird von mir zugeschnitten. Als Grundlage dient der Tipp bei Pro Linux zu CD-Brennern. Die Fehlermeldungen bleiben. Ein brennen ist nicht möglich.

3.
Ich hatte bereits unter Suse 7.3 erfolgreich alles installiert. Lediglich den 2.4.16er Patch eingespielt wegen Problemen mit USB Modems. Dort ging alles mit dem Tipp bei Pro-Linux zu CD-Brennern.

3.
Vor dem erneuten kompilieren hat Linux bereits den Brenner erkannt. Warum? was ist sr0? --> dev/sr0. Hat Linux seit den letzten Versionen irgendwie die IDE-Brenner-Unterstützung hinzubekommen und auf die SCSI-Emulation verzichtet? Könnte es sein, dass bei mir die Dateien cdrecord oder ismod (so das welche sind) irgend wie im Eimer sind? Kann mir mal jemand die Dateigrößen o. ä. der funktionierenden Dateien zukommen lassen, damit ich das überprüfen kann? Was ist ismod? Wozu dient das?

4.
Eine Anfrage an Suse hat noch nichts ergeben. Ich habe lediglich einen Befehl "siga" ausführen sollen und die entstandene Datei an Suse versandt.

5.
Mein USB-Modem Elsa Microlink 56 K USB wird automatisch erkannt und von mir ordnungsgemäß (hoffe ich) mit Yast2 konfiguriert. (Funktionierte unter Suse 7.3, 2.4.16 ohne Probleme). Der Verbindungsaufbau bringt Fehler (hatte ich schon weiter unten gepostet). Ich komme mit der Fehlermeldung aber nicht klar. Hat jemand einen Plan, was diese bedeutet, damit ich einen Ansatz zum weitersuchen habe? Wo kann ich bspw. eine Erklärung für die Fehlermeldungen herbekommen?

Bitte helft mir zumindest im Ansatz, da ich wirklich nicht weiter weiß. Ich kenne mich zwar ein wenig mit dem System aus, es überfordert mich jedoch, da ich nicht weiß, was Linux bei der SCSI Emulation oder dem USB Verbindungsaufbau macht.

Linkfinger

gewitter
Posts: 1354
Joined: 09. Apr 2001 9:03

Re: kernel kompilieren suse 8.0 cd-brenner Unterschied zw. scd0 und sr0

#2 Post by gewitter »

tip: die probleme seperat behandeln. ich kann zum beispiel nur was zu scsi sagen.

insmod ist dafür da module zu laden, offensichtlich versucht (vielleicht) cdrecord ein kernelmodul nachzuladen und es fehlt die notwendige berechtigung. Hier die Anleitung von Xcdroast, um das Problem in den Griff zu bekommen. Ich denke, wenn cdrecord das notwendige suid-bit hat, darf es auch module nachladen.

As GTK+ 1.2.9 was released the non-root mode stopped to work - the
security checks of the new GTK were prohibiting any suid or guid usage.
Alpha9 now comes with a special wrapper executable, which gets the
guid-bit set, and X-CD-Roast itself is free of any special modes.


If you do not want to let other users use X-CD-Roast, you are free
to skip all these instructions and just start X-CD-Roast always as root.
X-CD-Roast will display some warnings in this case, but run fine.

Please change the permissions according to this README to allow
normal users to run X-CD-Roast.


We have to create a new group "cdwrite".
Note: DO NOT PUT ANY USERS INTO THAT GROUP. This was common error
people made for alpha7. Do not change any group for any user.
Just create this group. Nothing more.


DO NOT CHANGE THE GENERIC SCSI DEVICES!
If you had made them writeable for group cdwrite for alpha7, restore
their permissions NOW!

chgrp sys /dev/sg* (or whatever group they were..)
chmod 600 /dev/sg*

The new wrapper becomes now set-gid cdwrite, which allows access to all
cdrecord-tools. Because all cdrecord-tools are suid-root, they have
full access to the generic-scsi-devices.

X-CD-Roast can now decide which user is allowed to burn, by checking the
configuration the root user created. Details about this later...


Setting the permissions
-----------------------

Please install cdrecord-1.10 now. You can copy the binaries
to $PREFIX (e.g. /usr/bin or /usr/local/bin) or to the library-directory
of xcdroast (e.g. /usr/local/lib/xcdroast-0.98/bin). X-CD-Roast will look
in both dirs. This is described in detail in the README-file.

On most current distributions cdrecord-1.10 should already pre-installed
in /usr/bin. In this case you have to set the $PREFIX to /usr in the
Makefile. Or use your private copies of cdrecord-1.10 in the lib-dir
of X-CD-Roast (or set $CDRTOOLS_PREFIX to /usr).


As result you may have an installation like this:

-rwxr-xr-x 1 root root 168828 Aug 8 20:17 /usr/bin/cdrecord
-rwxr-xr-x 1 root root 169308 Aug 8 20:17 /usr/bin/cdda2wav
-rwxr-xr-x 1 root root 324220 Aug 8 20:17 /usr/bin/mkisofs
-rwxr-xr-x 1 root root 90812 Aug 8 20:17 /usr/bin/readcd

In Linux the generic-scsi-devices should look like this:
(Most possible this does look different on non-linux-systems.
The non-root-mode was only tested on Linux and may not work
on other systems yet.)

crw------- 1 root sys 21, 2 Aug 24 11:00 /dev/sg0
crw------- 1 root sys 21, 2 Aug 24 11:00 /dev/sg1
crw------- 1 root sys 21, 2 Aug 24 11:00 /dev/sg2
...

If the generic-devices look different for you (e.g. still with group
"cdwrite" and read/write able for group), then please restore the
permissions as shown above)


Now run the following commands to set the special permissions needed
for X-CD-Roast:

/usr/sbin/groupadd cdwrite
cd /usr/bin; # OR cd /usr/local/bin - whatever
chown root:cdwrite cdrecord cdda2wav mkisofs readcd
chmod 4710 cdrecord cdda2wav mkisofs readcd

(Adds a new group "cdwrite" to the system and makes all the cdrecord-
binaries only runable by root or somebody in the cdwrite group)

This is the result:

-rws--x--- 1 root cdwrite 169308 Aug 8 20:17 /usr/bin/cdda2wav
-rws--x--- 1 root cdwrite 168828 Aug 8 20:17 /usr/bin/cdrecord
-rws--x--- 1 root cdwrite 324220 Aug 8 20:17 /usr/bin/mkisofs
-rws--x--- 1 root cdwrite 90812 Aug 8 20:17 /usr/bin/readcd


Any users which are in group cdwrite can now start all the cdwriting-tools.
(Again, for X-CD-Roast it is not necessary to put any users manually into
the cdwrite group! X-CD-Roast does handle that with the sgid-bit on the
wrapper)

Therefore all we have to do, is to put the wrapper into that group and we are
fine. This is done with the following commands:

After a make install the wrapper was installed in
/usr/local/lib/xcdroast-0.98/bin or /usr/lib/xcdroast-0.98/bin

Please change now to the corresponding directory and enter:

chown root:cdwrite xcdrwrap
chmod 2755 xcdrwrap

(Alternatively you can do a "make perms" which does set this permissions
automatically after a "make install" was done.)


Usage of the non-root-mode
--------------------------

After X-CD-Roast was installed and all the permissions set correctly,
it can be started.
The first time root have to start it, to create the root-configuration-file
/etc/xcdroast.conf. Without this file, a normal user will get an error
message.

Root gets a new menu in setup, which allows him to define which users can
start X-CD-Roast on which hosts. There is also the possibility of defining
how much a user is allowed to change in the setup-menu.
It's possible that a normal user should not be able to change the
cdwriter-device or the directory where image-files are created in. These
settings apply to ALL allowed users.
Please see the tooltip-help for a detailed description of each option.

After root saved the configuration, all normal users (which have
been given permission by root via the setup) can start up X-CD-Roast.
If root denied them access to some options in the setup, then this
options are greyed out, and cannot be changed.

Thats all - please point out any security problems. I tested this
only on Linux-systems, I am not sure if this works on other platforms.
If you use a non-Linux system and get X-CD-Roast running fine as non-root
user, please send me a detailed description of all changes.
Last edited by gewitter on 02. May 2002 9:23, edited 1 time in total.

linkfinger

Re: kernel kompilieren suse 8.0 cd-brenner Unterschied zw. scd0 und sr0 und USB

#3 Post by linkfinger »

Danke für die Nachricht, habe es auch gleich ausprobiert. Allerdings ging es auch mit "root" nicht. Nach wie vor. Ich poste noch einmal die Fehlermeldung.

4GB/kernel/drivers/block/paride/pg.o: insmod char-major-97 failed
Apr 30 10:37:46 linux kernel: paride: version 1.06 installed (parport)
Apr 30 10:37:46 linux kernel: pg: pg version 1.02, major 97
Apr 30 10:37:46 linux modprobe: modprobe: Can't locate module paride_protocol
Apr 30 10:37:46 linux kernel: pg0: Autoprobe failed
Apr 30 10:37:46 linux kernel: pg: No ATAPI device detected
Apr 30 10:37:46 linux insmod: /lib/modules/2.4.18-4GB/kernel/drivers/block/paride/pg.o: init_module: Operation not permitted
Apr 30 10:37:46 linux insmod: Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters
Apr 30 10:37:46 linux insmod: /lib/modules/2.4.18-4GB/kernel/drivers/block/paride/pg.o: insmod char-major-97 failed


Vielleicht kannst Du etwas damit anfangen.

Danke schon mal

Linkfinger

Post Reply