The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Установка FreeBSD на USB Flash.
1. Разметить флэшку

На всё пространство: 
   fdisk -BI /dev/da0

Интерактивно разбить на разделы: 
   fdisk -i /dev/da0
   (ID разделов:  UFS - 165, FAT32 - 11, EFI GPT - 238)

Используя конфиг-файл: 
   fdisk -f /poat/to/fdiskcofig.txt /dev/da0

2. Форматирование

MSDOS: 
   newfs_msdos -L DOS7 /dev/da0s1

FreeBSD: 
   bsdlabel -w -B da0s2 && newfs -n -U -L FBSD /dev/da0s2a

3. Установка загрузчика в MBR флэшки

   boot0cfg -v -B -o noupdate da0

4. Копирование системных каталогов на флэшку

   mount /dev/da0s2a /mnt

   cp -R /boot /mnt/
   cp -R /sbin /mnt/
   cp -R /libexec /mnt/
   cp -R /lib /mnt/
   cp -R /bin /mnt/
   cp -R /etc /mnt/

   mkdir -p /mnt/usr/
   cp -R /usr/bin /mnt/usr/
   cp -R /usr/compat /mnt/usr/
   cp -R /usr/games /mnt/usr/
   cp -R /usr/include /mnt/usr/
   cp -R /usr/lib /mnt/usr/
   cp -R /usr/libdata /mnt/usr/
   cp -R /usr/libexec /mnt/usr/
   cp -R /usr/local /mnt/usr/
   cp -R /usr/ports /mnt/usr/
   cp -R /usr/sbin /mnt/usr/
   cp -R /usr/share /mnt/usr/
   cp -R /usr/src /mnt/usr/
  
   cp -R /var /mnt/
   rm -rf /mnt/var/tmp/* && chmod -R 777 /mnt/var/tmp/
   rm -rf /mnt/var/run/*
   rm -rf /mnt/var/log/*

   mkdir -p /mnt/mnt/
   mkdir -p /mnt/media/
   mkdir -p /mnt/cdrom/
   mkdir -p /mnt/dev/
   mkdir -p /mnt/proc/
   mkdir -p /mnt/tmp/ && chmod -R 777 /mnt/tmp/
   mkdir -p /mnt/usr/obj/

5. Перенос домашних каталогов

   cp -R /root /mnt/
   cp -R /home /mnt/

6. Обеспечение загрузки с флэшки

   echo 'geom_label_load="YES"' >> /mnt/boot/loader.conf
   echo 'ifconfig_DEFAULT="DHCP"' >> /mnt/etc/rc.conf
   echo 'virecover_enable="NO"' >> /mnt/etc/rc.conf
   ee /mnt/etc/fstab:

   # Device    Mountpoint    FStype    Options            Dump    Pass#
   #/dev/ad4s1f    /usr        ufs    rw,noatime        2    2
   #/dev/ad4s1g    /home        ufs    rw,noatime        2    2
   /dev/ufs/FBSD    /    ufs rw,noatime    1    1
   md    /tmp    mfs    rw,-s160M,noatime    0    0
   md    /var/run    mfs    rw,-s14M,noatime    0    0
   md    /var/log    mfs    rw,-s26M,noatime    0    0
   #md    /usr/obj    mfs    rw,-s900M,noatime    0    0
   /dev/acd0    /cdrom    cd9660    ro,noauto,-CUTF-8    0    0
   /dev/da0s1    /mnt    msdosfs     rw,noauto,-D=CP1251,-L=ru_RU.UTF-8    0    0
   /proc    /proc    procfs    rw,noauto    0    0
   /tmp    /var/tmp    nullfs    rw    0    0

7. Перезагрузка

   umount /dev/da0s2a
   reboot

8. Важное замечание

Команды копирования системных каталогов необходимо выполнять, начиная с
копирования каталога /boot и /sbin,
в которых находятся файлы ядра и процессов инициализации системы. Это необходимо для того, 
чтобы загрузчик boot1/boot2 сумел найти код инициализации ядра в первых цилиндрах раздела носителя.
 
25.11.2008 , Автор: iZEN , Источник: https://www.opennet.ru/cgi-bin/openf...
Ключи: freebsd, flash, boot, usb
Раздел:    Корень / Администратору / Система / FreeBSD специфика / Установка и апгрейд FreeBSD и приложений.

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, iZEN (ok), 23:39, 25/11/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    *Написанное внесено в правку статьи*
     
     
  • 2.2, Drone (?), 00:02, 26/11/2008 [^] [^^] [^^^] [ответить]  
  • +/
    BSDM какое-то - список команд на 2 страницы.Пи%@*ц...

    >Не все флэшки поддерживают таблицу разделов (MBR).

    Практически все то что обычно понимают под термином "флешки" - прекрасно ее поддерживают.Просто некоторые флешки изначально отформачены как "жесткий диск" а некоторые - как "большая дискета".На тех которые "как дискета" сразу с места в карьер начинается логический диск.Один.А таблицы разделов банально нет.Если кто не понял - ее надо там сначала создать в таком случае, если она вам конечно там нужна и вы хотите более 1 раздела.На уровне физики флешке глубоко пофигу хранить ли в первом секторе бутсектор тома или бутсектор с таблицей разделов.Что запишете туда - то и поюзаете.В принципе так и дискету можно сделать с партициями, если уж делать совсем нефиг.

    >Попадаются такие, на которых невозможно создать два и более DOS-разделов

    Пионерам привет.Мозг включите и создайте сперва таблицу разделов на флешке отформаченой как "дискета" если вам на ней несколько разделов надо.Ну да, запись MBR - это сложная технгическая операция, пионерам от BSDMа видимо недоступная.Интересно, а как вы нулевые харды размечаете, красавцы?

    >(слайсов FreeBSD), но можно создать только
    >один раздел.

    Вообще-то это называется не раздел а логический диск.Потому что в случае форматирования "большая дискета" нет собственно таблицы разделов.Сразу начинается логический диск.

    >Иногда ошибки в геометрии разделов

    Очень интересно - какая у флешки геометрия по факту, да :D

     
     
  • 3.3, iZEN (ok), 01:13, 26/11/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >>Попадаются такие, на которых невозможно создать два и более DOS-разделов
    >
    >Пионерам привет.Мозг включите и создайте сперва таблицу разделов на флешке отформаченой как
    >"дискета" если вам на ней несколько разделов надо.

    Я в курсе.
    Пионеры просто не знают тонких моментов и ещё не наступали на грабельки от производителей флэшек.

    Apacer AH320 16Gb: ни в какую не создаётся второй раздел. MBR инициализирована.

    >>(слайсов FreeBSD), но можно создать только
    >>один раздел.
    >
    >Вообще-то это называется не раздел а логический диск.Потому что в случае форматирования
    >"большая дискета" нет собственно таблицы разделов.Сразу начинается логический диск.

    Да, таблицы разделов у большой дискеты нет. В терминах FreeBSD получается именно раздел.

    >>Иногда ошибки в геометрии разделов
    >
    >Очень интересно - какая у флешки геометрия по факту, да :D

    Такая (Apacer AH320 16Gb):
    % fdisk /dev/da0
    ******* Working on device /dev/da0 *******
    parameters extracted from in-core disklabel are:
    cylinders=1949 heads=255 sectors/track=63 (16065 blks/cyl)

    Figures below won't work with BIOS for partitions not in cyl 1
    parameters to be used for BIOS calculations are:
    cylinders=1949 heads=255 sectors/track=63 (16065 blks/cyl)

    Media sector size is 512
    Warning: BIOS sector numbering starts with sector 1
    Information from DOS bootblock is:
    The data for partition 1 is:
    sysid 12 (0x0c),(DOS or Windows 95 with 32 bit FAT (LBA))
        start 63, size 31326145 (15295 Meg), flag 0
    beg: cyl 0/ head 1/ sector 1;
    end: cyl 924/ head 254/ sector 63
    The data for partition 2 is:
    <UNUSED>
    The data for partition 3 is:
    <UNUSED>
    The data for partition 4 is:
    <UNUSED>

     
     
  • 4.19, User294 (??), 20:15, 26/11/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Претендуете на гуру Тогда все просто Докажите что вы спец Приветствуются ваши ве... большой текст свёрнут, показать
     
     
  • 5.20, iZEN (ok), 20:37, 26/11/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >>Такая (Apacer AH320 16Gb):
    >
    >Да, я представил себе флешку с цилиндрами и головками ;)
    >
    >А если серьезно - что-то смущают надписи про bios.А что, bsd юзает
    >bios для определения параметра usb-диска?И есть уверенность что bios там еще
    >и не лажается?Такое подозрение что вас где-то надули с параметрами разделов
    >или тулзы или система у вас барахлят.

    Да всё обошлось после "забития" устройства нулями из /dev/zero.
    И MBR'ы нормально вкорячились на обоих носителях, и разделы тоже нормально разметились. ;)

     
     
  • 6.21, Drone (?), 22:11, 26/11/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >Да всё обошлось после "забития" устройства нулями из /dev/zero.

    Ну вот видите - все просто.Тулзы у вас видимо глючные слегка.Или операционка дурит.Это вы уж сами там в деталях отлавливайте кто там лажается при мусоре в бутсекторе если оно вам надо.

    >И MBR'ы нормально вкорячились на обоих носителях, и разделы тоже нормально разметились.

    Ну вот, а вы тут мифологию развели.Неспортивно однако.За что я и настучал вам критикой по башке слегка.А на будущее - до того как делать столь масштабные выводы о чем-то советую проверять в разных системах и разными утилитами.А если мозга хватает - то можно и просто скроить подходящий сектор в хексэдиторе попытаться записать его (чем меньше глючных сложных утилит участвует в процессе - тем проще отловить проблему).

     
  • 3.4, iZEN (ok), 02:21, 26/11/2008 [^] [^^] [^^^] [ответить]  
  • +/
    gt оверквотинг удален Вот та же флэшка Apacer AH320 16Gb, размеченная и отформ... большой текст свёрнут, показать
     
  • 3.15, Andrey Mitrofanov (?), 15:06, 26/11/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >BSDM какое-то - список команд на 2 страницы.Пи%@*ц...

    Действительно, особенно п.4 -- ужас. Даже цЫкл не написали. 8-O

    То ли дело --
    find / -not \( -regex "/\(proc\|mnt\|dev\|tmp\)" -prune \) -a -not \( -type f -regex "/var/\(log\|run\)/.+" \) -print|cpio -padmu /mnt/
    -- легко, приятно, полное удовольствие...

    :))))

    И нет, моя команда - только пример, приближённый к, если с копипастом не промахнулся, не помная функциональная замена _всего_п.4_. Лениво было...

    И да, на "UNIX"-ах не обязана работать. Те, у которых не GNU find и не GNU cpio -- изобретают "кошерные" велостипеды в сторонке.

     
     
  • 4.22, nanodaemon (?), 04:43, 28/11/2008 [^] [^^] [^^^] [ответить]  
  • +/
    "И да, на "UNIX"-ах не обязана работать. Те, у которых не GNU find и не GNU cpio -- изобретают "кошерные" велостипеды в сторонке." - у правильных юниксов есть гнутые пакеты, где гнутый grep например называется ggrep, гнутый patch - gpatch и т.д. :)
     
     
  • 5.23, EVS21 (??), 20:18, 30/11/2008 [^] [^^] [^^^] [ответить]  
  • +/
    +1
    развелось умников

    вопрос не в подходе, а в идее вроде как
    спасибо я так понимаю автору никто не скажет... а жаль

     
  • 3.24, andr.mobi (??), 17:53, 01/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >- ее надо там сначала создать в таком случае, если она
    >вам конечно там нужна и вы хотите более 1 раздела.На уровне

    Не знаю как у вас, у меня на работе маздай у юзверя отказался видеть раздел дальше первого.
    В итоге хитрый флэшь "ЗагрузочнаяБЗДя + Жирный(FAT)" осталась бесполезной, пришлось всё переформатировать вендой, чтобы та в истерике не билась.

    Надо попробовать наоборот. PXE ведь должен на флеше увидеть раздел с бздёй за Жиром 8Гиг?

     

  • 1.5, polkan (?), 03:10, 26/11/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Интерактивно разбить на разделы:
    >   fdisk -i /dev/da0
    >   (ID разделов:  UFS - 165, FAT32 - 11, EFI GPT - 238)

    хм... а мне почему то помнится что FAT16 - 6; а FAT32 - 12;

    или я глубоко АшиПаюсь? ;)

     
     
  • 2.18, iZEN (ok), 15:28, 26/11/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >> Интерактивно разбить на разделы:
    >>   fdisk -i /dev/da0
    >>   (ID разделов:  UFS - 165, FAT32 - 11, EFI GPT - 238)
    >
    >хм... а мне почему то помнится что FAT16 - 6; а FAT32
    >- 12;
    >
    >или я глубоко АшиПаюсь? ;)

    ID=12 у FAT32 (LBA), для "больших" дисков. ;)


     

  • 1.6, Аноним (-), 04:46, 26/11/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > На всё пространство:
    >    fdisk -BI /dev/da0

    gpart(8) умеет работать и с MBR-разделами (aka slices), и с BSD разделами (aka bsdlabels). Работая с gpart(8) можно забыть обо всех этих цилиндрах (http://en.wikipedia.org/wiki/Cylinder-head-sector).

    Что-то вроде:

    gpart create -s MBR ad0
    gpart bootcode -b /boot/boot0 ad0 (или /boot/mbr)
    gpart add -b X -s Y ad0
    gpart create -s BSD ad0s1
    gpart bootcode -b /boot/boot ad0s1
    gpart add -b X -s Y -t freebsd-ufs ad0s1

    но я не пробовал, бо у мя везде zfs и zfsboot, разве что в виртуалках с линупсом ;)

     
     
  • 2.7, Аноним (-), 04:53, 26/11/2008 [^] [^^] [^^^] [ответить]  
  • +/
    > gpart add -b X -s Y ad0

    oops, забыл тип указать, для MBR это freebsd: gpart add -b X -s Y -t freebsd ad0
    для BSD это один из: freebsd‐swap, freebsd‐ufs, freebsd-vinum и freebsd-zfs

     

  • 1.8, Vcoder (?), 07:47, 26/11/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Успешно перенёс систему (FREEBSD 7.0-RELEASE) на флэшку: на ноуте загружается и нормально работает. Но есть проблема: мат. плата того компа, для которого это предназначено, раздел с кодом 165 (FreeBSD) принимает за служебный и не грузится с него.

    Подобная ситуация описана в разделе 3.10 faq:
    http://www.freebsd.org/doc/ru_RU.KOI8-R/books/faq/install.html#BOOT-ON-THINKP
    Но описанное там решение применить не смог - disklabel говорит "неизвестный параметр -s".
    Если просто fdisk-ом поменять код раздела на 166, тоже отказывается грузиться.

    Подскажите, как сделать так, чтобы можно было загружать систему на компе, где bios не признаёт раздел с кодом 165?

     
  • 1.9, Аноним (9), 10:50, 26/11/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Подскажите, как сделать так, чтобы можно было загружать систему на компе, где bios не признаёт

    раздел с кодом 165?

    Поставить GRUB (а лучше - GRUB4DOS).
    И грузить все, что душе угодно.

     
  • 1.10, anon (?), 12:14, 26/11/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не проще ли загрузиться с установчного диска и просто установить систему на флешку? :)
     
  • 1.11, Vcoder (?), 13:25, 26/11/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вы не поняли.

    Когда в мат. плату воткнута флэшка с FreeBSD разделом, BIOS воспринимает этот раздел как служебный раздел FAT для режима сна. BIOS пытается обработать находящиеся на нём данные, но зависает, т.к. никаких данных режима сна там нет.

    До GRUB дело не доходит.

    Я пробовал просто поменять код раздела в таблице со 165 (FreeBSD) на 166 (OpenBSD), но тут отказывается грузиться GRUB - "boot failed", говорит.

    Методику, описанную в FreeBSD FAQ, применить не смог. Видимо, она устарела.

     
     
  • 2.12, greyork (??), 13:44, 26/11/2008 [^] [^^] [^^^] [ответить]  
  • +/
    тебе посоветовали поставить grub for dos на небольшой fat раздел (расположенный перед основным - любым, разделом), если я правильно понял выше сказанное..
     
     
  • 3.13, Vcoder (?), 13:55, 26/11/2008 [^] [^^] [^^^] [ответить]  
  • +/
    > поставить grub for dos на небольшой fat раздел
    > (расположенный перед основным - любым, разделом)

    Чтож, видимо вы ещё не исчерпали лимит телепатии.
    Ибо в явном виде это не было написано.
    Попробую так. Спасибо за идею.

     

  • 1.14, Аноним (9), 14:59, 26/11/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Я конечно понимаю что изобретать велисапед это очень интересно, но все же, что помешало нормально вставить CD загрузиться с него, и установить по человечески Sysinstall'om фрю на флешку ?
     
     
  • 2.16, iZEN (ok), 15:18, 26/11/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >Я конечно понимаю что изобретать велисапед это очень интересно, но все же,
    >что помешало нормально вставить CD загрузиться с него, и установить по
    >человечески Sysinstall'om фрю на флешку ?

    Ну, например у меня в наличии только Boot-Only CD. А ради вашего совета мне пришлось бы опять вытягивать бинарные компоненты системы и необходимые пакеты из Сети, а это порядка 150МБ, если не больше.


     

  • 1.17, iZEN (ok), 15:25, 26/11/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    4. Копирование системных каталогов на флэшку
    % mount /dev/da0s2a /mnt

    % cp -R /boot /mnt/
    % cp -R /sbin /mnt/
    % cp -R /libexec /mnt/
    % cp -R /lib /mnt/
    % cp -R /bin /mnt/
    % cp -R /etc /mnt/

    - именно в таком порядке, так как:

    8. Важное замечание
    Команды копирования системных каталогов необходимо выполнять, начиная с копирования каталога /boot и /sbin, в которых находятся файлы ядра и процессов инициализации системы. Это необходимо для того, чтобы загрузчик boot1/boot2 сумел найти код инициализации ядра в первых цилиндрах раздела носителя.


    <внёс необходимые правки в статью, жду разрешения администратора>


    Сегодня удалось завести и Apacer AH320 16Gb и SanDisk Memory Stick Micro M2 8Gb именно по такой схеме:
    Первый раздел FAT32 (ID=11 или 12 (LBA) - не важно) чуть меньше 1ГБ.
    Второй раздел UFS2 (ID=165) около 4ГБ.

    Система встала на UFS2 (/dev/da0s2a) и может загружаться с неё. Первый DOS-раздел (dev/da0s1) может использоваться для переноса файлов между разными операционками.

     
  • 1.25, XoRe (ok), 14:14, 04/12/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Ну, например у меня в наличии только Boot-Only CD. А ради вашего совета мне пришлось бы опять вытягивать бинарные компоненты системы и необходимые пакеты из Сети, а это порядка 150МБ, если не больше.

    Т.е. если есть инсталляционный CD/DVD, можно установить прямо на флешку ещё из sysinstall'а ?

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру