Меню Рубрики

Установка freebsd на mac

ОСи семейства BSD №2: OpenBSD и Mac OS X

OpenBSD

OpenBSD была разработана Theo de Raadt после рассогласования
по поводу будущего NetBSD. OpenBSD начиналась с
хорошей идеи создания безопасной
операционной системы, которая воплощается
в ОС и по сей день.

В отличии от других BSD и большинства
наследников Unix, OpenBSD по умолчанию
устанавливается с практически всеми
выключенными сервисам. И если пользователю
нужно будет NFS, telnet, finger или скажем FTP, то ему
придется их включать! Совершенно понятно,
что таким образом OpenBSD борется с кривыми
ручками пользователей и возможными
ошибками сервисов, нет работающей
программы — нет и проблемы. Кроме того, в
операционной системе реализована масса
криптографических стандартов, таких как RSA,
Blowfish, DES и полностью реализована поддержка
TCP/IP. Помимо этого поддерживается масса
железок, которые можно использовать во имя
безопасности, скажем Advanced Encryption Standard,
существующий в последних процессорах С3 от
VIA. В общем говоря, OpenBSD хорошо подходит для
работы на роутере, файрволе, при раздаче
интернета людям. Стоит так же отметить, что
код OpenBSD улучшают строгие методы
тестирования и аудита, что позволяет
находит и устранять дырки до того, как ими
воспользуются хакеры. Как результат — OpenBSD
одна из самых безопасных операционных
систем в настоящее время (как пишут на сайте
— всего одна ошибка в сетевой безопасности в
стандартной установке за 7 лет :)).

Сайт: http://www.openbsd.org/
Платформа: i386, Alpha, AMD64, sparc, sparc64, hp300, hppa, mac68k,
macppc, mvme68k, mvme88k и vax
Первый релиз: Ноябрь 1995
Фишка: Безопасность и чистота кода

Mac OS X

Darwin, ядро, на котором основана Mac OS X, само в
свою очередь происходит от FreeBSD с заменой
Мас-овскимя ядром стандартного BSD-евого.
Главная задача Darwin — обеспечить
функционирование всего окружения Mac OS. В
данном случае Darwin не альтернатива BSD,
система несколько стоит особняком, но все
же в мире BSD.

Собственно говоря, удаленные
пользователи при логине в систему заметят
мало отличий от BSD (если конечно не будут
усиленно приглядываться) — те же утилиты и
окружение. Проект Darwin полностью открыт, Apple
выложила коды в Интернет, так что каждый
может их утянуть здесь,
ведь Darwin поддерживает и PowerPC и х86 платформы.
Что отличает Darwin от трех других
дистрибутивов, так это его предназначение
Mac OS X. Закрытый набор утилит и
пользовательской среды (Aqua) встроенных в
ядро обеспечивают для пользователей вид,
похожий на Mac OS 9 и более ранние системы компании,
которыми она и славится. Несмотря на
дополнительные приложения и интерфейс, под
всем этим лежит ядро BSD — можно открыть
терминальное окно, запустить приложения X
Windows, работать Perl, Python, MySQL, Apache и прочими Unix-овыми
инструментами, в то же время для Mac OS
выпускаются большинство самых необходимых
коммерческих программ — Adobe InDesign, Illustrator,
Microsoft Office и так далее.

Еще раз отмечу, что Darwin это open source проект,
поддерживаемый Apple и членами комюнити. В
конечном счете многие улучшения и
изменения Darwin переносятся потом на другие
операционные системы семейства. Apple так же
помогает в работе всего BSD сообщества, так
что изменения свободно переходят как от так
и к Darwin.

Сайт: http://developer.apple.com/darwin/
Платформа: x86 (только Darwin) и Mac (Darwin+OS X)
Первый релиз: Март 1999
Фишка: простота

Ну и плавно переходим к морали. В случае
десктопов по моему мнению лучше
использовать FreeBSD как надежное и достаточно
широко поддерживаемое решение. В случае
устаревшего оборудования или встроенных
систем пригодится NetBSD. Что же касается
сервера, то для него подойдет OpenBSD как сама
безопасная из всех четырех. Для читсого веб-сервера FreeBSD так же не особо плохой выбор —
стабильность и быстродействие сыграют тут
свою важную роль.

источник

FreeBSD на Mac

Публикуется от имени и по просьбе товарища mrTuborg

Год назад поднял я сервер на Mac mini под управлением Leopard’a (Mac OS X 10.5), как и все порядочные люди, обнаружив внутри — зачатки/огрызки от FreeBSD, скачал и поставил порты fink (finkproject.org). Год поигрался… выставил WiFi адаптер в режим Infrastructure… теперь он и Internet стал на ноутбук отдавать… Качает торренты в режиме 24/7, переправляет поток VNC из локалки во внешний инет (для доступа с того же ноутбука при нахождении далеко от своего дома)… предоставляет опять же для меня любимого дискетку по SFTP размером в 500Г, держит транспорт для джаббера…

И стало скучно…
А что вот если взять и поставить на него настоящий FreeBSD? Пацан сказал — пацан сделал. ан нет… вот тут и начинается самое интересное.

Прожёг образ FreeBSD 7.0 PowerPC. Мак стартанул с диска нормально. Начинаем установку… упс… а где fdisk?? Нету fdisk’a. Есть Label Editor. Но как начинает выясняться он ничего не может сделать с таблицей разделов… И понеслось. В результате 2х недельного копания родилcя небольшой ToDo «Как поставить FreeBSD на Mac»… Который я и собираюсь представить вашему вниманию.

Итак, проблемы с которыми я столкнулся:

1) FreeBSD Installation DVD не имеет fdisk. Только LabelEditor который впринципе ничем помочь с разделами не может.
И нигде не найдёте портированную версию fdisk под Mac (по крайней мере работающую версию). Проблема кроется в «особом» железе и особом
Open-Firmware(об этом чуть ниже) фирмы Apple.

Читайте также:  Установки для подготовки нефти газа воды

2) «Особенный» Open-Firmware
Всё прогрессивное человечество уже отказалось от системы BIOS заменив их постепенно (я так понимаю пока в теории, а на маках уже и в практике) на Open Firmware. Аппаратный предзагрузчик с функциями самотестирования. В маках хоть и указано что это Open Firmware, но исходя из набора команд это всё таки свой Open Firmware. И этот Open Firmware понимает загрузку лишь с Маковских разделов HFS+. Собственно все дальнейшие танцы с бубном и происходят вокруг этого Open Firmware.
Что это такое написано здесь — en.wikipedia.org/wiki/Open_Firmware. Новомодная технология пришедшая на смену морально умершему BIOS. Набор команд для управления можно почитать здесь — www.firmworks.com/QuickRef.html. Но особенность Apple’вского OpenFirmware и заключается в том, что оно практически ни как не пересекается с описанными вещами. Здесь немного изменённый набор команд (большинство команд из указанного Reference — не работают) и поведение этих команд немного не предсказуемое. Очень часто одни и те же команды перестают работать или работать как то по другому. Выход один — перезагрузка.
Итак, вход в Mac’овский OpenFirmware — Alt + Cmd + O + F. После недолгой тренировки эта комбинация легко нажимается одной правой (левой не получится — пробовал =)).
Самые полезные, из обнаруженных команд:

mac-boot — продолжить загрузку
shut-down — выключить мак
reset-all — перезагрузить систему
eject cd — «выплюнуть» диск
boot — загрузить систему

devalias — вывод списка всех назначенных символьных сокращений для устройств
(запишите алиас для hd и сd)

Вывод всего дерева устройств:
1) dev / — подмонтировать дерево устройств в корень
2) ls

printenv — вывод переменных окружения.
(самая для нас интересная переменная — boot-device)
setenv — Назначить переменную окружения

Чтобы сбросить все настройки в заводские — необходимо в выключенном состоянии подержать кнопку включения до появления характерного звука и реакции домашних а-ля «у тебя всё в порядке? 0_o» Вобщем сигнал узнаваемый.

Вроде всё кристально чисто понятно. Но! OpenFirmware не может загружаться ни с чего иного, кроме как HFS+, и при этом…

3) FreeBSD не видит маковские HFS+ разделы.
Впринципе этого и нетребуется. Всё что требуется — создать при помощи инструментов Mac OS подготовить раздел HFS+ и не трогать его уже из
FreeBSD, чтобы не испортить.

4) Mac OS при первой возможности «бросается улучшать» разделы на жёстком диске.
Проблема обратная описанной в п.3 Когда уже установим FreeBSD ни в коем случае не допустите загрузки Mac OS X (с установочного диска). Всю процедуру установки BSD придётся начинать заново.

Итак. Это была теоретическая часть. Теперь собственно приступим к практике — к препарированию пациента.

Инструменты:
1) Установочный диск FreeBSD.
2) Установочный диск Mac OS X (Тигр или Леопард).
3) Флэшка.

0. Определение оборудования.

Далее мы будем везде указывать символические имена устройств, но на всякий случай если они не сработают, надо выпытать полное название необходимых нам устройств на данном этапе.
Входим в Open Firmware(путём зажима клавиш Cmd+Alt+O+F)…

начнётся постраничный вывод дерева устройств построенного на начальном этапе загрузки Open Firmware. Здесь требуется внимательность.
Для имени нужна вся ветка… которая собственно там не указывается… а лишь обозначается отступами.

мой контроллер ATA (куда подключены жёсткий диск и cd-rom) выглядит так:

(через слэш разделены ветви дерева).

как узнать правильно ли определили ветку дерева?

Загружаемся дальше — в boot2/EFI (при условии что вставлен диск установки Free BSD). Там имеем более расширенный (но такой же глючный) набор команд от FreeBSD где можно проверить все наши догадки:

Как загрузить boot2/EFI. Находясь в OpenFirmware вводим команду (второй параметр опущен — ядро загружаться не будет)
boot cd:,\boot\loader

все догадки вбиваем в переменную окружения «currdev»:
после имени контроллера ata-дисков(pci@f4000000/ata-6@d/disk) надо указать номер диска и номер раздела
set currdev=/pci@f4000000/ata-6@d/disk@1:0

в моём случае это cdrom. поскольку там всего один раздел, то номер раздела можно опустить, оставив так:
set currdev=/pci@f4000000/ata-6@d/disk@1

дальше проверяем нашу догадку коммандой ls.
Если получили листинг файлов и директорий диска — догадка оказалась верна.

Жёсткий диск в моём случае вышлядит как: /pci@f4000000/ata-6@d/disk@0

Если мы ошиблись то нахождение требуемых разделов решается путём простого перебора =).

1. Подготовка загрузчика (на соседнем компьютере)

Берём флэшку и копируем на неё loader и boot.tbxi (в любую папку, флэшка — как инструмент для переноски, не более)
Что за файлы… и где их взять? loader — находится на установочном диске FreeBSD (\boot\loader), boot.tbxi там же, но его надо поправить или создать заново если его не найдёте.
Это загрузочный скрипт на языке Forth для Open Firmware, выглядит следующим образом:

» screen» output
boot hd. \boot\loader hd.

Нас интересует команда boot. Разберёмся с её синтаксисом:
1й параметр — место расположения загрузчика (в данном случае boot2/EFI-загрузчик от FreeBSD). В данном примере укзана символическая подстановка, hd — hard disk (cd — compact disk), через двоеточие номер раздела (о номере раздела чуть ниже) и через забятую путь на этом разделе к файлу загрузчика. Файловая система HFS+.

Читайте также:  Установка в квартирах водяных счетчиков воды

2й параметр — место расположения ядра загружаемой системы. Здесь проще — просто номер раздела. Параметр передаётся на вход файла-загрузчика, поэтому требования к формату файловой системы не предъявляются.

Как выяснить нужные номера разделов мы выясним соответственно в момент когда эти разделы создадим. Поэтому редактирование скрипта на соседнем компьютере этим не заканчивается…

2. Подготовка жёсткого диска.

Установочный диск MAC OS X потрбуется один раз (см. проблему №4) поэтому с него и начнём.

После загрузки установочного диска MAC OS X вам доступны следующие необходимые нам инструменты: Disk Utilities и Terminal

2.1 Разбиваем диск при помощи Disk Utilities.

Почему бы не сделать один раздел и не поделить его на слайсы при помощи Label Editor’a? Не получится. Label Editor может только использовать созданные для него разделы, но никак не вмешиваться в таблицу разделов — не получится. Вот поэтому под каждый слайс лучше всё-таки сделать свой раздел…
Перед разбиением диска на разделы нужно выбрать тип таблицы разделов. GUID, Apple Partition Map или MBR. Выбрать нужно для PowerPC mac — APM, для Intel mac — GUID.

Я сделал следующие разделы:
под root — 4 Gb
под swap — 2 Gb
под var — 2 Gb
под usr — 8 Gb
под home — всё что осталось, а именно 22 Gb.

чтобы их было проще на следующем шаге идентифицировать в терминале зададим этим разделам метки типа root, swap… и пр.

Вообще на всяческих буржуйских форумах не советуют долго играться с Disk Utilities так как подозревается он в глючности. Не отрицаю сей факт, было такое, но я это списывал на свои кривые руки.
Пару слов о совместимости файловых систем Mac OS и BSD. В Disk Utilities есть 4 типа файловых систем для выбора — они все называются длинно и заумно Extended File System (Расширенная файловая система) с поддержкой (или без) журналирования и с поддержкой (или нет) различия заглавных и строчных букв в названиях файлов. На самом деле это ничто иное как Journaled или Non-Journaled Ext3 с опциями. Так что проблем с прочтением как в теории так и в практике этих разделов из под BSD не возникает (он их переконвертирует в UFS). Но закавыка всё таки есть. Надо загрузчик загрузить c HFS+, а ядро уже с партиции понимаемой в BSD.
Для дальнейшей успешной загрузки устанавливаемой BSD надо разделить загрузчик и собственно само ядро. Для этого на диске к уже описанным выше разделать создать раздел для bootloader’a. Я указал размер как 0.2Гб, Леопард тут же поправил до 1 Гб, но после процесса разбиения раздел оказался размером 0.86Гб. Ну не будем с ним спорить =). Далее BSD при установке сделает нечитаемыми для мака свои разделы, поэтому диск установки Leopard’a используем лишь один раз и только до установки BSD на жёсткий диск. Иначе, при следующей загрузке установочного диска Leopard’a, Mac OS все подготовленный разделы «улучшит» до степени непригодности так что процесс установки придётся начинать сначала.

Итак имеем следуюшую таблицу разделов:
bootloader (1G)
root (4G)
swap (2G)
var (2G)
usr (8G)
home (22G)

Закончив подготовку разделов, закрывем Disk Utilities и запускаем terminal (Всё с того же установочного диска Leopard или Tiger).
находяcь в терминале, необходимо разместить в разделе bootloader 2 файла c ранее подготовленной флешки- loader и boot.tbxi. Требований по размещению нет. Я, к примеру создал там директорию boot, и скопировал всё туда… а да нам надо закончить приготовление загрузочного скрипта.

2.2 Идентификация номера раздела

Способ 1: Находясь в терминале установочного диска leopard, выведите список подмонтированных разделов (всё подмонтировалось уже до нас)

пример работы команды mount, у меня:
/dev/disk0s3 on /bootloader
/dev/disk0s5 on /root
……

цифра стоящая после s и есть требуемые нам циферьки (см выше пример моего загрузочного скрипта)

Способ 2: Находясь в LabelEditor’е установочного диска FreeBSD.
пример моего случая:

Здесь уже приходится ориентироваться по порядку расположения и размерам разделов для выяснения — кто есть кто, так как заданных меток не видно. Немного неудобно.

Теперь добиваем загрузочный скрипт:

» screen» output
boot hd:3,\boot\loader hd:5

Находясь в Terminal копируем с флэшки на мак в раздел bootloader файлы loader и boot.tbxi

Итак. Что имеем к этому моменту — разбитый (пока что только на разделы) диск, скопированные в bootloader-раздел файлы loader и boot.tbxi.
Перезапускаем Мак и загружаемся с установочного диска FreeBSD. Проводим установку. Перезапускаемся. Получаем мигающую папочку 😉

4. Загрузка установленного FreeBSD.

Пока всё хорошо. Заходим снова в OpenFirmware. Тестим установку ручной загрузкой:

0> eject cd — вытаскиваем загрузочный диск инсталлятора FreeBSD
ok
0> boot hd:3,\boot\loader hd:5 — загружаем подготовленный нами loader на 3ьей партиции и передаём ему на вход ядро с 5й партиции.
ok

Успешно? Если да переходим к пункту 4.2. Нет — читаем дальше.

Читайте также:  Установка двухканального режима работы с памятью

4.1 Непосредственные имена устройств.

Если загрузка не пошла, значит не верно определены символические ссылки (devalias)
Значит будем использовать непосредственные имена устройств. Вспоминаем пункт 0. Загружаемся опять в EFI
Проверяем там ли у нас загрузчик и ядро:
set currdev=/pci@f4000000/ata-6@d/disk@0:3
ls — листинг файлов с раздела bootloader. Должны увидеть loader и boot.tbxi

set currdev=/pci@f4000000/ata-6@d/disk@0:5
ls — листинг файлов с раздела root.

Если неудачно, то меняем цифры a и b — disk@a:b путём перебора, пока не найдём.
Допустим нашли нужные цифры, тогда тестируем загрузку (предварительно перегрузившись в OpenFirmware)
0> boot /pci@f4000000/ata-6@d/disk@0:3,\boot\loader /pci@f4000000/ata-6@d/disk@0:5

соответственно придётся поправить загрузочный скрипт boot.tbxi на найденные параметры

4.2 Установленная FreeBSD загрузилась.

На этом месте информация примерно на всех буржуинских форумах заканчивается… Для них всё ок. Они достигли нирваны…
Но как заметит наш внимательный пролетарский читатель — неужели теперь ручками надо это всё загружать? На многих форумах в этом месте рекоммендуют подготовить загрузочный диск (по типу инсталляционного) с правильным скриптом .tbxi который будет загружать ядро не с диска, а с винчестера.

Прошла не одна бессонная неделя и я натолкнулся в другом месте и совсем по другому поводу на команду setenv. Вот он выход, финальный аккорд, так сказать…

setenv boot-device hd:3,\boot\boot.tbxi

На моём маке сработал. Сработает ли у вас — гарантии никаких… поскольку всё это недокументированные возможности маковского Open Firmware.
В любом случае, как вернуть всё взад? Сбросить параметры nvram — при выключенном маке зажмите на 20 секунд кнопку питания.

Послесловие.
На моём маке загрузилась FreeBSD. Кулеры работают теперь постоянно… WiFi модуля не видно… Есть что продолжить. Если конечно это всё кому-нибудь надо.

источник

How To Install FreeBSD 10.1 On A 2006 Macbook

The folks at Higher Learning show us how to get FreeBSD 10.1 set up on your old 2006 Macbook.

A while ago I decided to unretire my 2006 Macbook and turn it into a low powered server. Specifically to run a BBS, but more on that in a later blog post. To get FreeBSD running properly requires a bit of trickery, so i decided to write a little howo to save you some time and effort. For this you will need the following:

Perquisites

  • A FreeBSD install DVD burned with the i386 image as we’re dealing with a 32 bit core duo machine here. If you’re into that sort of think you can also create a FreeBSD USB stick.
  • The OS X Tiger (10.4) Install DVD

Now for the fun part:

  • Insert DVD/USB stick into Macbook and boot
  • Hold down the option key to choose to boot from the DVD/USB stick. The boot media should be displayed as “Windows” by the Mac boot manager
  • Install FreeBSD with default partitions and whichever options you want
  • With 10.1 I kept getting a

message on bootup. This can easily be fixed by exiting to the shell after the install and typing in

where adaX is the boot partition. I think this is ada0s1 on the Macbook with the default partition options, but i’m not 100% sure. Please feel free to correct me in the comments if i’m wrong.

  • Exit and reboot. While rebooting hold down the left trackpad button to eject the DVD. Obviously if you’re installing from USB this shouldn’t be an issue. Insert the OS X Tiger install DVD and reboot again.
  • Hold down the C button during the chime to boot from the Tiger DVD. Once booted choose your language and then open the terminal (Utilities/Terminal). Now you need to bless the boot partition (Yes, the engineers at Apple have quite the ego). Type the following in the shell:
  • Reboot again and you should be rewarded with the FreeBSD boot screen:

Now pat yourself on the back for a job well done. You deserve it.

2 Comments

After installing FreeBSD i rebooted to the OS 10.4 disk, opened terminal, and input this command
“bless –device /dev/disk0s1”
I rebooted once again to the Mac OS 10.4 Disk, re-partitioned the hard drive. now it wont boot to anything. It comes up with a folder icon and flashes between that icon and the finder inside a folder icon as if it is searching for something to boot from. There is no longer the FreeBSD to boot from because it has been re-partitioned back as one with the Hard Drive. How do i set the boot back to the Hard Drive so that i can boot up my installed OS once again?

Nevermine that last comment. I found a way around this issue. Boot to OS 10.4 install disk, format hard drive, install mac os to the hard drive, reboot to disc once again, set the hard drive you just install os 10.4 to as your startup disc. FIXED!! 😀

источник

Добавить комментарий