# (nicht gelöst)cdemu-daemon kann nicht geladen werden

## LuxJux

Splitted von Hier

Bitte nicht daran stören, daß es sich um calc-Linux handelt.

Bei gentoo schwimmen mir i.M. die Felle daweg. Selbes Problem besteht dort auch.

Und dann erstmal abwarten, um was sich das mit der intel-Sicherheitslücke-für-alle-bis-10Jahre alte Kernel-Zugriff-

Speicher-Verwaltung handelt.

(Für Linux soll es ja schon einen Patch geben)

Edit: Betrifft aber dieses Problem nicht, oder vielleicht doch ?

```
guest@plasma ~ $ su -

Passwort: 

plasma ~ # eix-update

Lese Portage-Konfiguration…

Erzeuge Datenbank (/var/cache/eix/portage.eix)…

[0] „gentoo“ /usr/portage/ (Cache: metadata-md5-or-flat)

     Lese Kategorie 164|164 (100) Fertig             

[1] „distros“ /var/lib/layman/distros (Cache: parse|ebuild*#metadata-md5#metadata-flat#assign)

     Lese Kategorie 164|164 (100) LEER!

[2] „calculate“ /var/lib/layman/calculate (Cache: parse|ebuild*#metadata-md5#metadata-flat#assign)

     Lese Kategorie 164|164 (100) Fertig         

Maskiere Pakete…

Berechne Hash-Tabellen…

Schreibe Datenbank-Datei /var/cache/eix/portage.eix…

Datenbank enthält 19716 Pakete in 164 Kategorien.

plasma ~ # emerge --sync

>>> Syncing repository 'gentoo' into '/usr/portage'...

/usr/bin/git pull

fatal: No remote repository specified.  Please, specify either a URL or a

remote name from which new revisions should be fetched.

!!! git pull error in /usr/portage

q: Updating ebuild cache in /usr/portage ... 

q: Finished 37666 entries in 7.393764 seconds

>>> Syncing repository 'calculate' into '/var/lib/layman/calculate'...

>>> Starting layman sync for calculate...

 * Warning: an installed db file was not found at: ['/var/lib/layman/cache_930c3ed4a5f89f74fd810585751a06e3.xml']

 * Running Git... # ( cd /var/lib/layman/calculate  && /usr/libexec/calculate/cl-git-wrapper pull )

Repositories synchronization                                                                 

 * Checking Calculate updates ...                                                                                                         [ ok ]

 * Synchronization finished                                                                               

System configuration                                                                                               

 * Update server http://miroir.linuxtricks.fr/calculate                                                                

 * System update finished!                                                                                                    

 *                                                                                                                                 

 * Succeeded:                                                                                                                         

 * ------                                                                                                                                

 * Successfully synchronized overlay "calculate".                                                                                           

 *                                                                                                                                            

 *                                                                                                                                             

 * Warnings:                                                                                                                                    

 * ------                                                                                                                                        

 * Overlay "calculate" could not be found in the remote lists.                                                                                   

 * Please check if it has been renamed and re-add if necessary.                                                                                  

 *                                                                                                                                              

>>> layman sync succeeded: calculate

>>> laymansync sez... "Hasta la sync ya, baby!"

=== Sync completed for calculate

q: Updating ebuild cache in /var/lib/layman/calculate ... 

q: Finished 157 entries in 0.001175 seconds

>>> Syncing repository 'distros' into '/var/lib/layman/distros'...

>>> Starting layman sync for distros...

 * Warning: an installed db file was not found at: ['/var/lib/layman/cache_930c3ed4a5f89f74fd810585751a06e3.xml']

 * Running Git... # ( cd /var/lib/layman/distros  && /usr/libexec/calculate/cl-git-wrapper pull )

Repositories synchronization

 * Checking Distros updates ...                                                                                                           [ ok ]

 * Synchronization finished

System configuration

 * Update server http://miroir.linuxtricks.fr/calculate

 * System update finished!

 * 

 * Succeeded:

 * ------

 * Successfully synchronized overlay "distros".

 * 

 * 

 * Warnings:

 * ------

 * Overlay "distros" could not be found in the remote lists.

 * Please check if it has been renamed and re-add if necessary.

 * 

>>> layman sync succeeded: distros

>>> laymansync sez... "Hasta la sync ya, baby!"

=== Sync completed for distros

q: Updating ebuild cache in /var/lib/layman/distros ... 

q: Finished 0 entries in 0.000015 seconds

 * IMPORTANT: 7 news items need reading for repository 'gentoo'.

 * Use eselect news read to view new items.

Action: sync for repo: gentoo, returned code = 1

Action: sync for repo: calculate, returned code = 0

Action: sync for repo: distros, returned code = 0

--------------------------------------------------------------------------------------

plasma ~ # emerge -av cdemu-daemon

Local copy of remote index is up-to-date and will be used.

 * IMPORTANT: 7 news items need reading for repository 'gentoo'.

 * Use eselect news read to view new items.

These are the packages that would be merged, in order:

Calculating dependencies... done!

[binary   R    ] app-cdr/cdemu-daemon-3.1.0:0/7::gentoo  0 KiB

Total: 1 package (1 reinstall, 1 binary), Size of downloads: 0 KiB

Would you like to merge these packages? [Yes/No] 

>>> Emerging binary (1 of 1) app-cdr/cdemu-daemon-3.1.0::gentoo

>>> Installing (1 of 1) app-cdr/cdemu-daemon-3.1.0::gentoo

>>> Recording app-cdr/cdemu-daemon in "world" favorites file...

>>> Jobs: 1 of 1 complete                           Load avg: 1.77, 1.61, 0.96

 * Messages for package app-cdr/cdemu-daemon-3.1.0:

 * You will need to load the vhba module to use cdemu devices:

 *  # modprobe vhba

 * To automatically load the vhba module at boot time, edit your

 * /etc/conf.d/modules file.

>>> Auto-cleaning packages...

>>> No outdated packages were found on your system.

 * GNU info directory index is up-to-date.

 * IMPORTANT: 7 news items need reading for repository 'gentoo'.

 * Use eselect news read to view new items.

plasma ~ # 

plasma ~ # modprobe vhba

plasma ~ # modprobe cdemu-daemon

modprobe: FATAL: Module cdemu-daemon not found in directory /lib/modules/4.14.12-calculate

plasma ~ # eselect kernel list

Available kernel symlink targets:

  [1]   linux-4.14.9-calculate

  [2]   linux-4.14.12-calculate *

plasma ~ # 

plasma ~ # rc-update add cdemu-daemon default

 * rc-update: service `cdemu-daemon' does not exist

```

Hat jemand eine Idee, wieso das nicht funktioniert ?

Edit: fixed link, by request of the posting user. -- desultoryLast edited by LuxJux on Tue Jan 16, 2018 10:30 pm; edited 2 times in total

----------

## LuxJux

>>> Installing (1 of 1) app-cdr/cdemu-daemon-3.1.0::gentoo 

Was könnte noch für ein Problem vorhanden sein ?

----------

## ChrisJumper

Hi LuxJux

Ich hatte hier auch irgendein problem mit dem Kernel 4.14.12, vielleicht probierst du einfach mal Version 4.14.11-r2 aus, das beinhaltet auch schon die Meltdown KAISER Patches.

Schau mal in den thread den du hier gesplited hast, eventuell brauchst du cdemu nicht. Ich hab dir da geschrieben wie du ein disk image quasi als cd einhöngen kannst. Was da aber noch fehlte, in meinem Hinweis war wie man in ISO-Image erstellt. Das geht am einfachsten mit dd und da kannst du einfach mal die Suchmaschine befragen und die spuckt dir haufweise Lösungen aus um von einer cd/dvd ein disk-image zu erstellen.

Die Fehlermeldungen die du da von eix-update hast, haben irgendwas mit deinen Overlays zu tun

Zum einen wird dein normales gentoo portage nicht ordentlich geupdatet schau:

```
>>> Syncing repository 'gentoo' into '/usr/portage'...

/usr/bin/git pull 

fatal: No remote repository specified.  Please, specify either a URL or a

remote name from which new revisions should be fetched. 
```

Kann aber auch sein das du halt öfter versuchst hast zu synchronisieren und deswegen der Server einfach nicht antwortet. Weiß ja nicht wann du das quote kopiert hast.

Auch nicht gesund schaut aus das mit dem calculate-update bei dem layman overlay:

```
>>> Starting layman sync for calculate...

 * Warning: an installed db file was not found at: ['/var/lib/layman/cache_930c3ed4a5f89f74fd810585751a06e3.xml']

 * Running Git... # ( cd /var/lib/layman/calculate  && /usr/libexec/calculate/cl-git-wrapper pull )

Repositories synchronization                                                                 

 * Checking Calculate updates ...                                                                                                         [ ok ]

 * Synchronization finished
```

Wobei letztlich ja da steht das es dann doch geklappt hat. Aber vielleicht löschst du einfach die Overlays noch mal und legst die neu an. Bei dem git Pull von Protage finde ich das irgendwie seltsam.

Hast du da einen besonderen Mirror eingetragen für den portage-sync? Normal muss das ja in /etc/portage/repos.conf/gentoo.conf

Sezifiziert sein. Das default gentoo.org Wiki hat da normalerweise:

```
 $ cat /etc/portage/repos.conf/gentoo.conf 

[DEFAULT]

main-repo = gentoo

[gentoo]

location = /usr/portage

sync-type = rsync

sync-uri = rsync://rsync.gentoo.org/gentoo-portage

auto-sync = yes

```

drin stehen. Aber ich weiß ja nicht welches Gentoo du verwendest. Eventuell da noch mal nach schlagen.

Eine Fehlermeldung wegen dem cdemu-daemon:

```
# modprobe cdemu-daemon

modprobe: FATAL: Module cdemu-daemon not found in directory /lib/modules/4.14.12-calculate 
```

Deutet entweder darauf hin das dir noch irgendwas als Kernel-Mdoul fehlt. Normalerweise benutzt man modprobe ja um Kernel-Treiber-Module zu laden.

Da du aber den cdemu-daemon versuchst per rc-update zu starten. Glaube ich eher folgendes:

1. Du braust modprobe cdemu-daemon nicht als Kernel-Modul zu laden. Denn cdemu-daemon spricht beim emerge ja nur von vhba als Modul und das hast du ja mit #  modprobe vhba erfolgreich geladen.

2. Es kann das du systemd verwendest und deswegen rc-update falsch ist. rc-update ist für open-rc Systeme und wenn man als Init-Script Start-Skripte hinzufügen will die unter /etc/init.d/cdemu-daemon liegen würden.

Das was du brauchst, wenn du ein systemd Init-System verwendest wäre cdemu-daemon.service, das müsste irgendwo unter /usr/lib/systemd/system/ liegen. Und wie systemd typisch müsstest du dann # systemctl enable cdemu-daemon quasi als äquivalent zu dem rc-update add cdemu-daemon Befehl ausführen.

Aber schau auch noch mal ins cdemu wiki bei archlinux, weil es gibt kein wiki.gentoo.org Teil der das behandelt und ich weiß ja nicht wo du einem Howto gefolgt bist. Bei Archlinux werden auch noch andere Kernel-Module genannt und eventuell ist das aktuelle und du hast noch irgendein Kernel-Modul vergessen.

Ich hab keine Ahnung was dieses in dem Wiki vorgeschlagene # modprobe sg sr_mod sein soll, aber das findest du schon mit der suchmaschine deiner wahrl raus. Vielleicht ist aber auch das gentoo-paket zu app-cdr/cdemu-daemon nicht sonderlich taufrisch. Immerhin hat es ja nicht mal ein systemd Use-Flag.

Aber wie gesagt gut möglich das du ein open-rc System hast und dieses modprobe vhba im aktuelleren Kernel durch ein sg Kernel-Modul ersetzt wurde, ich kenne mich mit cdemu leider nicht aus.

----------

## LuxJux

 *LuxJux wrote:*   

> Bitte nicht daran stören, daß es sich um calc-Linux handelt.

 

----------

## LuxJux

```

plasma ~ # modprobe vhba

plasma ~ # cdemu-daemon

Starting CDEmu daemon with following parameters:

 - num devices: 1

 - control device: /dev/vhba_ctl

 - audio driver: null

 - bus type: session

cdemu0: Mapping: device mapping (SCSI generic) for device #0 could not be determined; device mapping info for this device will not be available

^Z

[1]+  Angehalten              cdemu-daemon

plasma ~ # 

```

syslog erzählt noch folgendes

```
Jan 12 14:00:01 plasma cron[4962]: (root) CMD (test -x /usr/sbin/run-crons && /usr/sbin/run-crons)

Jan 12 14:00:01 plasma run-crons[4968]: (root) CMD (/etc/cron.hourly/clocksync)

Jan 12 14:10:01 plasma cron[6543]: (root) CMD (test -x /usr/sbin/run-crons && /usr/sbin/run-crons)

Jan 12 14:11:23 plasma kernel: vhba: loading out-of-tree module taints kernel.

Jan 12 14:11:23 plasma kernel: scsi host6: vhba

Jan 12 14:11:32 plasma kernel: scsi 6:0:0:0: CD-ROM            CDEmu    Virt. CD/DVD-ROM 1.10 PQ: 0 ANSI: 0

Jan 12 14:11:32 plasma kernel: sr 6:0:0:0: [sr0] scsi3-mmc drive: 48x/48x writer dvd-ram cd/rw xa/form2 cdda tray

Jan 12 14:11:32 plasma kernel: cdrom: Uniform CD-ROM driver Revision: 3.20

Jan 12 14:11:32 plasma kernel: sr 6:0:0:0: Attached scsi CD-ROM sr0

Jan 12 14:12:11 plasma kernel: sr 6:0:0:0: abort 54

Jan 12 14:12:45 plasma kernel: sr 6:0:0:0: abort 55

```

----------

## LuxJux

 *Quote:*   

> Loading a single image to first device:
> 
> # cdemu load 0 ~/image.mds

 

iso geht wohl nicht. Schmeiß mal die kleine Kiste an und bastel mir erstmal ein .mdf/.mds

Edit: Doch ohne daemon ist aller Liebe Müh vergebens

----------

## ChrisJumper

Du hast ja in deinem Beispiel cdemu-daemon sofort ausgeführt.

Dann bleibt das Terminal quasi an den daemon-Prozess gebunden. Wenn du den Prozess in den Hintergrund legen willst musst du das  dann wie wenn in deinem Terminal der Daemon sofort gestartet wird. Wenn du dann STRG + Z verwendest hälst du den ja an und könntest mit einem anderen Befehl den ich gerade nicht kenne den daemon Weiter laufen lassen. Du drückst quasi auf die Stopp taste.

Man kann dann fg oder bg verwenden um laufende Programme in den Hintergrund oder Vordergrund zu verschieben. Ich kenne leider nicht den Shortcut um z.B. dein cdemu-daemon wieder hervor zu holen. Ich gaube man musste dann fg und die PID angeben.

Alternativ kannst du wenn du den Daemon schon manuell ohne Start-Skript starten willst (dann musst du dich aber auch selber ums Managen kümmern) halt das Ampersand verwenden

```
# cdemu-daemon &
```

Dann läuft der weiter und du hast deine Terminal direkt wieder für weiter befehle, aber Ausgaben von cdemu werden in deinem Terminal eventuell trotzdem ausgegeben werden, auch wenn du da was anders machst das verwirrt manchmal. Normal ist der Befehl für den Fall das du dir ein Starter- oder Init-Skript schreibst, aber dann musst du dich auch um das Logging kümmern oder um die Fehlermeldungen von cdemu-daemon.

Laut syslog schaut es ja funktionierend aus.

```
Jan 12 14:11:32 plasma kernel: sr 6:0:0:0: [sr0] scsi3-mmc drive: 48x/48x writer dvd-ram cd/rw xa/form2 cdda tray

Jan 12 14:11:32 plasma kernel: cdrom: Uniform CD-ROM driver Revision: 3.20

Jan 12 14:11:32 plasma kernel: sr 6:0:0:0: Attached scsi CD-ROM sr0

Jan 12 14:12:11 plasma kernel: sr 6:0:0:0: abort 54

Jan 12 14:12:45 plasma kernel: sr 6:0:0:0: abort 55 
```

Das abort 54 oder abort 55 kam wahrscheinlich nur weil du den Befehl mit Strg Z angehalten hast und oder später komplett abgebrochen (Mit Strg - C oder kill via htop/top F9 .. Send Signal, oder direkt per kill  und der PID von cdemu-daemon Prozess.)

Das es klappte steht ja da: sr 6:0:0:0 Attached scsi CD-ROM sr0. Also du findest das cdemu Ding unter /dev/sr0, solange der Prozess natürlich nicht angehalten wurde oder im Hintergrund terminiert.

Prozesse die du mit Strg Z anhältst kannst du halt mit fg PID wieder weiter laufen lassen, aber dann ist das Terminal auch wieder gebunden. Willst du das Terminal nicht gebunden haben, brauchst du entweder mehr Fenster, andere Konsolen oder machst einfach fg PID & Alternative kannst du auch app-misc/screen (screen manager for terminal emulation) Sitzung laufen lassen.

Edit: Wegen der Warung: device mapping info for this device will not be available

Da bin ich  mir nicht so sicher, laut Mailing Liste hat man dann wahrscheinlich auch die Kernel-Module sg oder sr_mod wahrscheinlich nicht geladen. Aber wie gesagt ich hab cdemu noch nie benutzt, hoffe das hilft dir irgendwie weiter.

----------

## LuxJux

```
plasma ~ # Starting CDEmu daemon with following parameters:

 - num devices: 1

 - control device: /dev/vhba_ctl

 - audio driver: null

 - bus type: session

cdemu0: Mapping: device mapping (SCSI generic) for device #0 could not be determined; device mapping info for this device will not be available

plasma ~ # mkdir /dev/sr0

mkdir: das Verzeichnis „/dev/sr0“ kann nicht angelegt werden: Die Datei existiert bereits

plasma ~ # 
```

Der Start aus dem Menu

```

g-dbus-error-quark

Fehler beim Aufruf

BDBus.Error.org.freedesktop.DBus.Error.Spawn.ChildExited with Status 255(25)

```

vhba und daemon sind am laufen

----------

## LuxJux

 *ChrisJumper wrote:*   

> .....hat man dann wahrscheinlich auch die Kernel-Module sg oder sr_mod wahrscheinlich nicht geladen. 

 

Finde die im Kernel nicht

Edit: Genkernel hat doch ne SuchOption für so Parameter, hab ich hier irgendwo gelesen.

Wenn ich nur noch wüßte, wo.....?

----------

## flammenflitzer

genkernel? Warum konfigurierst du dir nicht erst einmal einen eigenen Kernel? Dauert zum ersten Mal vielleicht etwas länger, aber dann kannst du die .config doch so lange behalten, wie den Rechner.

----------

## Josef.95

 *LuxJux wrote:*   

>  *ChrisJumper wrote:*   .....hat man dann wahrscheinlich auch die Kernel-Module sg oder sr_mod wahrscheinlich nicht geladen.  
> 
> Finde die im Kernel nicht

 

Du suchst vermutlich den SCSI generic support

Die Option nennt sich CONFIG_CHR_DEV_SG

 *LuxJux wrote:*   

> Edit: Genkernel hat doch ne SuchOption für so Parameter, hab ich hier irgendwo gelesen.
> 
> Wenn ich nur noch wüßte, wo.....?

 

Im menuconfig lässt sich die Suchfunktion mit einem Slash "/" aufrufen (die wichtigsten Keys sind im menuconfig auch oben mit angegeben :))

----------

## LuxJux

Wollte nur mal Rückmeldung geben, daß sich das Thema für mich erledigt hat. Mein Problem konnte anderweitig gelöst werden.

Danke, Josef für / in genkernel

 *flammenflitzer wrote:*   

> genkernel? Warum konfigurierst du dir nicht erst einmal einen eigenen Kernel? Dauert zum ersten Mal vielleicht etwas länger, aber dann kannst du die .config doch so lange behalten, wie den Rechner.

 

Das kann ich mit Genkernel doch auch......oder muß da was hin und her kopiert werden ?

Ansonsten muß nochmal in die Installations-WIKI gekuckt werden, wie man denn einen Kernel ohne Genkernel .....herstellt

Also nicht, wie der gebaut wird sondern konfiguriert werden kann.Last edited by LuxJux on Thu Mar 08, 2018 10:15 pm; edited 1 time in total

----------

## Tyrus

 *LuxJux wrote:*   

> Also nicht, wie der gebaut wird sondern konfiguriert werden kann.

 

Dazu würde ich mit dem Handbuch anfangen: https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Kernel/de

Da bekommste schon ein paar Hinweise.

Generell musste schaun welche Hardware du nicht hast und nie verwenden wirst. Solche Treiber sind bei genkernel ja alle mit drin. Wo du dich nicht auskennst sind die Voreinstelllungen meist dann schon passend.

"make menuconfig" mag ich selber lieber zum konfigurieren. Du kannst aber auch "make xconfig" benutzen.

Wenn du das machen willst nimm dir Zeit. Ist viel zu lesen. Musst du auch nicht immer machen. Später kannste die Konfig übernehmen und die Änderungen zum neuen Kernel automatisch bestimmen lassen und das neue mit Defaultwerten besetzen lassen.

----------

## LuxJux

genkernel --menuconfig --checkhardware all (Auch wenn das 5 Stunden dauern sollte. gentoo dauert sowieso)

Leider kann ich nicht programmieren

----------

## Tyrus

Die Option "--checkhardware" kennt mein genkernel nicht.

Das mit dem menuconfig bei genkernel kannte ich nicht. Schaut aber gut aus. Du landest dann an der gleichen Stelle wie beim "make menuconfig" und kannst manuell konfigurieren.

Du kannst über die Einstellungen schon Hardware rausselektieren.

Wenn du dir so ein .config das du da mit menuconfig optimiert hast raussuchst dann kannst du dir die Kernels manuell recht fix baun.

Ich benutze genkernel auch. Aber baue damit nur die initramfs weil die brauche ich für die Festplattenverschlüsselung und LVM.

----------

## LuxJux

Sorry. Kommata retten Leben.

Wir essen, Opa

Wir essen  Opa

----------

## LuxJux

 *Tyrus wrote:*   

> Ich benutze genkernel auch. Aber baue damit nur die initramfs, weil die brauche ich nur für ................

 

----------

## Tyrus

 *LuxJux wrote:*   

> Sorry. Kommata retten Leben.
> 
> Wir essen, Opa
> 
> Wir essen  Opa

 

*hust*

Joa sorry, net zu viel erwarten auf dem Sektor. Kommata gehören eher zu meinen Schwachpunkten, ich weiß.

Wegen deiner Frage zu verschlüsselter Festplatte und LVM: Wenn du dich da intressierst, schau dir mal die Wiki zu dm-crypt an: https://wiki.gentoo.org/wiki/Dm-crypt/de

Es läuft im Prinzip so, das ich mein System bis auf die Bootpartition verschlüsselt hab. Der Kernel selber, inklusive der initramfs und dem Bootmanager (bei mir grub) müssen ohne Verschlüsselung erreichbar sein. 

Man kann dabei die Entschlüsselung via Passwort (recht umständlich, aber als Backup hab ich auch ein Passwort) oder mittels eines Keyfiles machen. Das Keyfile kann zum Beispiel wie bei mir auf einem USB-Stick ausgelagert sein. So hast du ein im Offline-Zustand verschlüsseltes System, das wenns richtig gemacht ist, nicht mehr ohne den Stick bzw das Passwort (am besten nur in deinem Kopf) verwendet werden kann.

Lies dir auch mal das hier durch: https://wiki.siduction.de/index.php?title=Verschl%C3%BCsseltes_System_mit_LUKS/dm-crypt_und_LVM_aufsetzen

Ich nutze dabei Variante 2. Also unverschlüsselte Logical Volumes, die auf eine große verschlüsselte Partition aufsetzen.

Edit:

Nun hast du deine Frage irgendwie wegedititiert, als ich am Kommasetzen war ... *zwinker*

Edit-2:

Diese Anleitung ist zwar alt, aber da haste auch einiges zum Nachlesen.

----------

