LINUXTALKS.CO

2
Всего сообщений: 36

Rust & FreeBSD

«Алан Сомерс (Alan Somers), разработчик новой реализации драйвера FUSE для FreeBSD и автор Rust-обвязок над некоторыми библиотеками FreeBSD, начал обсуждение процесса включения кода на языке Rust в состав базовой системы. В ходе дискуссии коммиттеров проекта были определены цена и преимущество внедрения. Ценой включения поддержки Rust станет удвоение времени сборки, а преимуществом - упрощение разработки некоторых утилит.» (C) OpenNET.

Мечта Крипта начинает сбываться…

 ,

Minona ()

Фряха. Видео заработало, звук нет.

Итак, Asrock D1800B-ITX, проц атом J1800, видео интеграшка Intel HD 4что-то-там 16Гб ОЗУ DDR3.

Накатил FreeBSD 14.0.

Звука,значит, нет.

Тест в кедах говорит,
Не удалось воспроизвести звук для проверки. Сообщение об ошибке: «No such driver»

cat /dev/sndstat

[root@FREEBSD /]# cat /dev/sndstat
Installed devices:
pcm0: <Realtek ALC662 rev1 (Analog)> (play/rec) default
pcm1: <Realtek ALC662 rev1 (Analog)> (play/rec)
pcm2: <Realtek ALC662 rev1 (Front Analog Headphones)> (play)
pcm3: <Intel Valleyview2 (HDMI/DP 8ch)> (play)
No devices installed from userspace.

spkrtest

[root@FREEBSD /]# spkrtest
You have no write access to /dev/speaker or the speaker device is
not enabled in kernel. Cannot play any melody! See spkr(4).

dmesg | grep pcm

[root@FREEBSD /]# dmesg | grep pcm
pcm0: <Realtek ALC662 rev1 (Analog)> at nid 21 and 24,26 on hdaa0
pcm1: <Realtek ALC662 rev1 (Analog)> at nid 20 and 25 on hdaa0
pcm2: <Realtek ALC662 rev1 (Front Analog Headphones)> at nid 27 on hdaa0
pcm3: <Intel Valleyview2 (HDMI/DP 8ch)> at nid 4 on hdaa1
pcm0: <Realtek ALC662 rev1 (Analog)> at nid 21 and 24,26 on hdaa0
pcm1: <Realtek ALC662 rev1 (Analog)> at nid 20 and 25 on hdaa0
pcm2: <Realtek ALC662 rev1 (Front Analog Headphones)> at nid 27 on hdaa0
pcm3: <Intel Valleyview2 (HDMI/DP 8ch)> at nid 4 on hdaa1

sysctl dev.pcm

[root@FREEBSD /]# sysctl dev.pcm
dev.pcm.3.mode: 3
dev.pcm.3.bitperfect: 0
dev.pcm.3.buffersize: 65536
dev.pcm.3.play.vchanformat: s16le:2.0
dev.pcm.3.play.vchanrate: 48000
dev.pcm.3.play.vchanmode: passthrough
dev.pcm.3.play.vchans: 1
dev.pcm.3.play.32bit: 24
dev.pcm.3.%parent: hdaa1
dev.pcm.3.%pnpinfo: 
dev.pcm.3.%location: nid=4
dev.pcm.3.%driver: pcm
dev.pcm.3.%desc: Intel Valleyview2 (HDMI/DP 8ch)
dev.pcm.2.mode: 3
dev.pcm.2.bitperfect: 0
dev.pcm.2.buffersize: 65536
dev.pcm.2.play.vchanformat: s16le:2.0
dev.pcm.2.play.vchanrate: 48000
dev.pcm.2.play.vchanmode: fixed
dev.pcm.2.play.vchans: 1
dev.pcm.2.play.32bit: 24
dev.pcm.2.%parent: hdaa0
dev.pcm.2.%pnpinfo: 
dev.pcm.2.%location: nid=27
dev.pcm.2.%driver: pcm
dev.pcm.2.%desc: Realtek ALC662 rev1 (Front Analog Headphones)
dev.pcm.1.mode: 7
dev.pcm.1.bitperfect: 0
dev.pcm.1.buffersize: 65536
dev.pcm.1.rec.vchanformat: s16le:2.0
dev.pcm.1.rec.vchanrate: 48000
dev.pcm.1.rec.vchanmode: fixed
dev.pcm.1.rec.vchans: 1
dev.pcm.1.rec.autosrc: 2
dev.pcm.1.rec.32bit: 20
dev.pcm.1.play.vchanformat: s16le:2.0
dev.pcm.1.play.vchanrate: 48000
dev.pcm.1.play.vchanmode: fixed
dev.pcm.1.play.vchans: 1
dev.pcm.1.play.32bit: 24
dev.pcm.1.%parent: hdaa0
dev.pcm.1.%pnpinfo: 
dev.pcm.1.%location: nid=20,25
dev.pcm.1.%driver: pcm
dev.pcm.1.%desc: Realtek ALC662 rev1 (Analog)
dev.pcm.0.mode: 7
dev.pcm.0.bitperfect: 0
dev.pcm.0.buffersize: 65536
dev.pcm.0.rec.vchanformat: s16le:2.0
dev.pcm.0.rec.vchanrate: 48000
dev.pcm.0.rec.vchanmode: fixed
dev.pcm.0.rec.vchans: 1
dev.pcm.0.rec.autosrc: 2
dev.pcm.0.rec.32bit: 20
dev.pcm.0.play.vchanformat: s16le:2.0
dev.pcm.0.play.vchanrate: 48000
dev.pcm.0.play.vchanmode: fixed
dev.pcm.0.play.vchans: 1
dev.pcm.0.play.32bit: 24
dev.pcm.0.%parent: hdaa0
dev.pcm.0.%pnpinfo: 
dev.pcm.0.%location: nid=21,24,26
dev.pcm.0.%driver: pcm
dev.pcm.0.%desc: Realtek ALC662 rev1 (Analog)
dev.pcm.%parent: 

sysctl hw.snd.default_unit=0

прописал,

Adding: compat.linuxkpi.i915_disable_power_well=«0» to /boot/loader.conf

сделал,

cat /dev/random /dev/dsp не шумит, выводит в консоль мусор. Звука нет.

Что ему не так-то?

 , ,

tiinn ()

Иксы во фряхе не стартуют

Итак, Asrock D1800B-ITX, проц атом J1800, видео интеграшка Intel HD 4что-то-там 16Гб ОЗУ DDR3.

Накатил FreeBSD 14.0.

Попробовал накатить кеды по этой инструкции.

pkg install --yes kde5 plasma5-sddm-kcm sddm xorg
sysrc dbus_enable="YES" && service dbus start
sysrc sddm_enable="YES" && service sddm start

Упало с ошибкой «package database is busy while closing», теперь на startx выдаёт

root@FREEBSD:/media # startx >> /home/c/startx.txt
xauth:  file /root/.serverauth.1500 does not exist


X.Org X Server 1.21.1.9
X Protocol Version 11, Revision 0
Current Operating System: FreeBSD FREEBSD 14.0-RELEASE FreeBSD 14.0-RELEASE #0 releng/14.0-n265380-f9716eee8ab4: Fri Nov 10 05:5
7:23 UTC 2023     [email protected]:/usr/obj/usr/src/amd64.amd64/sys/GENERIC amd64

Current version of pixman: 0.42.2
        Before reporting problems, check http://wiki.x.org
                to make sure that you have the latest version.
                Markers: (--) probed, (**) from config file, (==) default setting,
                        (++) from command line, (!!) notice, (II) informational,
                                (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
                                (==) Log file: "/var/log/Xorg.0.log", Time: Fri Jan  5 22:25:12 2024
                                (==) Using system config directory "/usr/local/share/X11/xorg.conf.d"
                                scfb trace: probe start
                                scfb trace: probe done
                                (EE)
                                Fatal server error:
                                (EE) Cannot run in framebuffer mode. Please specify busIDs        for all framebuffer devices
                                (EE)
                                (EE)
                                Please consult the The X.Org Foundation support
                                         at http://wiki.x.org
                                          for help.
                                          (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
                                          (EE)
                                          (EE) Server terminated with error (1). Closing log file.
                                          xinit: giving up
                                          xinit: unable to connect to X server: Connection refused
                                          xinit: server error
                                          root@FREEBSD:/media # 

А в файле Xorg.0.log вот это

Как мне стартануть иксы во фряхе?

 , , ,

tiinn ()

Замена алгоритма сортировки в sysinit позволила ускорить загрузку FreeBSD

Стырил с опеннета.

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

 ,

Minona ()

Книги по FreeBSD

буквально на днях установил FreeBSD, к счастью завелось все без проблем т.к железки не новые. прошу порекомендовать литературу под современные *BSD системы. поиск по нескольким спискам литературы с нескольких bsdшных сайтов выявил следующее:
The Design and Implementation of the FreeBSD(4.4BSD?) Operating System, Marshall Kirk McKusick et al. - ???
имеет ли смысл читать что-то именно про FreeBSD или будет достаточно общей литературы про UNIX начала 2000 и конца 90х? (архитектура UNIX, системное администрирование и программирование) понятно что что-то изменилось, но не все же.
цель - просто очень хорошо понять как все работает чтобы в дальнейшем быстрее и эффективнее работать с системой. (ну просто в кайф еще. мы же все здесь за этим)
конечно я мог бы просто все нагуглить, тему я создаю отчасти из-за того, что у меня недостаточно скора отвечать в других ветках (но хотелось бы). на лоре я толком нигде и не писал поэтому переносить нечего. пишу сюда потому что после длительных наблюдений сложилось впечатление что здесь уровень технической грамотности выше и из-за низкой активности выше шанс что тема получит ответы.
пока писал, понял, что надо было сначала тупо глянуть на офсайт freebsd и почитать хендбук. тему все равно создаю (как иначе получить скор, если я полный ноунейм?..)

 

amres ()

Крипт, на ЛОРе FreeBSD обижают

https://www.linux.org.ru/forum/talks/17143542

Нормально она не может справляться с большинством нужных для простого пользщователя задач!

вайн нифига не работает ни в каких его проявлениях или работает через ж..!
лайв-сиди нормального нет. Такого чтобы с флешки грузился и имел в себе оболочку и важные для жизни утилиты.
файловые системы - какое-то овно, которое может иметь одно предназначение: пылиться на серверах для узкоспецифичиских задач и ждать переноса на другой диск без перезагрузки. Преимуществыами файловых систем врядли кто-то будет пользоваться.
любой нужный софт постоянно ломается. тот же виртуалбох перестал запускаться недавно и без единой ошибки закрывается. и при этом не пойми как дебажить. А аналогов нормальных нет, чтобы вставил и работало.
работа с флешками - на уровне где-то под плинтосум. В линупсе есть прекрасный gparted, который тукнул и работает. Во фре только консольные утилиты что-то могут с миллионом команд и аргументов. Ладно бы еще только это. Но какие-то простые вещи делаются через ж…! Простое форматирование флешки в NTFS почему так долго, пол часа ради этого. Куда ему сравниваться с gparted, где это делается моментально или же с быстрым форматированием на Windows???
из периферии мало что работает без пересборки ядра и обычно на большинстве ноутбуков и компов совместимость с FreeBSD около нулевая.

Я вам еще раз обьясняю, FreeBSD на десктопе только у наркоманов, почему вы не понимаете7

 ,

tiinn ()

FreeBSD install update upgrade [ основной тред по FreeBSD ]

@odalist, ты любишь такие посты, так что держи.

Прожив годик на F12, освоился и понял, что аналога LVM+cryptsetup+XFS на ней нет. Решил переехать на ZFS (который теперь взят из ZFS на Linux и благодаря этому появилось шифрование). Так что вот последних несколько дней занимался апдейтом основной домашней машины с 12.4 на 13.1 и просидел без Хов в голой консоли.

Первый день, еще в тот четверг, переносил данные.

>>> cut tech detail 
Хотелось мне выяснить, как лучше выравнивать чанки ZFS на хардварном рейде (хорошо, что у нас не нет @iZEN, а то его опять бы кондрашка хватила). Пробовал задавать геометрию штратными олд-скульными UNIX-средствами, пробовал создавать zpool сразу с разными ashift. У меня была классная теория, что чанки ZFS размером 128k нужно бить кусками по количеству страйпов...
Пробовал отключать чексумы...
<<< cut

В итоге оказалось, что все мои теории - это все фигня. Зато я обнаружил, что год назад выключил кеши на запись на контроллере и поэтому у меня все тормозит. Так что могу гордо заявить, что решил свою проблему:

всеравно у меня звук на FreeBSD лагает:( фиг знает, в чем дело.

@JamesHolden, звук в порядке.

@odalist, заодно решил проблему, когда у меня из-за тормозов дисковой системы переполнялся журнал (не ZFS! одно из изобретений FreeBSD в махровые дни) на диске и машина падала. официально defined поведение [ развел лапами ]

Пока я с этим упражнялся на удаленной машине все три дня копилировались пакеты. Под это дело пришлось добавить еще 16Gb swap: rust, llvm…

@cocucka классический OOM на FreeBSD отстреливает любые соседний процессы, отсюда жалобы на форум, я думаю. Зачем вы, программисты, с нами это делаете и придумываете такие алгоритмы? … [ развел лапами ]

@odalist, кстати, chrome вообще сутки собирался. И это на 3.4Ghz!

Вцелом все проапдейтилось и что мне нравится на FreeBSD, с точками отката.

witch ~ # bectl list
BE                                Active Mountpoint Space Created
12.4-RELEASE_2023-02-12_010451    NR     /          13.7G 2023-02-12 01:04
12.4-RELEASE_2023-02-16_145134    -      -          91.0M 2023-02-16 14:51
13.1-RELEASE-p6_2023-02-16_145625 -      -          3.97M 2023-02-16 14:56
13.1-RELEASE-p6_2023-02-18_123041 -      -          4.54M 2023-02-18 12:30

Почему у меня сейчас загружен снапшот, который якобы не самый новый и при этом все работает? А хз. Продвинутые технологии! Видимо, там где-то не происходило автоматическое переключение на зрагрузку с нового и вместо инкрементальных снапшотов я получил один большой. Ну ок.

Что сломалось?

Ну, во-первых, сломался ping! Это теперь программа с двумя ключами -4/-6, но если не задать ни один, она работать не может. Без гугла это никак не выяснить:( Так что обходился без пинга. Теперь вот придется делать обвзяку из альясов, выяснять версию FreeBSD, добавлять ключ… Можно еще багрепорт отправить…

Самое главное сломался OpenVPN. Почему он не может теперь создавать интерфейс, я так и не понял. Но так как я не догадался сначала установить nvidia video driver, а начал компилять все пакеты одной пачкой, то три дня прожил без гугла.

И вообще OpenVPN меня всегда (лет 15+ примерно) подбешивал кучей опций и сложностью настроек на разных платформах, но WG (@Kaschenko) во FreeBSD еще не появился. Но, когда сидишь без интернета, плюс в том, что начинаешь читать мануалы. Я случайно увидел простой man по подянитю IPSec … и поднял!

А чего? Как работает IPSec я имел представление, но мне всегда казалось тупостью два его возможных режима работы. А вышло довольно круто! Если OpenVPN необходим хендшейк для установления сессии, то здесь все выглядит элегантно.

ipsec0: flags=8151<UP,POINTOPOINT,RUNNING,PROMISC,MULTICAST> metric 0 mtu 1400
	tunnel inet XX.XX.XX.XX --> YY.YY.YY.YY
	inet AA.AA.AA.AA --> BB.BB.BB.BB netmask 0xffffff00
	groups: ipsec
	reqid: 200
	fib: 1
	nd6 options=9<PERFORMNUD,IFDISABLED>

FreeBSD тут сразу радует, что можно из ifconfig сразу дружить интерфейс с таблицами маршрутизации. И работать теоретически должно быстрей.

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

net.inet.ipsec.filtertunnel

Осталось перенести все данные и выяснить, насколько действительно проседает скорость ZFS, если заполнить весь диск.

 ,

crypt ()

FreeBSD OSS / Pipewire

Ни о чем дистр.

Ставь FreeBSD.

[ Вынесено crypt из другой темы ]

 ,

odalist ()