Kompilowałeś sobie kiedyś kernela?

Kompilowałeś sobie kiedyś kernela?
Mam windowsa i nie wiem o czym mówisz
4%
4% [2]
Mam windowsa i wiem o czym mówisz
10%
10% [5]
Mam windowsa i kompilowałem kernelu ;-)
0%
0% [0]
Mam ubuntu i nie wiem o czym mówisz
2%
2% [1]
dawno temu i nie prawda
18%
18% [9]
kompilowałem
43%
43% [21]
nie kompilowałem
22%
22% [11]
KS
  • Rejestracja:prawie 4 lata
  • Ostatnio:18 minut
  • Postów:577
1

Zawsze uważałem, że to bez sensu ale na obsd jest błąd który wywala dźwięk na moim sprzęcie i ktoś napisał takiego brudnego hacka który to naprawia.
Jak dodawałem te linijki to czułem, że robię coś niesłuchanie obleśnego. Klawiatura cuchnęła, syreny wyły, a Duda walił pięścią w stół i wrzeszczał "Tak k* nie będzie".
W końcu zamknąłem vima i się uspokoiło. Cyk bzyk i działa, mogę słuchać muzyczki.

W świecie linucha jeszcze się dalej ludzie podniecają, że skompilowali sobie jąderko ?

Ankieta pozwoli odpowiedzieć nam na to pytanie. Liczę na was, programiści. Opowiedzcie swoją ckliwą historię jak to było pierwszy raz.

flinst-one
a jak Ci się udało zamknąć vima?
KS
Tego się nauczysz emacsiarzu dopiero jak zaczniesz używać prawdziwego edytora. ;-)
KE
  • Rejestracja:około 6 lat
  • Ostatnio:około 2 godziny
  • Postów:659
3

To były dobre czasy które już nie wrócą. Do dziś pamiętam dokładną wersję - 2.4.26, bo taka była w Damn Small Linux, jedyny system który działał na gruzkompie dualbootowanym z windows 98, który starzy pozwolili mi mieć w swoim pokoju. Potem ten kernel wrzucałem na dyskietkę, pakowałem initrd.gz z busyboksem (też trzeba było skompilować, i to nie wszystkie programy bo się nie mieściły), grub-install i można było mieć "swój" system operacyjny w coś koło 800 kilobajtach. A jeszcze miejsce było. Ech.

CZ
  • Rejestracja:ponad 8 lat
  • Ostatnio:około miesiąc
  • Postów:2284
1

Teraz zostaje tylko arch Linux dla jedynych prawdziwych programistów.

XY
  • Rejestracja:ponad 6 lat
  • Ostatnio:14 dni
  • Postów:257
2

Kompilowałem w głębokich latach 90., gdy była to część typowej instalacji, bo jeszcze nie było ładowalnych modułów.

obscurity
  • Rejestracja:około 6 lat
  • Ostatnio:około 3 godziny
3

jak wchodził uefi to straszyli że żeby użyć takiego linuksa będzie trzeba sobie podpisać jądro kluczem, więc wolałem nie ryzykować bo brzmi boleśnie


"A car won't take your job, another horse driving a car will." - Horse influencer, 1910
KE
Muszę spytać urologa, czy taka zabawa jest bezpieczna.
99xmarcin
  • Rejestracja:prawie 5 lat
  • Ostatnio:4 miesiące
  • Postów:2420
1

Kto nie kompilował ten z Microsoftu.

Nie chcesz być przecież Micro i Soft ( ͡° ͜ʖ ͡°)

Kiedyś się to opłaciło, bo kernele były na i386 a prawie każdy komp był na i686 (Pentium II lub lepsze). Można było mieć większą wydajność, tak przynajmiej głosiła legenda w akademiku.
Dodatkowo jest mnóstwo opcji, których nikt nie rozumiał ale można było sobie włączyć lub wyłączyć to i owo.

Zanim upadło wielkie Gentoo (przez brak backupu) kompilacja ze źródeł to była normalka i czekanie 1h na open office nikogo nie dziwiło...


Holy sh*t, with every month serenityos.org gets better & better...
Sensacyjny Sebastian
  • Rejestracja:ponad 5 lat
  • Ostatnio:9 dni
  • Postów:382
1

Kiedyś, dawno temu, raz albo trzy. Nie pamiętam już nawet, czy miałem ku temu jakiś konkretny powód oprócz "a spróbuję se".

KL
  • Rejestracja:11 miesięcy
  • Ostatnio:około 9 godzin
  • Postów:356
3

Nie bo nie jestem masochista i system ma dzialac bez potrzeby kompilacji jondra i wpisywania magicznych komend przez 3 dni zeby odpalic sluchawki na BT z ludzkim kodekiem.

KE
A kto to przyszedł.
KL
No przyszedles a o co chodzi?
CZ
  • Rejestracja:ponad 8 lat
  • Ostatnio:około miesiąc
  • Postów:2284
2
Klaun napisał(a):

Nie bo nie jestem masochista i system ma dzialac bez potrzeby kompilacji jondra i wpisywania magicznych komend przez 3 dni zeby odpalic sluchawki na BT z ludzkim kodekiem.

Najbardziej wkurza fakt, ze taka wiedza systemowa jest gorzej opłacana niż chłopa co się backendu pouczył i nauczył klepać w Javie, najlepiej z bootcampu xd oczywiście w PL.

KE
Dlatego ja np. przestałem się zupełnie interesować jak działa "konsumencki" Linux pod spodem. Życie jest za krótkie żeby debugować pulseaudio i czemu słuchawki bt nie łączą, lepiej odpalić nowy klaster k8s.
SA
  • Rejestracja:około 12 lat
  • Ostatnio:5 minut
  • Postów:1426
1

Kompilowałem, z ciekawości czy zadziała.

jarekr000000
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 2 godziny
  • Lokalizacja:U krasnoludów - pod górą
  • Postów:4706
7

W dawnych czasach kompilowałem - ustawiałem wszelkie możliwe flagi wydajności dokładnie pod sprzęt, który miałem.
A potem sprawdzałem o ile szybciej mi sie kompilują moje programy w stosunku do generycznego jądra (wtedy to było x386)
I zwykle moje pracowicie dopasowane jądro okazywało się wolniejsze od tego generyka :-( (a w najlepszym przypadku czasy wychodziły takie same).


jeden i pół terabajta powinno wystarczyć każdemu
YA
  • Rejestracja:prawie 10 lat
  • Ostatnio:około godziny
  • Postów:2363
2

Kompilowałem. Za pierwszym razem się wywaliło, za drugim też i za którymś razem i kilku godzinach się skompilowało. W czasach bez powszechnych internetów, motywowało to do lektury i zastanawiania się czy ja potrzebuję zaznaczać tę opcje "Support for xyz" i "WTF? Czym jest xyz?". Szokiem było doświadczenie z FreeBSD, jak tam wszystko prosto było w porównaniu do Linuxa. Później Gentoo i ten kto korzystał, to wie, że filozofia kompilacji mogła wejść za mocno ;-) Z perspektywy czasu, bardzo dużo się nauczyłem na tych kompilacjach.

  • Rejestracja:ponad 8 lat
  • Ostatnio:około 14 godzin
  • Postów:156
3

kilka tygodni używania Gentoo i zaczynasz doceniać zalety "normalnych" dystrybucji (a zwłaszcza fakt, że NIE TRZEBA niczego kompilować).

cerrato
Moderator Kariera
  • Rejestracja:około 7 lat
  • Ostatnio:dzień
  • Lokalizacja:Poznań
  • Postów:8749
2

Aktualnie od wieeelu lat - nie: ani na desktopie, gdzie urzęduje Mint, ani na serwerach z Debianem.

Dawniej (tak z 15+ lat) było to obowiązkowe na moich serwerach (wtedy stojących na Slackware) - wywalałem wszystko co niepotrzebne, tylko podstawowe sterowniki, HTF/CBQ/TBF itp. Potem kompilacja przez kilka(naście) minut, odpalenie, 5 razy kombinowanie dlaczego system się nie podniósł. A na końcu, jak wszystko poszło, to uruchamianie systemu trwało dosłownie kilka(naście) sekund. Na dyskach HDD (IDE, nie SATA). Co do wydajności pracy - tego nie mierzyłem. Ale miałem radość, że bootowanie leciało o wieeeeele szybciej :D


obscurity
a czemu miało to takie znaczenie żeby oszczędzić kilka sekund w bootowaniu serwera? Tak często restartowaliście serwery?
KS
mój stary się kiedyś chwalił, że jak windows 98 się 2 minuty włączał to jak se skompilował linucha bez jakichś modułów to w 13 sec miał system.
obscurity
win 9x się dość długo włączały, ale win xp pamiętam że po małych tweakach w rejestrze dało się skrócić do ok 10(?) sekund od naciśnięcia power (nadal na IDE HDD), pamiętam jak kolega się przechwalał że mu się system ładuje tylko "3 obroty kółeczka" a ja mu powiedziałem że mi tylko jeden obrót i nie uwierzył i musiał przyjść zobaczyć ;D
obscurity
sorry to nie było kółeczko tylko taki pasek, musiałem sobie przypomnieć jak wyglądał ekran ładowania
cerrato
@obscurity: w sumie to głównie chyba chodziło o satysfakcję :D Sama kompilacja była potrzebna, bo potrzebowałem jakichś bardziej zaawansowanych mechanizmów kontroli ruchu, których nie było domyślnie w jajku i to był prawdziwy powód kompilacji, a szybki boot był efektem ubocznym (aczkolwiek - bardzo satysfakcjonującym) ;)
Marius.Maximus
  • Rejestracja:ponad 14 lat
  • Ostatnio:około 2 godziny
  • Postów:2064
3

dzisiaj dwa razy ale o na komputer embedded wiec nie wiem czy się liczy ,
na desktop to mi szkoda czasu na zabawę


--
Nie przyjmuję reklamacji za moje rady, używasz na własną odpowiedzialność.
Programowanie bez formatowania to jak chodzenie ze spodniami spuszczonymi na kostki. Owszem da się ale po pierwsze nie wygodne, po drugie nieprzyzwoicie wygląda.
Przed zaczęciem nowego wątku przeczytam problem XY
MO
  • Rejestracja:ponad 18 lat
  • Ostatnio:około 19 godzin
2

kiedyś spędziłem sporo czasu aby sobie dopieścić linuxa (na studiach z kumplem ze stancji). Po kilku dniach odpaliliśmy finalną wersję z dziesiątkami flag. Mieliło się pół nocy.
rano w niedziele zaglądamy...
Wszystko działała, tylko tekstu nie ma.
Kumpel po paru godzinach analizowania stwierdził, że wyrzuciliśmy pakiet odpowiedzialny za czcionki i jedyny tekst był w terminalu.

GO
  • Rejestracja:11 miesięcy
  • Ostatnio:4 miesiące
  • Postów:358
1

Typowy wątek z chwalenia się :>

menuconfig kernela linuxa ma wiele ciekawych opcji, które można dodać i później otrzymać w skompilowanym kernelu, jak symbole debuggera czy jakieś mechanizmy tracingu, które pomagają debugować drivery czy inne rzeczy.
Zdarza się pod takie coś kompilować czyli do analizy system specjalnie.

Robiłem kiedyś system bootloader i w C kernel.
A także robiłem strukturę katalogów linuxową, kompilowałem jądro i dodawałem różne skrypty, które uruchamiały daemony z różnymi usługami czyli własną dystrybucję.

Wszystko to robiłem mniej więcej 5-18 lat temu, czyli nie jak ludzie tu pisali w 90 latach czy wcześniej.
Jak ktoś pisze o gentoo i potem pisze, że linux jest beznadziejny to on wisi w średniowieczu, sam mam najnowsze sterowniki nvidia cuda i kernela i wszystko działa bardzo dobrze, sam najbardziej AI/ML się zajmuje i wszystko działa perfekcyjnie flash-attention czy inne rzeczy wszystko pięknie działa na linuxie, a nie działa na windowsie hahaha.

Jak ktoś ma problem z bluetooth to wiem, że miał problem 30 lat temu i teraz mówi, że też ma problem to jest trochę nietrafione bo teraz zainstalujesz i wszystko działa, były kiedyś problemy teraz jest dużo lepiej.
A jakbyście nie wiedzieli to git czyli ten program do projektów kontroli wersji to zrobił ten sam gościu co linuxa pisał, z tego też powininniście zrezygnowować bo też jest beznadziejne w końcu linuksowiec go napisał.

edytowany 1x, ostatnio: .GodOfCode.
KS
"dodawałem różne skrypty, które uruchamiały daemony z różnymi usługami czyli własną dystrybucję." hahaha jprd, ziomek plis. ;-)
GO
@ksh: robiłem Linux from scratch projekt i serio cały projekt linuxa to kernel trochę skryptów i reszta libek userspace :> Jeśli myślisz inaczej to wytłumacz co jest czego nie wymieniłem. Bo to takie żałosne wyzwiska są, ja zrobiłem od zera cały system, czyli kompilacja kernela, stworzenie katalogów, wszystko skompilowanie i miałem zwykły system operacyjny, też czytałem ten LFS czyli linux from scratch, bo raz robiłem taki system.
KS
mylisz się jak myślisz, że dystrybucja to tylko user land z jakimiś programami bez modyfikacji
Sensacyjny Sebastian
Akurat problemy z Bluetooth to nie kwestia Linuxa, bo występują bez wyjątku na każdym OSie.
GO
@Sensacyjny Sebastian: akurat mogę sobie wyobrazić taki przypadek, bo kernel trzeba też skompilować żeby wspierał dane protokoły, potem musisz mieć daeamon co będzie nawiązywał automatycznie połączenia z urządzeniami, na takim arch linuxie, trzeba samemu wybrać wszystkie pakiety jakie system ma mieć, a jest tego bardzo dużo i można zapomnieć lub nawet nie wiedzieć co zainstalować. U mnie na linuxie działają wszystkie protokoły od 1hz gdzie bezprzewodowe to od 1Mhz do 6Ghz i idzie radia słuchać czy podsłuchiwać satelity.
LukeJL
  • Rejestracja:około 11 lat
  • Ostatnio:mniej niż minuta
  • Postów:8397
0

Jak miałem linuksa, to najwyższy stopień hakerstwa, jaki osiągnąłem, to wywalenie domyślnego środowiska graficznego i ekranu logowania na bardziej minimalistyczne, oraz edycja plików konfiguracyjnych.

Czy było warto? Cóż, nie wiem, jak teraz, ale z jakieś 10 lat temu to naprawdę duża różnica była, jak miałeś komputer z 2 giga ram, czy odpalało się jakieś unity (kobylaste środowisko w ubuntu) czy inny potwór, czy leciutki fluxbox.


edytowany 2x, ostatnio: LukeJL
GO
Linux dalej bardzo mało ramu zużywa w porównaniu do windowsa, masz też flash attenion co pozwala do granic możliwości sram gpu wykorzystać. A to jednak gigantyczne optymalizacje daje, to jest coś olbrzymiego. Ja tam wolę linuxa, a Windowsa też libę, też korzystam, też uważam że ludzie się o g**no biją, bo oba systemy są dobre, ale tak ogólnie bezpieczniejszy i fajniej jest na linuxie, na windowsie trochę trzeba improwizować mają trudniej, ale poziom jest podobny winapi, a posix to CreateFile vs open na linuxie, windows. Kernel podobny jest jak tu i tu napiszesz driver.
LukeJL
no, to jest zaletą linuxa, w stosunku do Windowsa/macOS, że można wszystko dostosować i jak nam coś się nie podoba, to można to wywalić (być może też zainstalować alternatywę). Wszystko można pozmieniać.
GO
@LukeJL: dokładnie poziom trudności driverów na linuxa czy windowsa pisanie jest podobny, ale windows ma trudniejsze nazwy, ale są drobne szczegóły, windows ma tokeny, linux uidy, uefi na windowsie daje patchguarda to masz bluescreeen przy patchu, na linuxie nie ma, ale zawsze możesz nie patchować funkcji krytycznych lub wyłączyć patch guarda, ogólnie systemy są mega fajne i ciekawe, sam mam drivera napisanego co pozwala skanować pracę aplikacji w systemie, coś ala plugin do wiresharka. Napisałem w parę dni, ale liczy się jako hacking kernela.
PK
  • Rejestracja:prawie 6 lat
  • Ostatnio:10 dni
  • Postów:506
1
ksh napisał(a):

W świecie linucha jeszcze się dalej ludzie podniecają, że skompilowali sobie jąderko ?

Ale czym tu się podniecać? To normalna procedura optymalizowania / dostosowywania systemu. I ważny mechanizm bezpieczeństwa.

Oczywiście są frajerzy którzy nie wiedzą i nie chcą wiedzieć jaki dokładnie system mają zainstalowany oraz jakie i do czego mają sterowniki, ale takich zostawmy na forach dla frajerów.
Ważne że: da się skompilować i da się sprawdzić czy mój kernel jest identyczny z tym skompilowanym ze źródeł w wersji 6.xx.yy (reprodukowalne buildy).

A to czy umiem to zrobić czy nie umiem, to osobny temat.

Mój pierwszy kernel to 1.2 kompilowany żeby zmieścił się z filesystemem na dyskietce 1.44MB
Teraz kompiluje prawie wyłącznie pod ARMa tam gdzie nie mam aktualizacji i nie jest to jakiś rocket science.

Tak więc pytanie i ankieta z serii "poczytaj mi mamo, bo sam nie umiem" - albo dla takiej grupy docelowej

obscurity
"Oczywiście są frajerzy którzy nie wiedzą i nie chcą wiedzieć jaki dokładnie system mają zainstalowany oraz jakie i do czego mają sterowniki, ale takich zostawmy na forach dla frajerów" xD
KS
  • Rejestracja:prawie 4 lata
  • Ostatnio:18 minut
  • Postów:577
1

@Przebrzydły Kontestator jak tam te 15 milionów linijek kernelu. Przeczytane? Wypadałoby wiedzieć co tam jest xD

edytowany 2x, ostatnio: ksh
PK
@ksh: Wszystkich oczywiście nie czytam, ale niektóre - jak najbardziej. Robiłeś kiedyś aktualizacje kernela? A po co - skoro ci wszystko jedno?
Azarien
  • Rejestracja:około 21 lat
  • Ostatnio:2 dni
3

Skorzystam z niedopowiedzenia w pytaniu by odpowiedzieć że owszem, kompilowałem kernel FreeBSD.

KS
Aaj szacun niga
loza_prowizoryczna
  • Rejestracja:ponad 2 lata
  • Ostatnio:dzień
  • Postów:1583
2
ksh napisał(a):

Ankieta pozwoli odpowiedzieć nam na to pytanie. Liczę na was, programiści. Opowiedzcie swoją ckliwą historię jak to było pierwszy raz.

Ciagle kompiluję, miliony, miliony.

Ale ja mam Nvidię.


Przetrzyma wszystko
Satanistyczny Awatar
  • Rejestracja:ponad 6 lat
  • Ostatnio:2 miesiące
  • Postów:688
5

Sobie - tak. Innym - też. Były nawet taki okres kiedy robiłem to po kilka razy dziennie zawodowo. Bywało, że musiałem przywracać w menuconfig jakieś opcje które zostały wywalone, latać po repo różnych kerneli (nie tylko Linux) git bisect czy robić git cherry-pick.

cerrato
A czym się wtedy zajmowałeś/do czego tak częste kompilacje były potrzebne?
Satanistyczny Awatar
Mniej więcej tym samym przy czym trzeba się w takie rzeczy jak opisałem bawić w przypadku innych rodzajów oprogramowania. Tutaj akurat było to robione w obrębie kernela.
99xmarcin
  • Rejestracja:prawie 5 lat
  • Ostatnio:4 miesiące
  • Postów:2420
1

screenshot-20240524192531.png

Jeszcze tylko 2h i najnowszy SerenityOS będzie śmigał...


Holy sh*t, with every month serenityos.org gets better & better...
CZ
luzik wyjebie sie na 4764 i będziesz miał co robić w nocy
PK
@Czitels:dalej wierzysz że takie joby odpala tylko kolega Jenkins?
PK
Joby które wyje...ią się na kroku 4764.... - ja miałem taką przyjemność budować obraz do tunera satelitarnego bitbake-iem, średnio wywalał się co 100 kroków i trzeba było robić "małego patcha" a potem puścić builda od nowa...
CZ
Coś pięknego ... a ile to trwało? Kiedyś na jednym etapie projektu całość budowałą się u nas ponad 2h xDD także jak miałeś buga z nieznanym błędem kompilacji to generalnie parę buildów i Ci dniówka leciała.
PE
  • Rejestracja:8 miesięcy
  • Ostatnio:8 miesięcy
  • Postów:5
0

Kompilowanie kernela ma wtedy sens gdy posiadasz komputer z mocnym procesorem. Jak Procesor AMD Ryzen Threadripper Pro 7995WX, 2.5 GHz, 384 MB z 96 rdzeniami na socket Socket sTR5.
Przy takim sprzęcie kompilowanie całego kernela w Gentoo czy nawet KDE Plasma i przeglądarki Firefox zajmuje z 50 sekund.

GO
Ja kompilowałem kernela wielokrotnie i nie mam threadrippera, po prostu jak kompilujesz jądro to dajesz parametr -j 16 max rdzeni ile ma twoje cpu i to w miarę szybko się zbuduje, jak spróbujesz na jednym rdzeniu kompilować to tak jest to wolne, ale da się niezależne pliki kompilować do obiektowych równolegle.
CI
Właściwie to przy 8 rdzeniowym i szesnastowątkowym procesorze powinno się wybrać opcję -j 17 aby w pełni wykorzystać moc procesora, możesz tam nawet wpisać -j 777 aby tylko liczba była wyższa od rdzeni i wątków procesora. Przy 64 rdzeniach threadrippera to -j 129, a przy 96 rdzeniach threadrippera to -j 193.
elwis
  • Rejestracja:ponad 18 lat
  • Ostatnio:2 dni
1

Kiedyś, bardzo dawno, jak zaczynałem, jakieś 15 lat temu to wielokrotnie. Teraz to się trochę mija z celem, problemów z wydajnością nie mam, a przy współczesnych OSach bym się bał, że jakiś magiczny moduł/ficzer jest niezbędny i wszystko się sypnie. xD


GO
Nie mija się z celem do debugowania i tak musisz skompilować z specyficznymi konfiguracjami jak z kernelowymi modułami tracingu, albo kgdb, symbole debugowania, żeby łatwiej się odnaleźć w jądrze i też nic nie zepsujesz, czasem jak chcesz własne modyfikacje wprowadzić jakieś poza menuconfig, a zwykłe edytowanie kodu, bo w inny sposób to dodanie dynamicznego modułu wtedy nie modyfikujesz jądra od strony kompilacji, a modyfikujesz w trakcie działania systemu, ja tak pisałem driver ładowany dynamicznie do śledzenia api, a tak to zwykle starczy standardowa konfiguracja.
CI
  • Rejestracja:8 miesięcy
  • Ostatnio:8 miesięcy
  • Postów:3
0

Na 8 rdzeniowym procesorze standardowy kernel kompiluje się około 20 minut. Gdy go optymalizujesz możesz zejść z kompilacją do 10-12 minut. I taki czas trwa przy -j17 i przy wyłączonych wszystkich programach w systemie. Linus Torvalds kompiluje swój kernel przy 32 rdzeniach AMD w 21 sekund, ale zapewne już po usunięciu z .config wszystkich niepotrzebnych sterowników i modułów.
Kompilacja standardowego kernela pierwszy raz bez odchudzania przy 32 rdzeniach AMD zajmuje 490 sekund czyli jakieś 8 minut i 16 sekund. Co pokazuje przykład z openbenchmark, więc to -j17 mało co ci daje, bo Linus też korzysta z opcji -j64.
https://openbenchmarking.org/test/pts/build-linux-kernel&eval=cb81925dba817594f846f03a3bc29a81ef048649#metrics

Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)