LINUX.ORG.RU

Как настроить загрузку с жёсткого диска SATA на старом компе?


0

2

Существуют компы, не имеющие интерфейса SATA, которые ещё пригодны для тех задач, которые на них возложены, но у которых вышли из строя или морально устарели жёсткие диски IDE. Считаю разумным в данном случае покупать для этих компов жёсткие диски SATA и подключать их через PCI-контроллер. Это выгодно как по соотношению «стоимость/объём», так и в том, что даёт возможность в будущем установить новый жёсткий диск на более современную мат.плату. Но диски, подключенные через контроллер, не могут быть настроены в BIOS в качестве загрузочных. Я вижу такой выход: загружать ядро с загрузочного CD, затем монтировать корневую ФС, размещённую на жёстком диске SATA, и загружать остальную часть ОС оттуда. Вопрос: где есть руководства, описывающие процедуру создания такого загрузочного CD? А может, можно основное ядро разместить на жёстком диске, чтобы его было проще обновлять, а на CD разместить некую рабочую версию ядра, нужную только для загрузки основного ядра? Вариант «купить старый IDE-винт и грузиться с него» прошу не предлагать в силу его очевидности.

Перемещено JB из talks

Существуют компы, не имеющие интерфейса SATA

Не врешь?

keiner
()

Перенести в General.

А нельзя настроить загрузку с контроллера?

Ещё как вариант грузиться с Floppy или по сети.

Camel ★★★★★
()

А разные там «SCSI-устройства», «Boot Other Device» и тому подобное не пробовал? У меня работает

YAR ★★★★★
()

У меня валяется адаптер IDE->SATA, на старой материнке с ним подключал диск. Правда, грузится с него не пробовал, но все работало нормально.

gruy ★★★★★
()

Существуют компы, не имеющие интерфейса SATA, которые ещё пригодны для тех задач, которые на них возложены

Они не пригодны даже для работы современных ОС. Как они могут быть пригодны для выполнения каких-то задач?

Ramen ★★★★
()

Можно использовать переходник SD (или Compact Falsh) -> IDE, если комп совсем старый.

SEV
()

1. BIOS либо поддерживает загрузку с SATA(USB MS) либо нет. Обойти это никак нельзя.
2. Если НЕ поддерживает, ты можешь загрузить граб(либо любой другой загрузчик) с любого поддерживаемого BIOS'ом устройства загрузки.

P.S. В свое время делал это посредством обычной 3.5" дискетки, на которую было записано «монолитное» ядро и лило. Сами разделы при этом лежали на жестких дисках.

P.P.S. DD дискета была :)

Jetty ★★★★★
()
Ответ на: комментарий от Ramen

4.2

У меня стоит комп с 512 RAM, каким то очень старым Athlon и Nvidia Vanta.
Debian 5 вполне нормально там крутиться с блобом nvidia, даже прозрачность пашет.
Если блоб nvidia не нужен, то и последний дебиан с lxde взлетит и будет отлично работать.

winddos ★★★
()
Ответ на: комментарий от winddos

RAM естественно апгрейдили когда то, сразу там 512 не было.

winddos ★★★
()
Ответ на: комментарий от SEV

Тормозной прямо пропорционально кривизне твоих рук. Random io в разы быстрее hdd, так как не тратится время на позиционирование. Хватит тоже в зависимости от того, как настроишь.
ext4 с нужными атрибутами + tmpfs для /tmp , /var/log и /var/tmp снижают до минимума нагрузку. home вообще по сети можно подмонтиовать.
Хочешь больше скорости - купи две карты, и сделай программный полосатый рейд.

AiFiLTr0 ★★★★★
()

Я ничо не понял. У меня грузилось нормально с сата диска-контроллера на писиай! //силиконовский какой то чип простой. Пацаны трахались только с виндой. Тебе нужен мануал на винду, что ли?

anonymous
()
Ответ на: комментарий от Jetty

Это уже более дельный совет. Вопрос: а grub обнаружит разделы на винте, подключенном через контроллер?

DrLivesey
() автор топика

Я так делаю на одном компе. Не вижу проблемы, вроде всё очевидно. На cd-rw закатываешь grub с помощью wodim в режиме eltorito, и ядро (ну и initramfs). В конфиге груба указываешь откуда ядру взлетать, и всё, поехали.

thesame ★★★★
()
Ответ на: комментарий от Ramen

Они не пригодны даже для работы современных ОС.

Под «современной ОС», видимо, понимается Windows 7 максимальная?

Axon ★★★★★
()
Ответ на: комментарий от int13h

Вы не правы, ТС задал вопрос:

DrLivesey

а grub обнаружит разделы на винте, подключенном через контроллер?

Что значит 'grub обнаружит разделы на винте' ? Это значит сможете ли вы из grub загрузить ядро и файл initrd с раздела на этом жёстком диске. grub работает через функции BIOS, поэтому если BIOS не видит жёсткий диск то и grub его не увидит.

А ТС как раз хочет подключать жёсткий диск к контроллеру, который подключается через PCI слот, если в BIOS нет поддержки запуска микрокода контроллера то жёсткие диски, подключённые к этому контроллеру через функции BIOS не будут доступны, как следствие выполнить считывание ядра в память с этого жёсткого диска не получится.

kostik87 ★★★★★
()

Решений вашей проблемы может быть несколько.

1. Проверить поддерживает ли BIOS вашей материнской платы запуск BIOS (прошивки) контроллера;
2. Добавить в BIOS материнской платы прошивку PCI SATA контроллера;
3. Грузить ядро с поддержкой контроллера по сети, с флешки, со старого IDE диска, с CD диска.

1 пункт: Собственно в BIOS должна присутствовать опция загрузки со SCSI, которая позволяет загружать прошивку, которая находится в контроллере, что позволит получить доступ к диске через функции (прерывания) BIOS и как следствие загрузиться с диска, подключённого к этому контроллеру.

2 пункт: Прошивка BIOS это по своей сути архив, который содержит необходимые микрокоды (прошивки) для работы оборудования, в начале архива расположен бутблок, который распаковывает этот архив и загружает в память, затем передаёт управление загруженному микрокоду (прошивкам). Есть специальные утилиты для добавление или удаления файлов прошивок из BIOS, одна из таких программ, позволяющая удалять и добавлять прошивки в BIOS называется cbrom, есть версия под DOS и Windows, я бы вам посоветовал использовать под DOS, надёжнее. Что вам понадобится, это найти файл с кодом прошивки для поддержки вашего контроллера, скорее всего есть на диске, который шёл в комплекте или на сайте производителя, поищите должен быть файл с расширением *.bin или *.rom, вам нужен будет так же оригинальный файл прошивки BIOS.

Для начала нужно получить информацию о прошивке (файле BIOS) и количестве свободного места в архиве BIOS:

cbrom bios.bin /D
cbrom V1.95 [12/14/07] (C)Phoenix Technologies 2001-2007

              ********     bios.bin BIOS component ********

 No. Item-Name         Original-Size   Compressed-Size Original-File-Name 
================================================================================
  0. System BIOS       20000h(128.00K)154EDh(85.23K)5002.BIN
  1. XGROUP CODE       0FDC0h(63.44K)0A7F0h(41.98K)awardext.rom
  2. ACPI table        08376h(32.87K)0310Dh(12.26K)ACPITBL.BIN
  3. EPA LOGO          0168Ch(5.64K)002AAh(0.67K)AwardBmp.bmp
  4. YGROUP ROM        0D0A0h(52.16K)064D4h(25.21K)awardeyt.rom
...
 23. GV3                08BEAh(34.98K)02E91h(11.64K)AGESACPU.ROM
 24. LOGO BitMap       36A1Dh(218.53K)36A08h(218.51K)M2N32SLI.GIF
 25. BIOSF6             0E32Eh(56.79K)079E4h(30.47K)EZFLASH.EXE
 26. MINIT             0FD4Fh(63.33K)0FD76h(63.37K)MEMINIT.BIN
 27. SLP2.0 KEY        0009Ch(0.15K)000C4h(0.19K)bbpubkey.bin
 28. SLP2.0 MARKER     00200h(0.50K)00228h(0.54K)bbmarker.bin
(SP) NCPUCODE          07000h(28.00K)07000h(28.00K)NCPUCODE.BIN

  Total compress code space  = C3000h(780.00K)
  Total compressed code size = C0FD6h(771.96K)
  Remain compress code space = 0204Ah(8.07K)

 *** NVMM 4.091.4603/12/09 * Start Offset => 0, End Offset => 2b00 ***

                          ** Micro Code Information **
    Bridge ID                          |     Bridge ID                         
 North    South      Patch  ID  CPUID  |  North    South      Patch  ID  CPUID 
---------------------------------------+----------------------------------------
00000000 00000000    00000062   0414| 00000000 00000000    00000068   040A
...

Как видно свободно всего 8 килобайт.

Remain compress code space = 0204Ah(8.07K)

Можно совершенно спокойно вырезать файлы логотипов и утилиту для обновления BIOS:

cbrom bios.bin /BIOSF6 release
cbrom V1.95 [12/14/07] (C)Phoenix Technologies 2001-2007
Adding MEMINIT.BIN  100.0%
[BIOSF6] ROM is release

cbrom bios.bin /LOGO release
cbrom V1.95 [12/14/07] (C)Phoenix Technologies 2001-2007
Adding MEMINIT.BIN  100.0%
[Logo] ROM is release

Смотрим размер свободного места в прошивке:

cbrom bios.bin /D
cbrom V1.95 [12/14/07] (C)Phoenix Technologies 2001-2007

              ********     bios.bin BIOS component ********

 No. Item-Name         Original-Size   Compressed-Size Original-File-Name 
================================================================================
  0. System BIOS       20000h(128.00K)154EDh(85.23K)5002.BIN
  1. XGROUP CODE       0FDC0h(63.44K)0A7F0h(41.98K)awardext.rom
  2. ACPI table        08376h(32.87K)0310Dh(12.26K)ACPITBL.BIN
  3. YGROUP ROM        0D0A0h(52.16K)064D4h(25.21K)awardeyt.rom
  4. FNT1 ROM          0538Ah(20.88K)03BD4h(14.96K)font1.awd
...
 21. OEM7 CODE         01F95h(7.90K)016AEh(5.67K)AUDIODJ.BIN
 22. GV3                08BEAh(34.98K)02E91h(11.64K)AGESACPU.ROM
 23. MINIT             0FD4Fh(63.33K)0FD78h(63.37K)MEMINIT.BIN
 24. SLP2.0 KEY        0009Ch(0.15K)000C4h(0.19K)bbpubkey.bin
 25. SLP2.0 MARKER     00200h(0.50K)00228h(0.54K)bbmarker.bin
(SP) NCPUCODE          07000h(28.00K)07000h(28.00K)NCPUCODE.BIN

  Total compress code space  = C3000h(780.00K)
  Total compressed code size = 8294Ch(522.32K)
  Remain compress code space = 406D4h(257.71K)

 *** NVMM 4.091.4603/12/09 * Start Offset => 0, End Offset => 2b00 ***

                          ** Micro Code Information **
    Bridge ID                          |     Bridge ID                         
 North    South      Patch  ID  CPUID  |  North    South      Patch  ID  CPUID 
---------------------------------------+----------------------------------------
00000000 00000000    00000062   0414| 00000000 00000000    00000068   040A
...

Теперь лучше, это уже 257 килобайт, сюда точно поместиться прошивка от контроллера, возможно она поместилась и 8 килобайт, т.к. все файлы сжимаются.

Теперь нужно добавить файл прошивки контроллера:

cbrom bios.bin /pci file.rom
cbrom V1.95 [12/14/07] (C)Phoenix Technologies 2001-2007
Adding file.rom ....... 48.8%

Затем заливаете изменённую прошивку для материнской платы, подключаете контроллер, подключаете диск и спокойно грузитесь с него.

3 пункт описывать не буду, ибо и так понятен.

kostik87 ★★★★★
()

Ну линукс с USB на компутере, не умеющем грузиться с USB (вообще умеющим, но там на материнке порты пожглись, а pci платки не умело) я делал kexecом из уже загруженного Linux.

Artificial_Thought ★★★★
()

А может, можно основное ядро разместить на жёстком диске, чтобы его было проще обновлять, а на CD разместить некую рабочую версию ядра, нужную только для загрузки основного ядра?

man kexec

Artificial_Thought ★★★★
()
Ответ на: комментарий от Deleted

Не уверен, в билдруте и прочем эмбеддеде, оно и /var/log симлинк на /tmp, который в tmpfs.

AiFiLTr0 ★★★★★
()
Ответ на: комментарий от Ramen

Ну вообще я уже сказал, пойдет любой дебиан.
Но вот блоба nvidia под новые иксы нет вроде, тот что для vanta.

winddos ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.