LinuxForum.Fans
Тема

Копаемся в "песочнице" под openSuSe 11.4

Автор: KrackMan 23 сообщений 5460 просмотров
#245343

Связка видео Intel(встроенная в проц) + nVidia(дискретная)
Собственно сделал всё по науке. Оба тела запускаются.
Голова (/boot) у меня sda6, Тело1 (sda7 - для тестов), Тело2 (sda8 - чистовая). (Установка: сначала Тело1 потом Тело2)
Для клонирования использую: dd if=/dev/sda7 of=/dev/sda8 bs=1M
в grub прописал оба тела.

И так в чем соль вопроса.
На Теле1 устанавливаю Шмеля. Запустился и полетел. Отлично.
Стартую с Телом2, устанавливаю шмеля. Начинает ругаться во время установки на dkms, говорит что не может установить. Ошибки не записал, каюсь. Сразу решил проверить, пока система чистовая, как работает клонирование. Зашел используя Тело1, запустил клонирование.
Запускаюсь с Телом2. :~> optirun glxgears говорит что демон Шмеля не запущен.
Пробую его запустить:
# bumblebeed -daemon
[INFO]bumblebeed 3.0 started
{Мигающий курсор}
Ждал около 30 минут. Но демон так и не запустился.

dmesg | tail -10

Показать
[ 4932.034102] bbswitch: Result of Optimus _DSM call: 11000059
[ 4932.046868] pci 0000:01:00.0: power state changed by ACPI to D3
[ 5370.068678] bbswitch: enabling discrete graphics
[ 5370.492898] pci 0000:01:00.0: power state changed by ACPI to D0
[ 5370.503846] pci 0000:01:00.0: power state changed by ACPI to D0
[ 5370.503924] pci 0000:01:00.0: restoring config space at offset 0x1 (was 0x100006, writing 0x100007)
[ 5370.504013] pci 0000:01:00.0: power state changed by ACPI to D0
[ 5370.504065] pci 0000:01:00.0: power state changed by ACPI to D0
[ 5370.504086] pci 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[ 5370.504100] pci 0000:01:00.0: setting latency timer to 64

В чем может быть проблема не желание Демона запускаться?

Связка видео Intel(встроенная в проц) + nVidia(дискретная)

"gramozeka" написал:
KrackMan пишет:в grub прописал оба тела.нужно и ядра разделить, например так :menuentry "Linux (on /dev/sda2)" {
insmod ext2
set root='(hd0,1)'
search --no-floppy --fs-uuid --set xxxxxxxxxxxxxx
linux /vmlinuz root=/dev/sda2 ro
}

menuentry "Linux (on /dev/sda7)" {
insmod ext2
set root='(hd0,6)'
search --no-floppy --fs-uuid --set xxxxxxxxxxxxxx
linux /tele2/vmlinuz root=/dev/sda7 ro
}
т.е. создать в /boot папку tele2, скопировать туда из /boot файлы :
System.map
vmlinuz
initrd.gz

это будет та система которая является матрицей(т.е. та с которой делается копия)после этого нужно зайти в копию и из неё переустановить ядро и сгенерировать initrd.gz , тогда у тебя они будит правильно работать.
#245350

С созданием папки и файлами понятно.
А вот с GRUB не совсем.

Тестовая (Шмель работает):
###Don't change this comment - YaST2 identifier: Original name: linux###
title TEST Desktop -- openSUSE 11.4 - 2.6.37.1-1.2
root (hd0,5)
kernel /vmlinuz-2.6.37.1-1.2-desktop root=/dev/disk/by-id/ata-WDC_WD5000BPVT-22HXZT1_WD-WX71A61H1540-part7 resume=/dev/disk/by-id/ata-WDC_WD5000BPVT-22HXZT1_WD-WX71A61H1540-part5 splash=silent quiet showopts vga=0x317
initrd /initrd-2.6.37.1-1.2-desktop

Должна быть Чистовой(не работает шмель):
###Don't change this comment - YaST2 identifier: Original name: linux###
title Work Desktop -- openSUSE 11.4 - 2.6.37.1-1.2
root (hd0,5)
kernel /vmlinuz-2.6.37.1-1.2-desktop root=/dev/disk/by-id/ata-WDC_WD5000BPVT-22HXZT1_WD-WX71A61H1540-part8 resume=/dev/disk/by-id/ata-WDC_WD5000BPVT-22HXZT1_WD-WX71A61H1540-part5 splash=silent quiet showopts vga=0x317
initrd /initrd-2.6.37.1-1.2-desktop

Не понятно как определяется: root (hd0,5)?
Папку Tele2 прописывать Чистовой системе только для initrd?

#245355

Хотя с файлами тоже не понятно :(
# ls

Показать
@initrd
vmlinux-2.6.37.1-1.2-desktop.gz
vmlinuz-2.6.37.1-1.2-desktop
initrd-2.6.37.1-1.2-desktop
symvers-2.6.37.1-1.2-desktop.gz
symtypes-2.6.37.1-1.2-desktop.gz
@vmlinuz
config-2.6.37.1-1.2-desktop
System.map-2.6.37.1-1.2-desktop

System.map тут без вариантов: System.map-2.6.37.1-1.2-desktop
vmlinuz наверное: vmlinux-2.6.37.1-1.2-desktop
initrd.gz (получается нет выбора)

#245358

всё копируй, весят они не много, когда переустановишь ядро и initrd они должны обновиться под текущую систему, хотя Зюзя эпична в своей заботе о хомячках...
суть этого действа вот в чём- когда собирается ядро, оно генерит System.map который завязан путями туда откуда получен(это же касается и vmlinuz) , когда ты передергиваешь корень ядро то продолжает смотреть туда откуда получено, а путь то не корректен, грубо говоря его как такого просто не существует поэтому могут пропасть модули и заголовки, хоть они и лежат там где и положено, но ядро их просто не видит.

#245359

gramozeka, ты гений :)

Создал папку telo, в неё закинул файлы. Подправил путь для kernel и initrd

Было:

Показать
kernel /vmlinuz-2.6.37.1-1.2-desktop root=/dev/disk/by-id/ata-WDC_WD5000BPVT-22HXZT1_WD-WX71A61H1540-part8 resume=/dev/disk/by-id/ata-WDC_WD5000BPVT-22HXZT1_WD-WX71A61H1540-part5 splash=silent quiet showopts vga=0x317
initrd /initrd-2.6.37.1-1.2-desktop

Сделал:

Показать
kernel /telo/vmlinuz-2.6.37.1-1.2-desktop root=/dev/disk/by-id/ata-WDC_WD5000BPVT-22HXZT1_WD-WX71A61H1540-part8 resume=/dev/disk/by-id/ata-WDC_WD5000BPVT-22HXZT1_WD-WX71A61H1540-part5 splash=silent quiet showopts vga=0x317
initrd /telo/initrd-2.6.37.1-1.2-desktop

И шмель зажужжал :)

#246452

gramozeka.
Еще вопрос по Песочнице.
Не выйдет ли мне боком:
При установке с диска СюСи на первое тело - Голова: /boot
А при установке с диска СюСи на второе тело - Голова: /boot/telo

А то перебивал систему и решил попробовать(так сказать эксперименту ради). И вот что меня смущает.
Загружаюсь с sda8 (тело 2) . Папка boot содержит папку telo в которой продублированны файлы.
Загружаюсь с sda7 (тело 1). Папка boot содержит telo в которой лежит структура boot (так же присутствует папка telo в которой продублированны файлы).
sda8 - /boot/
~boot
/grub
/lost+found
/telo -> * - файлы (system.map, config и т.д.)
* - файлы (system.map, config и т.д.)

sda7- /boot/
~boot
/grub
/lost+found
/telo -> ~boot
/grub
/lost+found
/telo -> * - файлы (system.map, config и т.д.)
* - файлы (system.map, config и т.д.)
* - файлы (system.map, config и т.д.)

grub берет menu.lst из /boot/grub, но я не могу использовать для систем голову из /boot/telo/
Вернее если я дописываю /boot/telo/ для kernel и initrd (тело 1 - sda7), то система не грузится. Если использую стандартный путь: /boot/..., то все грузится и $ df -l показывает что в /dev/sda6 точка монтирования /boot/telo.
А при тех же путях до головы для sda8 (Тело 2) $ df -l /dev/sda6 /boot

Что скажите Гуру?

#246457

ни чё не понял... в общем виде всё работает следующим образом : после установки системы через grub можно указать любой корректный путь к ядру и сопутствующим файлам, но сам grub не обмануть таким образом - он всегда будет смотреть в свою корневую директорию т.е. /boot/grub/{файлы grub'а}, после повторной установки (не важно как) в /boot/ все файлы будут принадлежать последней установленной системе. Если хочется передергивать ещё и grub, тогда нужно куда-то устанавливать и его копию средствами самого груба и указывать в menu.lst эту копию как-то так :

text

grub> unhide (hd0,0)
grub> hide (hd0,1)
grub> rootnoverify (hd0,0)
grub> chainloader +1
grub> makeactive
grub> boot

это для первой версии груба. В grub2 синтаксис немного другой, но суть та же - читай соответствующие мануалы...

#246463

А так понятней будет:
$ df -l
Файловая система Точка монтирования
/dev/sda7 /
/dev/sda6 /boot/telo

$ df -l
Файловая система Точка монтирования
/dev/sda8 /
/dev/sda6 /boot/

menu.lst

Показать
default 0
timeout 8
##YaST - generic_mbr
gfxmenu (hd0,6)/boot/message
##YaST - activate

###Don't change this comment - YaST2 identifier: Original name: linux###
title Desktop -- openSUSE 11.4 - 3.1.0-1.2
root (hd0,6)
kernel /boot/vmlinuz-3.1.0-1.2-desktop root=/dev/disk/by-id/ata-WDC_WD5000BPVT-22HXZT1_WD-WX71A61H1540-part7 resume=/dev/disk/by-id/ata-WDC_WD5000BPVT-22HXZT1_WD-WX71A61H1540-part5 splash=silent quiet showopts vga=0x317
initrd /boot/initrd-3.1.0-1.2-desktop


title sda8 Work
root (hd0,6)
kernel /boot/vmlinuz root=/dev/disk/by-id/ata-WDC_WD5000BPVT-22HXZT1_WD-WX71A61H1540-part8 resume=/dev/disk/by-id/ata-WDC_WD5000BPVT-22HXZT1_WD-WX71A61H1540-part5 splash=silent quiet showopts vga=0x317
initrd /boot/initrd
#246469
"KrackMan" написал:
А так понятней будет:

нет, не понятней... что ты хочешь сделать ответь ...

#246472
"gramozeka" написал:
что ты хочешь сделать ответь ...

Да сам не знаю :), говорю же Эксперимента ради.
Как это вышло.
Во время установки системы:
sda6 - Форматировал и указал точку монтирования /boot
sda8 - Форматировал и указал точку монтирования /

После окончания установки пере загрузился и заново запустил установку.
sda6 - Форматировал и указал точку монтирования /boot/telo
sda7 - Форматировал и указал точку монтирования /

Подумал, что так будет лучше, ведь сразу задаю папку куда для системы будут ставиться ядра и карты, что бы потом не прописывать и не создавать:

"gramozeka" написал:
т.е. создать в /boot папку tele2, скопировать туда из /boot файлы :System.mapvmlinuzinitrd.gz
#246487

так не делается. При установке указываются точки монтирования как устройства(!) т.е. sda, sdb и т.д.,.. система загрузки воспринимает их как устройства не более, можно что-то переопределить в fstab, что-то изменить в конфигах, но всё это срабатывает только после загрузки ядра загрузчиком и до этого момента все эти хаки в общем-то и не существуют, не существует устройств sda/boot или /sda/boot/telo :) . Потому и есть такая штука как initrd.gz - мини образ системы, которая позволяет загружать отдельные драйвера или утилиты.

#246663

Ну в принципе догадывался что Хню делаю :))

Когда при установке создаешь диски для тел (Они должны быть одинакового размера Байт в Байт? Или небольшие расхождения не кретичны? А то при создании задаю размеры обоих дисков 47Гб, но когда смотришь через #df -l то в пару байт есть различия. Это первый вопрос.
Второй вопрос - Можно сделать так: Создать sda6 - /boot , sda7 и sda8 (одинаково размера под тела). Устанавливаем систему на sda8, sda7 форматируем без точки монтирования. После установки можно сразу сделать клон диска sda8 на sda7? Или обязательно второй раз устанавливать систему с указанием второго тела sda7?

#246665
"KrackMan" написал:
Они должны быть одинакового размера Байт в Байт?

если будешь использовать dd для копирования то наверно лучше байт в байт :)

"KrackMan" написал:
Или обязательно второй раз устанавливать систему с указанием второго тела sda7?

ну если силен в знании настроек можешь просто скопировать, но придется вручную объяснять копии что она типа оригинал.

#246669
"gramozeka" написал:
ну если силен в знании настроек можешь просто скопировать, но придется вручную объяснять копии что она типа оригинал.

Тогда чем отличается dd для Уже установленной системы на оба диска от установки на один диск и копировании Системы на второй?

#246854
"KrackMan" написал:
Тогда чем отличается dd для Уже установленной системы на оба диска от установки на один диск и копировании Системы на второй?

dd - делает клон всего устройства, и если у тебя sda1 99616,37Mb а sda2 99606,37 то это может закончится не очень здорово для таблицы разделов и файловой системы на них(почему-то подумалось)....
cp - тупо копирует файлы с одного носителя на другой ей в общем-то насрать какая ФС на обоих носителях(лишь бы ядро понимало обе) и каков их конечный размер - не влезло что-то она просто это "что-то" не запишет
в общем не забивай себе голову всякой ерундой, клонируешь через dd клонируй до конца. Копируешь пофайлово - изучай как работает система - тогда проблем не будет. В конце концов, как говаривал один морпех "мозги это тоже мышца и поэтому их нужно тренировать, чтобы они не заплыли жиром" :)

#247164

Снова вопрос.
Система установлена 2 раза.
1 Раз. Формат. sda6 - boot
Формат. sda7 - /
2 Раз. Не формат. sda6 - /boot
Формат. sda8 - /

В boot копирую файлы в созданную папку telo.
menu.lst - подправил. Проверил, грузятся разные системы (df -l) сообщает, что используются разные диски для тела.

Активирую sda7, настраиваю. Что бы не повторять всё, делаю dd с sda7 на sda8.
Перезагружаюсь с телом sda8, df -l показывает, что используется sda7.

menu.lst

Показать
###Don't change this comment - YaST2 identifier: Original name: linux###
title Desktop(sda7) -- openSUSE 11.4 - 3.1.0-1.2
root (hd0,5)
kernel /telo/vmlinuz-3.1.0-1.2-desktop root=/dev/disk/by-id/ata-WDC_WD5000BPVT-22HXZT1_WD-WX71A61H1540-part7 resume=/dev/disk/by-id/ata-WDC_WD5000BPVT-22HXZT1_WD-WX71A61H1540-part5 splash=silent quiet showopts vga=0x317
initrd /telo/initrd-3.1.0-1.2-desktop

###Don't change this comment - YaST2 identifier: Original name: linux###
title Desktop(sda8) -- openSUSE 11.4 - 3.1.0-1.2
root (hd0,5)
kernel /vmlinuz-3.1.0-1.2-desktop root=/dev/sda8 resume=/dev/disk/by-id/ata-WDC_WD5000BPVT-22HXZT1_WD-WX71A61H1540-part5 splash=silent quiet showopts vga=0x318
initrd /initrd-3.1.0-1.2-desktop

root=/dev/sda8, до этого использовал root=/dev/disk/by-id/ata-WDC_WD5000BPVT-22HXZT1_WD-WX71A61H1540-part8 (так система сама заполнила при первой установке. И всё равно грузит sda7.
Куда копать? И где можно посмотреть лог загрузки системы.

#247177

"KrackMan" написал:
df -l показывает, что используется sda7
Не видел, чтобы правили корень в /etc/fstab после dd. Написано там (или в /etc/mtab), что корень на sda7, его и показывает. Что думает ядро о смонтированных устройствах, тоже несложно узнать:
# cat /proc/mounts

ps. # strace -eopen df -l
говорит, что всё-таки в /etc/mtab.
А "ls -ld /dev/root" у вас что говорит?
#247189
"KrackMan" написал:
устанавливаю Шмеля.

я в танке. что ещё за шмель?

#247190
"Writer" написал:
что ещё за шмель?

это вроде =)

#247229
"Silencer" написал:
это вроде smile

Спасибо.

Войдите или зарегистрируйтесь, чтобы ответить.