LINUX.ORG.RU

FreeBSD from scratch?

 ,


1

3

На лурке в обсуждении статьи о LFS обнаружил фразу, оброненную анонимусом:

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

Кто-нибудь из местных делал такое? Так, чтобы всё из исходников и только нужное тебе? Мануалы есть?

★★★★★

Так, чтобы всё из исходников и только нужное тебе?

Можно даже не из исходников, для этого есть /etc/freebsd-update.conf.

Мануалы есть?

Где-то в документации для разработчиков видел, но найти вот так с кондачка не смогу.

mord0d ()

Я когда-то давным-давно собирал себе целиком фряху из исходников. Работало. Разница с lfs в том, что тебе не надо базовую ОС собирать по кускам, всё необходимое сразу есть.

Dark_SavanT ★★★★★ ()

У меня всё из исходников собрано на FreeBSD. Кроме проприетарного NVIDIA и пары-тройки Java-программ.

Процесс сборки напоминает сборку мебели из заранее подготовленных ЛДСП-панелей по свежим чертежам. Но никто не мешает создать свой проект.

iZEN ★★★★★ ()
Последнее исправление: iZEN (всего исправлений: 1)

А можно сделать так, чтобы dns получался по dhcp? В линуксе работает, а тут приходится каждый раз вручную прописывать.

И ещё можно чтобы pci звук работал? В любом линуксе вышедшем за последние 10+ лет не было проблем с этой звуковухой.

А хотя там же нормальной файловой системы нет, только ворованная zfs и она совсем не для десктопа. Нет, не хочу, да и всё равно придётся линоксулятор для софта ставить. Да и с файловыми системами постоянные проблемы.

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

linuxnewbie ()
Ответ на: комментарий от xvoid

Серьёзно, первый шок для меня был в том что хорошо если есть ufs в вариантах установки и мои разделы с ext4 я даже не могу подмонтировать, наверное потому что они на gpt. У линукса хочешь ext4, хочешь xfs, можешь btrfs (и у неё требования меньше чем у zfs) или reiserfs и десяток других на любой вкус. И все современные и актуальные. Да даже zfs можно, если лишней памяти много (наверное). А тут всё из каменного века и чуть более современная zfs прикрученная изолентой. Это меня искренне поразило.

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

из каменного века

UFS плохо работает?

ext4

Уже некоторое время в составе утилит для ext2/3/4 идёт FUSE-драйвер. Под FreeBSD же FUSE работает? Если да, то попробуй через него подцепить.

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

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

Впрочем, та же xfs вон вообще молча обнуляет файлы при перезагрузке. Наверное чем больше пользователей, тем раньше найдут все ошибки, так что это хорошо, что btrfs наконец начали применять повсеместно. Я её всё ещё боюсь немного.

FUSE-драйвер

если судить по линуксовому FUSE, то лучше не надо.

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

если судить по линуксовому FUSE, то лучше не надо.

Ты же не / на FUSE-драйвере держать собрался? Если данные туда-сюда перекинуть, то вполне сгодится.

i-rinat ★★★★★ ()
Ответ на: комментарий от f00f

А как с Nvidia решал?

Установил из порта драйвер «portmaster -gD x11/nvidia-driver»:

> pkg info nvidia-driver
nvidia-driver-390.87_2
Name           : nvidia-driver
Version        : 390.87_2
Installed on   : Thu Apr 25 21:11:57 2019 MSK
Origin         : x11/nvidia-driver
Architecture   : FreeBSD:12:amd64
Prefix         : /usr/local
Categories     : x11 kld
Licenses       : NVIDIA
Maintainer     : danfe@FreeBSD.org
WWW            : https://www.nvidia.com/object/unix.html
Comment        : NVidia graphics card binary drivers for hardware OpenGL rendering
Options        :
	ACPI_PM        : on
	DOCS           : off
	LINUX          : off
	WBINVD         : off
и отредактировал /etc/X11/xorg.conf:
Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
    ModulePath      "/usr/local/lib/xorg/modules"
    FontPath        "/usr/local/share/fonts/dejavu/"
    FontPath        "/usr/local/share/fonts/GentiumBasic/"
    FontPath        "/usr/local/share/fonts/LinLibertineG/"
    FontPath        "/usr/local/share/fonts/Caladea/"
    FontPath        "/usr/local/share/fonts/Carlito/"
    FontPath        "/usr/local/share/fonts/Droid/"
    FontPath        "/usr/local/share/fonts/emojione-color-font-ttf/"
    FontPath        "/usr/local/share/fonts/Andika/"
    FontPath        "/usr/local/share/fonts/GentiumPlus/"
    FontPath        "/usr/local/share/fonts/cantarell/"
    FontPath        "/usr/local/share/fonts/gofont-ttf/"
    FontPath        "/usr/local/share/fonts/fantasque-sans-mono/"
    FontPath        "/usr/local/share/fonts/webfonts/"
    FontPath        "/usr/local/share/fonts/SourceSerifPro/"
    FontPath        "/usr/local/share/fonts/SourceSansPro/"
    FontPath        "/usr/local/share/fonts/SourceCodePro/"
EndSection

Section "Module"
    Load           "extmod" #NVIDIA
    Load           "record"
    Load           "dbe"
    Load           "dri2"
    Load           "type1"
    Load           "freetype"
    Load           "glx" #NVIDIA
EndSection

Section "ServerFlags"
    Option         "AutoAddDevices" "false"
    Option         "AllowEmptyInput" "off"
    Option         "AllowMouseOpenFail" "true"
    Option         "IgnoreABI" "on"
EndSection

Section "InputDevice"
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/sysmouse"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5 6 7"
EndSection

Section "InputDevice"
    Identifier     "Keyboard0"
    Driver         "kbd"
    Option         "XkbLayout" "us,ru"
    Option         "XkbVariant" ",winkeys"
    Option         "XkbOptions" "grp:caps_toggle,grp_led:caps,compose:ralt,terminate:ctrl_alt_bksp"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "IIYAMA"
    ModelName      "ProLite XB2283HS-B3"
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "VertRefresh" "60"
    Option         "RenderAccel" "1"
    Option         "TripleBuffer" "true"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Extensions"
    Option         "Composite" "Enable"
    Option         "DAMAGE" "Enable"
    Option         "RENDER" "Enable"
EndSection

> cat ~/.login 
startx
> cat ~/.xinitrc
startxfce4
iZEN ★★★★★ ()
Последнее исправление: iZEN (всего исправлений: 1)
Ответ на: комментарий от i-rinat

Эх, вообще у меня почти весь хоме на этом ext4. Ещё есть ntfs рядом. Главная проблема была с тем что определение gpt разделов не работало, и монтирование от пользователя в гноме тоже. Дальше стало страшно что оно сейчас мне все данные запорет. Дикость какая-то, в линуксе такого никогда не случается. Так наверное попробую ещё, вроде как исправили как раз мои проблемы пару месяцев назад.

linuxnewbie ()
Ответ на: комментарий от i-rinat

Под FreeBSD же FUSE работает?

FUSE давно в ядре FreeBSD.

% echo 'fuse_load="YES"' >> /boot/loader.conf

% kldload fuse

% kldstat
Id Refs Address                Size Name
 1   58 0xffffffff80200000  218c120 kernel
 2    1 0xffffffff8238d000     1120 msdosfs_iconv.ko
 3    2 0xffffffff8238f000     8780 libiconv.ko
 4    1 0xffffffff82398000     4838 cc_cdg.ko
 5    2 0xffffffff8239d000     1850 h_ertt.ko
 6    1 0xffffffff8239f000    10600 tmpfs.ko
 7    1 0xffffffff823b0000   376438 zfs.ko
 8    2 0xffffffff82727000     a348 opensolaris.ko
 9    1 0xffffffff82732000     40e0 amdtemp.ko
10    2 0xffffffff82737000     2390 amdsmn.ko
11    1 0xffffffff8273a000    15a10 fuse.ko
12    1 0xffffffff82750000   1719c0 nvidia-modeset.ko
13    2 0xffffffff828c2000  134c7c8 nvidia.ko
14    1 0xffffffff84111000     2418 intpm.ko
15    1 0xffffffff84114000      ab0 smbus.ko
16    1 0xffffffff84115000     1860 uhid.ko
17    1 0xffffffff84117000     2908 ums.ko
18    1 0xffffffff8411a000     1aa0 wmt.ko
19    1 0xffffffff8411c000    30418 pf.ko
20    1 0xffffffff8414d000     19b0 fdescfs.ko
21    1 0xffffffff8414f000      1a2 blank_saver.ko

Для поддержки ext2/3/4 в десктопных приложениях нужно установить пакет fusefs-ext2 (порт sysutils/fusefs-ext2).

iZEN ★★★★★ ()
Последнее исправление: iZEN (всего исправлений: 1)
Ответ на: комментарий от linuxnewbie

Там были предложены огромные кластеры
это значит что любой маленький файл будет занимать очень много места

Там вообще-то блоки и фрагменты. И любой маленький файл будет занимать frag-size, который по умолчанию равен 4096.

ls -lh tst.tar.gz 
-rw-r-----  1 анон  анон  162B 20 марта 01:04 tst.tar.gz
du -h tst.tar.gz 
4,0K	tst.tar.gz

Производительность ни к чёрту.

https://www.phoronix.com/scan.php?page=article&item=freebsd-zol-april&amp... Но ты продолжай, продолжай.

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

Главная проблема была с тем что определение gpt разделов не работало, и монтирование от пользователя в гноме тоже.
Так наверное попробую ещё, вроде как исправили как раз мои проблемы пару месяцев назад.

Оказывается, я угнал машину времени и полностью перешел на GPT в 2014! Ух ты!

% pkg info dsbmd
dsbmd-1.7.2
Name           : dsbmd
Version        : 1.7.2
Comment        : Media mounting daemon
Options        :
	DOCS           : off
	EXFAT          : on
	EXT4           : on
	HFS            : on
	LKL            : off
	MTP            : on
	NTFS           : on
	PTP            : on

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

А можно сделать так, чтобы dns получался по dhcp?

Можно, так и быть, разрешаю! Так же даю добро на чтение мана ifconfig, rc.conf c их примерами или сразу handbook.
Оттуда, кстати, можно узнать важные для наброса детали:

By default, when a FreeBSD system boots, its DHCP client runs in the background, or asynchronously. Other startup scripts
continue to run while the DHCP process completes, which speeds up system startup.

anonymous ()

Это любители нахваливать то чем пользуются, «мой поросёнок чистый, а ваша свинья в воняет и чумазая», если знать что делать то разницы нет что и как собирать из исходников.

а во фре набор деталей из которых ты аккуратно собираешь шкаф

чтобы всё из исходников и только нужное тебе?

Взаимоисключающие параметры, либо набор, либо то что нужно тебе.

Наверняка плюсы есть, оно заточено под то что ты хочешь, но то что приукрашено тоже наверняка.

LINUX-ORG-RU ()
Ответ на: комментарий от iZEN

Установил из порта драйвер «portmaster -gD x11/nvidia-driver»

Ставил. Ругается матом.

Попробую ещё раз, завтра-послезавтра.

Может обновить систему? Ещё десяточка стоит.

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

Похороникс такой похороникс. Я говорю только о том что было у меня лично, и раз ни с одним линуксом у меня проблем не возникло, а с каждой эксбсд косяки один эпичнее другого, видимо проблема не во мне.

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

Вроде iZEN рассказывал, что надо скопировать какой-то файл на специальный раздел и загружаться с него, чтобы определение разметки нормально работало. Или что-то вроде того, я не знаю, у меня ничего не получилось тогда — только с mbr работало. И были серьёзные ограничения по фунциям ФС.

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

Похороникс такой похороникс. Я говорю только о том что было у меня лично

Что у тебя было лично? Лично делал бенчи? Или переписал UFS под использование «кластеров»? Или менял дефолты установщика и newfs

 -b block-size
             The block size of the file system, in bytes.  It must be a power
             of 2.  The default size is 32768 bytes, and the smallest
             allowable size is 4096 bytes.  The optimal block:fragment ratio
             is 8:1.  Other ratios are possible, but are not recommended, and
             may produce poor results.

а с каждой эксбсд косяки один эпичнее другого, видимо проблема не во мне.

Пока что тут были не косяки, а забористые фантазии «на тему».

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

Fio и sysbench по-моему. Да даже визуально тормозило, хотя то может быть fuse.

Вот это не фантазии, там разрабы признали в ченджлоге новой версии что исправили прошлой осенью в распоследней тестовой ветке. FreeBSD from scratch? (комментарий)

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

FreeBSD from scratch? (комментарий)

Тут написано dhcp должен работать сам? Почему тогда ни в одном дистрибутиве dns не приходил?

А, ещё с загрузкой модулей что-то непонятное было. Какие-то вроде даже вызывали панику.

linuxnewbie ()
Ответ на: комментарий от reprimand

Мои представления о юзерфрендли это чорная консоль линукса, установка рача и генту голыми руками с поэтапной настройкой и прочее. Эксбсд ставятся в 1 клик, но нихрена не работают при этом.

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

ROFL. Жаль, что ты не в теме.

Пиши ещё, доставляешь.

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

Запили мне Arch без systemd, да с кастомным ядром, без initrd да с UEFI загрузкой без менеджеров загрузки, потом допили «под себя» файловую систему (и scheduler не забудь), сеть (и никаких network-managers). А потом пиши, что BSD «не торт».

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

с кастомным ядром, без initrd да с UEFI загрузкой без менеджеров загрузки, потом допили «под себя» файловую систему (и scheduler не забудь)

Чего, это же изи с ауром, зачем ещё рач нужен? Раньше без systemd всё работало. У меня.

сеть (и никаких network-managers)

Ещё более изи, он вообще не нужен. Только nm может быть прописан в зависимостях de и его придётся упорно выковыривать. Мне ещё приходилось ppp настраивать чтобы получить сеть, так там одна ошибка и ничего не заработает.

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

Fio и sysbench по-моему. Да даже визуально тормозило, хотя то может быть fuse.

Fio и sysbench на FUSE? Ой-ей!

Вот это не фантазии, там разрабы признали в ченджлоге новой версии что исправили прошлой осенью в распоследней тестовой ветке. FreeBSD from scratch? (комментарий)

Ссылаться в качестве доказательства «не фантазии» на свой собственный комментарий - это сильно.

Тут написано dhcp должен работать сам? Почему тогда ни в одном дистрибутиве dns не приходил?

Потому что опять фантазии про «дистрибутивы»?

А, ещё с загрузкой модулей что-то непонятное было. Какие-то вроде даже вызывали панику.

Опять ноль конкретики?

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

Нет вы понимаете? Дело не в NM, у меня тут были и дистрибутивы с wicd и с ручной настройкой, и сеть везде работала. А тут никак. Ну и что это такое? Зачем это дерьмо оправдывать?

linuxnewbie ()