Запись CD дисков на ядрах версии выше 2.6.8
Материал из Gentoo Linux Wiki
Возможно многие из вас заметили, что после обновления ядра до версии 2.6.8 и далее перестала работать запись на CD диски. cdrtools и xcdroast ругаются, что "cdrecord: Cannot allocate memory. Cannot get SCSI I/O buffer." Причиной этого являются изменения в системе безопасности ядра (не буду вдаваться в подробности какие именно) которым не нравится SUID флаг на файлах /usr/bin/cdrecord и /usr/bin/cdrdao. Чтобы восстановить работаспособность cdrecord и K3B нужно снять этот бит коммандой:
| Code: Снимаем SUID бит |
su chmod -s /usr/bin/cdrecord chmod -s /usr/bin/cdrdao |
Если же вы используете XCDRoast ситуация несколко сложнее, т.к. он использует дополнительную обертку и проверяет наличие SUID флага, как один из тестов на Non-Root-Mode. Вам придется, во-первых, снять бит для xcdwrap обретки:
| Code: Снимаем SUID бит для XCDRoast |
chmod -s /usr/lib/xcdroast-0.98/bin/xcdrwrap |
Во-вторых придется пересобрать xcdroast наложив этот крошечный патч:
| Файл: xcdroast-kernel-2.6.8.patch |
--- src/init.c.orig 2005-02-06 13:52:34.414655744 +0200
+++ src/init.c 2005-02-06 13:53:43.525149352 +0200
@@ -682,13 +682,14 @@
}
/* check file mode of wrapper */
- if (stat(tmp,&buf) == 0) {
+ //This is not required for kernels >= 2.6.8
+/* if (stat(tmp,&buf) == 0) {
if (buf.st_mode != 0104755) {
dodebug(3,"Note: %s wrong modes set (0%o)\n", tmp, buf.st_mode);
nofail = 0;
}
}
-
+*/
#if 0
/* we dont care in new nonroot mode about the status of the cdrtools */
|
