abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 22:44 | IT novinky

    IBM kupuje společnost HashiCorp (Terraform, Packer, Vault, Boundary, Consul, Nomad, Waypoint, Vagrant, …) za 6,4 miliardy dolarů, tj. 35 dolarů za akcii.

    Ladislav Hagara | Komentářů: 3
    včera 15:55 | Nová verze

    Byl vydán TrueNAS SCALE 24.04 “Dragonfish”. Přehled novinek této open source storage platformy postavené na Debianu v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 13:44 | IT novinky

    Oznámeny byly nové Raspberry Pi Compute Module 4S. Vedle původní 1 GB varianty jsou nově k dispozici také varianty s 2 GB, 4 GB a 8 GB paměti. Compute Modules 4S mají na rozdíl od Compute Module 4 tvar a velikost Compute Module 3+ a předchozích. Lze tak provést snadný upgrade.

    Ladislav Hagara | Komentářů: 0
    včera 04:44 | Nová verze

    Po roce vývoje od vydání verze 1.24.0 byla vydána nová stabilní verze 1.26.0 webového serveru a reverzní proxy nginx (Wikipedie). Nová verze přináší řadu novinek. Podrobný přehled v souboru CHANGES-1.26.

    Ladislav Hagara | Komentářů: 0
    včera 04:33 | Nová verze

    Byla vydána nová verze 6.2 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 13.0.14.

    Ladislav Hagara | Komentářů: 0
    včera 04:22 | Nová verze

    Byla vydána nová verze 30.0.0 frameworku pro vývoj multiplatformních desktopových aplikací pomocí JavaScriptu, HTML a CSS Electron (Wikipedie, GitHub). Chromium bylo aktualizováno na verzi 124.0.6367.49, V8 na verzi 12.4 a Node.js na verzi 20.11.1. Electron byl původně vyvíjen pro editor Atom pod názvem Atom Shell. Dnes je na Electronu postavena celá řada dalších aplikací.

    Ladislav Hagara | Komentářů: 2
    včera 04:11 | Nová verze

    Byla vydána nová verze 9.0.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 220 vývojářů. Provedeno bylo více než 2 700 commitů. Přehled úprav a nových vlastností v seznamu změn.

    Ladislav Hagara | Komentářů: 0
    23.4. 23:22 | IT novinky

    Evropský parlament dnes přijal směrnici týkající se tzv. práva spotřebitele na opravu. Poslanci ji podpořili 584 hlasy (3 bylo proti a 14 se zdrželo hlasování). Směrnice ujasňuje povinnosti výrobců opravovat zboží a motivovat spotřebitele k tomu, aby si výrobky nechávali opravit a prodloužili tak jejich životnost.

    Ladislav Hagara | Komentářů: 9
    23.4. 16:11 | Nová verze

    Bylo oznámeno (cs) vydání Fedora Linuxu 40. Přehled novinek ve Fedora Workstation 40 a Fedora KDE 40 na stránkách Fedora Magazinu. Současně byl oznámen notebook Slimbook Fedora 2.

    Ladislav Hagara | Komentářů: 24
    23.4. 13:44 | Upozornění

    ČTK (Česká tisková kancelář) upozorňuje (X), že na jejím zpravodajském webu České noviny byly dnes dopoledne neznámým útočníkem umístěny dva smyšlené texty, které nepocházejí z její produkce. Jde o text s titulkem „BIS zabránila pokusu o atentát na nově zvoleného slovenského prezidenta Petra Pelligriniho“ a o údajné mimořádné prohlášení ministra Lipavského k témuž. Tyto dezinformace byly útočníky zveřejněny i s příslušnými notifikacemi v mobilní aplikaci Českých novin. ČTK ve svém zpravodajském servisu žádnou informaci v tomto znění nevydala.

    Ladislav Hagara | Komentářů: 29
    KDE Plasma 6
     (72%)
     (9%)
     (2%)
     (17%)
    Celkem 722 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: Více sériových konzolí (kernel/boot)?

    Petr Tomášek avatar 25.10.2018 10:47 Petr Tomášek | skóre: 39 | blog: Vejšplechty
    Více sériových konzolí (kernel/boot)?
    Přečteno: 1017×
    Zdravím!

    Potřeboval bych na jednom stroji, aby poskytoval více seriových konzolí - tj. konkrétně aby na ttyS0, ttyS1 i ttyS2 bylo možné se připojit na konzoli.

    Po bootu mi to funguje v pořádku, v /etc/inittab mám:
    # Terminal on serial lines...
    #
    T0:23:respawn:/sbin/getty -8 -h -L ttyS0 115200 vt220
    T1:23:respawn:/sbin/getty -8 -L ttyS1 115200 vt220              # COM2 - Rx/Tx only, no hw-flow!
    T2:23:respawn:/sbin/getty -8 -h -L ttyS2 115200 vt220
    
    A když spustím na druhé mašině minicom, tak se normálně přihlásím a vše funguje ok.

    Potíž je ale s jádrem (a s BIOSem, ale ten upravit by mohlo být snadné), když dám do lilo.conf:
    append="console=ttyS0,115200 console=ttyS1,115200 console=ttyS2,115200"
    
    tak to bohužel používá konzoli jen na ttyS. V dmesg to taky vypíše jen:
    [    0.000000] Kernel command line: auto BOOT_IMAGE=linux ro root=LABEL=*censored* console=ttyS0,115200 console=ttyS1,115200 console=ttyS2,115200
    ...
    [    0.000000] Console: colour dummy device 80x25
    [    0.000000] console [ttyS0] enabled
    
    Což asi bude tím, že i v dokumentaci píšou:
    Note that you can only define one console per device type (serial, video).
    Co tedy s tím? Docela bych to potřeboval, jednak kvůli hláškám jádra při bootu, jednak pro případ, že by se stroj zasekl při bootu a chtěl do rootovské konzole. Existuje nějaký trik? Nebo patch do jádra? Nebo páka na to, aby si to Linus konečně opravil? [*verzweifelt*]
    multicult.fm | monokultura je zlo | welcome refugees!

    Odpovědi

    25.10.2018 11:10 NN
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    Jen bokem, nemel by byt v /inittab jako id S0,S1,S2 misto T0,T1,T2 viz man:
     traditionally, for getty and other login processes, the value of the id field is kept the same as the suffix of the corresponding tty
    => ttyS0..

    Imho. proc jedna konzole nestaci?
    Petr Tomášek avatar 25.10.2018 11:39 Petr Tomášek | skóre: 39 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    Jen bokem, nemel by byt v /inittab jako id S0,S1,S2 misto T0,T1,T2 viz man

    Může být, já jsem jen upravil to, co tam bylo už z distribuce, nad těmito konvencemi jsem nekoumal a fungovalo mi to.

    Imho. proc jedna konzole nestaci?

    Jedna konzole je pro připojní externího PC (laptopu).

    Jsou to dva stroje (PC Engines APU) ve funkci domácího routeru/serveru zapojené tak, aby v případě výpadku bylo možné, aby jeden zastal funkci druhého. Jsou v jedné skříni a interně mají vzájemně propojené ttyS2 <-> ttyS3 (v TTL 3.3V logice), tak aby bylo možné se na dálku vrtat např. v konfiguraci sítě bez rizika, že to člověk už neopraví.

    Ještě plánuji připojit raspberryPi, jehož hlavní funkcí bude resetovat obě desky a v případě nutnosti do nich přes SPI nahrát novou verzi BIOSu. Vzhledem k tomu, že desky mají vyvedený ttyS1 na headeru v TTL 3.3V logice, tj. stejně jako RPi, se přímo nabízí ještě pro sichra mít konzoli přístupnou alespoň na jedné desce z toho RPi.

    Ale to už by byla jen taková třešnička. Důležité je, aby byl přístup na konzoli vždycky z toho druhého stroje, a pak přes klasický RS232, co ty desky mají vyvedený ven, aby když tam člověk bude fyzicky, aby nemusel všechno rozebírat a shánět převodník na 3.3V TTL logiku..

    Jedná se o síť v rodině, kterou mám >500km daleko a chci ji udělat co nejvíce "idiotensicher", aby se s tím na dálku dalo něco udělat v případě výpadků (těch teď bylo několik vinou kolísání napětí v síti, vyřešil jsem to koupí UPS, ale stejně chci co největší redundanci...)

    multicult.fm | monokultura je zlo | welcome refugees!
    25.10.2018 13:06 MM
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    Ano, při bootu lze jen 1 konzole,

    určitě by šel výstup TTYS0 hardwarově "rozdvojit" a poslouchat 2ma sériovkami na tom samém výstupu z desky(drátě), ale s opačným směrem by byl problém, praly by se vysílače, tam to nejde, jedině přepínač...

    Petr Tomášek avatar 25.10.2018 15:06 Petr Tomášek | skóre: 39 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    No, nevím proč by se softwarová chyba měla řešit hardwarovou ochcávkou, to nedává smysl...
    multicult.fm | monokultura je zlo | welcome refugees!
    25.10.2018 18:17 NN
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    To neni chyba, proste by se ta seriova komunikace prala mezi sebou. Tipuju, ze sice vytvoris nekolik seriovych rozhrani, ale budou se navzajem blokovat..
    25.10.2018 18:35 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    Zaujímalo by ma koľko by stál arduino multiplikátor portov, alebo prevodník seriák na ethernet. I keď takáto hračka nenahradí vzdialenú konzolu aké sú v serveroch.
    Petr Tomášek avatar 25.10.2018 22:29 Petr Tomášek | skóre: 39 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    Je to chyba.

    Zvlášť, když paralelně vedle sebe můžou být konzole na tty* a konzole na ttyS*. Ty se neperou?
    multicult.fm | monokultura je zlo | welcome refugees!
    26.10.2018 08:04 Vantomas | skóre: 32 | Praha
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    Nejsem na to odborník, ale dokážu si představit, že celý problém bude někde v tom, že jak se tahle rozhraní inicializují hrozně brzo, aby se tam mohl zobrazovat výstup z kernelu, tak to může mít hromadu omezení, které by nebylo úplně snadné obejít.
    26.10.2018 10:09 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    Tesne vedľa. Ono je to obedzenie prameniace z HW komunikácie medzi jedným sériovým portom jedného počítača, a sériovým portom dvoch naraz pripojených terminálov. Jednoduchá rozdvojka na COM porty zo svojej podstaty nebude moc fungovať. COM, teda RS-232 bolo navrhnuté na prepojenie dvoch zariadení.

    Iné by to bolo, keby mal dva COM porty. Či už priamo na doske, alebo cez USB.
    26.10.2018 10:27 Vantomas | skóre: 32 | Praha
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    Ale tady trošku dochází k míchání jablek a hrušek. Návrh byl, že se má prostě na jeden RS232 port připojit dvě zařízení, která budou koukat na výstup jádra. Tazatel na to řekl, že nechápe, proč by měl chybu v jádře řešit hardwarovou obezličkou. A vy teď tady tvrdíte, že to není žádná chyba, že je to vlastnost RS232 protokolu.

    Jde o to, že tazatel chybou nazval neschopnost jádra vypisovat early messages na dva různé RS232 porty, nikoliv to, že nelze mít dvě zařízení na jednom a témže RS232 portu!
    26.10.2018 11:54 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    Áno. Otázka bola ako multiplikovať výstup jadra na viacej sériových konzolí. Odpoveďou bolo že jedna bežná (RS232) sériová konzola nepripojí viac ako jeden terminál. Reagoval som na to, že odpoveď je korektná, ale nie je na pôvodnú otázku.

    A ohľadne pôvodnej otázky, tak by to malo čiastočne ísť ak zabezpečí že na jednej RS232 konzole prepojí len dva endpoonity. Nie jeden počítač s dvoma terminálmi cez jeden kábel divne zletovaný.

    Viac info je v štandardnej dokundamentácii:

    You can specify multiple console= options on the kernel command line. Output will appear on all of them. The last device will be used when you open /dev/console.

    Takže výstupy by mal uvidieť na všetkých a getty mu už funguje. Ale pripisovanie cez /dev/console (napr cez syslogd) zapíše len do poslednej.
    26.10.2018 13:13 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?

    Jenže o kousek níž je také

    Note that you can only define one console per device type (serial, video).

    Ale takhle z hlavy nevím, jestli je za tím nějaký hlubší důvod nebo je to jen důsledek implementace. V každém případě by to stejně nebylo moc praktické, už jedna sériová konzole může někdy nepříjemně zdržovat.

    26.10.2018 13:54 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    A takmer na konci je rok 2000, odkedy sa toho mohlo veľa zmeniť.

    Miimochodom, ajtak mu to nenahradí funkcionalitu vzdialeného prístupu známeho zo serverov. A na bežné problémiky je tu bežný watchdog napojený na reset.
    Grunt avatar 26.10.2018 15:39 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    A co takhle se mrknout do early_serial_console.c? Já si myslím že je to vcelku jasné. Outb() jsem neviděl už ani nepamatuju a jestli se nepletu tak je to nízkoúrovňový zápis přímo kamsi na porty, ne? Kam se se co zapisuje tomu nerozumím, ale kdybych měl hádat moc daleko od BIOSu to mít nebude. early_serial_init() jednoduše inicializuje jeden port, to je celé. Proto výstup na jednom sériovém portu.
    Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
    Grunt avatar 26.10.2018 15:50 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    A ještě se dívám, že ono je to popsané i v dokumentaci:
    The Linux kernel has 2 general types of console drivers. The first type is assigned by the kernel to all the virtual consoles during the boot process. This type will be called 'system driver', and only one system driver is allowed to exist. The system driver is persistent and it can never be unloaded, though it may become inactive.
    Ještě něco nejasného? Soudruh Grunt vždy rád vysvětlí a zpříjemní den ;-)
    Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
    Petr Tomášek avatar 26.10.2018 20:08 Petr Tomášek | skóre: 39 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    Pochopitelně že je na tom nejasného vše: proč to naprogramovali tak prasácky. :-)
    multicult.fm | monokultura je zlo | welcome refugees!
    Grunt avatar 26.10.2018 20:16 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    Normálně bych řekl pošli patch, ale když se na to dívám tak spíš popřeju mnoho štěstí s patchem. Dle mého názoru by to byl zbytečný overkill vymýšlet nějaké kopírování a otázka je jestli vůbec možné inicializovat víc UART pomocí psaní do portů v brzké části bootu. Já bych se na to vykašlal.
    Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
    k3dAR avatar 26.10.2018 20:44 k3dAR | skóre: 62
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    btw: jednoho by napadlo na server pouzit desku s IPMI ;-)
    porad nemam telo, ale uz mam hlavu... nobody
    26.10.2018 20:46 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    Protože ten early boot JE požadavek na prasárnu, chceš logovat ještě před inicializováním subsystémů. Pokud to chceš dělat čistě, tak si zapoj JTAG a dumpuj si log buffer v RAM.
    Grunt avatar 27.10.2018 21:56 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    chceš logovat ještě před inicializováním subsystémů
    Zde si dovolím malé poupravení: Subsystémy inicializované jsou. BIOSem. Doporučuju projít si kód ve složce arch/x86/boot (není toho moc). V podstatě veškerý kód co tam je se umisťuje před rozbalení a spuštění hlavního jádra (je to vlastně nekomprimovaná přímo spustitelná hlavička vmlinuxu). Úplně nejúchvatnější je ovšem main.c:
    void main(void)
    {
    	/* First, copy the boot header into the "zeropage" */
    	copy_boot_params();
    
    	/* Initialize the early-boot console */
    	console_init();
    	if (cmdline_find_option_bool("debug"))
    		puts("early console in setup code\n");
    
    	/* End of heap check */
    	init_heap();
    
    	/* Make sure we have all the proper CPU support */
    	if (validate_cpu()) {
    		puts("Unable to boot - please use a kernel appropriate "
    		     "for your CPU.\n");
    		die();
    	}
    
    	/* Tell the BIOS what CPU mode we intend to run in. */
    	set_bios_mode();
    
    	/* Detect memory layout */
    	detect_memory();
    
    	/* Set keyboard repeat rate (why?) and query the lock flags */
    	keyboard_init();
    
    	/* Query Intel SpeedStep (IST) information */
    	query_ist();
    
    	/* Query APM information */
    #if defined(CONFIG_APM) || defined(CONFIG_APM_MODULE)
    	query_apm_bios();
    #endif
    
    	/* Query EDD information */
    #if defined(CONFIG_EDD) || defined(CONFIG_EDD_MODULE)
    	query_edd();
    #endif
    
    	/* Set the video mode */
    	set_video();
    
    	/* Do the last things and invoke protected mode */
    	go_to_protected_mode();
    }
    
    Inicializace sériové konzoly probíhá jako druhý bod. Tedy před tím než se vůbec zkontroluje jestli je jádro možné spustit na daném CPU, před inicializací klávesnice, VGA módu, před přepnutím do chráněného režimu a před tím než se jádro rozbalí a vlastně spustí. Sem skáče GRUB a v této fázi se toho nedá dělat o moc víc než v běžném DOSu. Vlastně jen volat BIOS (což je přesně co se děje - viz bioscall.S a ano jsou tu segmenty napsané v assembleru!) a přímo zapisovat na porty. Takže otravovat že nejsou inicializované dva sériové porty…hele asi to půjde ale případným zájemcům bych popřál mnoho štěstí ve vlastnoruční implementaci i když bych byl Linus který to očividně psal ;-)
    Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
    29.10.2018 19:13 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    Subsystémy jako usb nemusí být inicializovány BIOSem a pokud BIOS inicializuje USB mass storage, tak to ještě neznamená, že bude umět inicializovat nějaký obskurní USB→UART čipset z číny. Každopádně tak jako tak si linux inicializuje usb až později (dokonce na mém embedded počítači chce kernel mountovat rootfs ještě před inicializací usb mass storage). A pokud zavrhneme uart na usb, tak pořád jsou PCI řadiče a linux je může pomocí voleb pci=pcie_scan_all,realloc inicializovat. Na x86 na to potřebuje znát rozložení RAM, mít správně nastavený MTRR apod.
    Petr Tomášek avatar 30.10.2018 13:23 Petr Tomášek | skóre: 39 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    Ovšem v našem případě sedí ten UART na LPC a je inicializován BIOSem. Fyzicky není problém mít klidně 4 konzole.
    multicult.fm | monokultura je zlo | welcome refugees!
    30.10.2018 17:31 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    main() není naprogramovaný jen pro tvoují konkrétní hardwarovou konfiguraci
    Petr Tomášek avatar 30.10.2018 20:12 Petr Tomášek | skóre: 39 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    No a?

    Takže kvůi tomu, že to pro některé hardwarové konfigurace nejde, tak to zabalíme rovnou pro všechny?

    To je hodně blbá výmluva.
    multicult.fm | monokultura je zlo | welcome refugees!
    31.10.2018 17:56 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    Panebože a kde je problém? Pokud jseš takový odborník tak si to dodělej a dopiš....

    Jinak podle mě je to absolutní blbost....

    Nikdo nebude přepisovat kernel pro jedno použití ve specifickém nasazení!
    k3dAR avatar 4.11.2018 16:25 k3dAR | skóre: 62
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    a vazne si myslis ze to pro PetuT nikdo zadarmo nenapise??? aby si PetaT preci nemusel porizovat KVM-over-IP (ktere mu prijde trahe), nebo pridavat dropbear/ssh do initramfs kdyz mu staci vedet co se deje az pri/po pripojovani rootfs (na coz je asi linej :-)
    porad nemam telo, ale uz mam hlavu... nobody
    Petr Tomášek avatar 28.10.2018 18:45 Petr Tomášek | skóre: 39 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    Popravdě řečeno, požadavek není ani tak na "early boot console", mě stačí, abych na konzoli vidět, jak proběhne připojení root filesystemu a co to udělá dále...
    multicult.fm | monokultura je zlo | welcome refugees!
    k3dAR avatar 28.10.2018 19:11 k3dAR | skóre: 62
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    v tom pripade si dej dropbear do initramfs ;-)
    porad nemam telo, ale uz mam hlavu... nobody
    Grunt avatar 28.10.2018 19:39 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    Přesně tak. Ono to do early userspace nenaběhne o moc později než se opravdu inicializují všechny ty UARTčka (pokud není dokonce ovladač jako jaderný modul v initrd!).
    Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
    Petr Tomášek avatar 28.10.2018 19:34 Petr Tomášek | skóre: 39 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    Hm, tohle by možná vysvětlovalo, proč mi to nefungovalo, když jsem snažil nastavit ttyS2 jako konzoli (akorát já to dal do parametru console=, tady se má jednat o earlyprintk=:
    		} else if (!strncmp(arg + pos, "ttyS", 4)) {
    			static const int bases[] = { 0x3f8, 0x2f8 };
    			int idx = 0;
    
    			/* += strlen("ttyS"); */
    			pos += 4;
    
    			if (arg[pos++] == '1')
    				idx = 1;
    
    multicult.fm | monokultura je zlo | welcome refugees!
    26.10.2018 11:24 Jose
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    Převeď si tu RS232 na RS485 a na ní můžeš pověsit v podstatě libovolně terminálů.
    Grunt avatar 27.10.2018 21:21 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    Tohle ale není vůbec špatný nápad. Fungovalo by to přes nějaký modem? Já jen dodám že jsem právě objevil fakt že SysRQ funguje i přes sériovou konzoli (v životě jsem to neviděl fungovat na vlastní oči), tzn. nějakou kartu s modemem který není možné rozštelovat, GRUB s natvrdo zadrátovaným výstupem na sériovou konzoli a víceméně má člověk stroj který nemůže dostat do stavu kdy by s ním nešlo na dálku pracovat. Musel by jedině zpanikařit kernel nebo něco takového.
    Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
    28.10.2018 11:53 Jose
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    Myslíš něco takového :

    local Linux serial RS232 -> RS232toTCPIP -> Internet -> Remote TCPIPterminal

    jako RS232toTCPIP se dá použít třeba https://www.papouch.com/cz/shop/product/gnome232-prevodnik-ethernet-rs232/

    Grunt avatar 28.10.2018 13:00 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    Yup. Přesně to myslím. Masakr.
    Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
    28.10.2018 18:11 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    Tá cena sa naozaj za posledných 10 rokov nezmenila. V čom je to lepšie ako prevodník RS232 na WiFi a 5$ z Číny?
    28.10.2018 19:20 Jose
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    Že od Papoucha je to odskoušené průmyslové řešení na které ke spoleh ?
    28.10.2018 20:34 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    Desať rokov stará technológia za nezmenenú cenu. To je pri opisovanom nasadení pre tri stroje drahšie riešenie ako KVM over IP. A pochybujem že je to aj menej poruchové. Ale keby som chcel riešiť opisované hračky, tak si tam flusnem watchdog na reset.
    28.10.2018 19:57 NN
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    Osobne jsem chtel jit do WIZ110SR a krabicka na 3D tiskarne, ale k realizaci uz nedoslo.
    Grunt avatar 26.10.2018 15:56 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    Jako výstup můžeš použít pouze jednu konzolu takže to console= console= console= je úplně zbytečné a i kdyby ne, tak jádro inicializuje při bootu pouze jedno sériové rozhraní. Celý problém. Opravovat není co. Není to bug.
    Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
    Petr Tomášek avatar 26.10.2018 20:07 Petr Tomášek | skóre: 39 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    Jako výstup můžeš použít pouze jednu konzolu
    Což je přesně ten bug...
    multicult.fm | monokultura je zlo | welcome refugees!
    Grunt avatar 26.10.2018 20:13 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    To je fíčura, ne bug :-)
    Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
    Petr Tomášek avatar 28.10.2018 18:35 Petr Tomášek | skóre: 39 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    Výmluva :-D
    multicult.fm | monokultura je zlo | welcome refugees!
    29.10.2018 11:38 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    Podle stránky o sériové konzoli na kernel.org to není pravda. Záleží pouze na tom, jak to jádru předáš.

    Navíc jak jsem zjistil, záleží na tom jaký použiješ zavaděč. Každý se chová krapet jinak. Zatím jsem ale ve fázi kdy zjišťuji jakými parametry lze výchozí konfiguraci změnit. Konkrétně, GRUB2 zavedený přes PXE zcela evidentně při zavádění jádra (přes UEFI!) posílá výstup kamsi, nevím zatím kam. Tím pádem když dáš break a zůstaneš v ramdisku, je pro tebe konzole nedostupná - na monitor se dostane výskup až ve fázi, kdy už je všechno upečené, a Xorg při spouštění detekuje monitory.

    Grunt avatar 29.10.2018 13:06 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    Já už jsem to pochopil. On je to jedna konzole na druh zařízení, tzn. ono to duplikovat očividně umí… testnu to radši nech tu nemlátím prázdnou slámu.
    Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
    26.10.2018 20:52 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    Asi by to šlo udělat, že se printk data odešlou postupně na všechny ttyS. Žádný problém nikoho zatím nedonutil aby to implementoval. Navíc boot zprávy přes uart stejně budeš potřebovat hlavně při debugingu a víc aktivních výstupů = víc random přerušení = víc heisenbugů.
    Grunt avatar 27.10.2018 20:56 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    Mě napadnul ještě jeden velmi solidní overkill. Netconsole. Nejsem si úplně jistý, ale to myslím jde kombinovat s příkazem pro konzolu, tedy mít standardní I/O přes vzdálenou sériovou konzolu (jednu!) a zároveň zachytávat zprávy přes TCP/IP (ty bude kopírovat). Má to jeden háček. Velmi custom kernel se všema zabudovanýma driverama včetně stacku a netconsole přímo v jádře. A z toho pramení zase omezení typu natvrdo nastavená IP (parametr při bootu), nezabezpečené UDP zprávy přes půlku internetu které se musí někde odchytávat…no hodně štěstí. Najednou ta karta pro vzdálenou správu jak tu kdosi navrhoval není zas tak špatný nápad. Ale fungovat by to mělo, kritické zprávy přes normální sériovou konzolu a netconsole přivádí kartu k životu hodně brzo, takže převážná většina bootu už by měla frčet přes síť.
    Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
    Petr Tomášek avatar 28.10.2018 18:49 Petr Tomášek | skóre: 39 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    Chci vidět IPMI kartu do PC Engines APU...
    multicult.fm | monokultura je zlo | welcome refugees!
    k3dAR avatar 28.10.2018 19:15 k3dAR | skóre: 62
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    pokud mas desku co nema IPMI onboard a/nebo do ktere nelze pridat, muzes pripojit KVM-over-IP ktere je nezavisle na HW ;-)
    porad nemam telo, ale uz mam hlavu... nobody
    Petr Tomášek avatar 29.10.2018 17:49 Petr Tomášek | skóre: 39 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    Jasně, takže místo toho, abych proprojil desky uvnitř casu pomocí UARTu několika káblíky (a řešil se problém tam, kde je, totiž v prasácky napsaném jádře), tak bych podle tebe měl kupovat drahý KVM-over-IP a předpokládat, že je to natolik dobře zabezpečený, abych to mohl vystrčit do internetu??? Ne, to je opravdu blbost nejvyšší..

    Navíc by se to KVM stejně asi už do racku nevlezlo :-)
    multicult.fm | monokultura je zlo | welcome refugees!
    Grunt avatar 28.10.2018 19:48 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    Spíš bych se na to vykašlal. Je to embedded zařízení, ne raketový odpalovač. Jestli se dobře dívám, má to jen jeden integrovaný DB-9. Po tom nikdo nemůže chtít zázraky.
    Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
    Petr Tomášek avatar 29.10.2018 17:36 Petr Tomášek | skóre: 39 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    Díváš se blbě.

    Má to v sobě „Super-IO“ čip Nuvoton NCT5104D (přes LPC sběrnici), který umí 4 (slovy čtyři) UARTy: Jeden z nich (ttyS0) to má vyvedeno jako RS-232 na „zadním“ panelu, druhý (ttyS1) je vyvedený v 3.3v logice na speciálním headeru na desce (ovšem z nějakého nepochopitelného důvodu jenom signály Rx/Tx), a ttyS2 a ttyS3 jsou vyvedeny na "GPIO"-headeru rovněž v 3.3v logice ovšem pokaždé v "plné polní", tedy všech 8 signálů co RS-232 má (akorát to má jiné úrovně)!

    Se správnou verzí BIOSu (resp. CoreBootu) druhé dva porty také linux bez problému nadetekuje a jedou jak po másle. Viz výsek z dmesg:
    [    2.569637] serial8250: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
    [    2.598223] serial8250: ttyS1 at I/O 0x2f8 (irq = 3, base_baud = 115200) is a 16550A
    [    2.626809] serial8250: ttyS2 at I/O 0x3e8 (irq = 4, base_baud = 115200) is a 16550A
    [    2.655405] serial8250: ttyS3 at I/O 0x2e8 (irq = 3, base_baud = 115200) is a 16550A
    
    Tady se není na co vykašlávat. Připojit se po dokončeném bootu na konzoli (getty) není problém, chápeš to?

    Jedinej problém je s hláškama a konzolí při bootu, jinak vše funguje, jak má...
    multicult.fm | monokultura je zlo | welcome refugees!
    27.10.2018 19:32 PetebLazar
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    Ad změny síťové konfigurace: Co využít v cronu naplánovaného rollback plánu (automatické obnovení původních konfiguračních souborů před provedenými změnami podle nutnosti s/bez restartu)? Pokud se vzdáléná konfigurace nezdaří podle plánu a plán v cronu se ručně na dálku včas neodstaví, tento se automaticky provede, obnoví spojení a může se tak začít s druhým pokusem.
    Petr Tomášek avatar 28.10.2018 19:08 Petr Tomášek | skóre: 39 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    A když mezitím vypadne proud?
    multicult.fm | monokultura je zlo | welcome refugees!
    28.10.2018 22:27 PetebLazar
    Rozbalit Rozbalit vše Re: Více sériových konzolí (kernel/boot)?
    Ten rollback skript může být naplánován na několik časů dopředu s rostoucím časový odstupem (časově nejbližší po obnově napájení zabere). V případě úspěšné konfigurace se rollback plány včas zruší.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.