Byla vydána verze 1.70.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example. Jako reakce na rostoucí obavy z vlivu korporací na vývoj Rustu a předložený návrh restriktivních zásad používání ochranných známek Rustu, byl nedávno představen komunitní fork Rustu se 100 % méně byrokracie: Crab (CrabLang).
Oliver Smith z Canonicalu shrnuje základní vlastnosti „neměnné“ distribuce Ubuntu Core také ve srovnání s protějšky Chrome OS, Fedora Silverblue a MicroOS. Canonical připravuje desktopovou variantu Ubuntu Core vedle dosavadní serverové/embedded.
Z aktualizovaného seznamu chyb (pdf) procesoru AMD EPYC 7002: #1474 - procesor se po 1044 dnech od posledního resetu zasekne [reddit].
Fossil (Wikipedie) byl vydán ve verzi 2.22. Jedná se o distribuovaný systém správy verzí propojený se správou chyb, wiki stránek a blogů s integrovaným webovým rozhraním. Vše běží z jednoho jediného spustitelného souboru a uloženo je v SQLite databázi.
David Malcolm se ve svém příspěvku na blogu vývojářů Red Hatu rozepsal o vylepšeních statické analýzy (volba -fanalyzer) v GCC 13.
Byla vydána nová stabilní verze 23.05 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Stoat. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.
Příspěvek na blogu CZ.NIC upozorňuje na nový útok na weby v Česku. Na honeypotech na Turrisech byla zaznamenána nová aktivita útočníků - probíhající útok na FTP servery, které se vyskytují na stejné IP adrese, jako aktivní WEB server.
Rakudo (Wikipedie), tj. překladač programovacího jazyka Raku (Wikipedie), byl vydán ve verzi 2023.05. Programovací jazyk Raku byl dříve znám pod názvem Perl 6.
Linux Foundation Europe představila projekt RISE (RISC-V Software Ecosystem), jehož cílem je urychlit vývoj open source softwaru pro architekturu RISC-V.
Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu pro jednodeskové počítače na platformě ARM, byl vydán ve verzi 23.05. Přehled novinek v Changelogu.
Zdravím,
stavím si takové malé liveCD na slackwaru, plánuji použít doupravené linux-live skripty ("upstream" verze je skutečně už hodně tlustá), nikdy jsem nepřišel na chuť initial ramdiskům, tak se to pokouším napravit teď.
Nakonfiguroval jsem si vlastní minimální kernel (1.1MB + 16MB moduly), filesystem drivery hodil (spolu s ATA/SATA/etc) jako moduly s tím, že je budu načítat v initrd (což je ta pointa, pokud jsem to dobře pochopil). Na samotné liveCD to asi potřeba nebude, ale rád bych byl schopen bootovat třeba z USB.
Tudíž jsem se pustil do - alespoň pro začátek - zkoušení initrd za pomoci qemu emulace. Velkou škodou je, že qemu neumí tak snadno "copy & paste", takže většinu z toho zde musím přepsat ručně (vím, jde to přes txt soubor a loop mount, ale z napůl funkčního busyboxu stěží).
lspci
mi jako IDE vyhodil
00:01.1 IDE interface: Intal Corporation 82371SB PIIX3 IDE [Natoma/Triton II]
a po rychlém find
u v /lib/modules/
jsem usoudil, že piix.ko
modul bude ten pravý. Samotný filesystém je ext2, logicky jsem proto zkusil něco jako
mkinitrd -c -m ext2:piix -k 2.6.29.6 -o /boot/custom/initrd.gz
moduly byly přidány, lilo proběhlo úspěšně a já restartoval.
Po rebootu na nový kernel na mě čekal můj milý ash shell a busybox:
mount: mounting /dev/hda1 on /mnt failed: No such device or address
Tento error nevidím poprvé, měl jsem s ním problémy na debianu, když jsem se pokoušel udělat raid1 dualboot přes lilo (automatické nabootování z 2. disku, pokud je první kaput, bez diskety), nepamatuji si, jak jsem to tehdy vyřešil, ale příčina nalezena nebyla.
Trochu jsem se rozhlížel a vypadá to, že tenhle initrd používá mdev -s
na vytvoření blokových zařízení v /dev/
. Ten pravděpodobně prohledává /sys/block/
a vytváří zařízení podle toho, což je pěkná věc, dala by se použít jako odlehčená verze udevu na ostrém systému (/proc/sys/kernel/hotplug
), nejprve jsem myslel, že /dev/hda (3,0)
a /dev/hda1 (3,1)
má na svědomí on, ale vypadá to, že tyto zařízení tam nacpal už slackwarácký mkinitrd
("init" - který je použit místo linuxrc - je nevytváří a mdev také ne).
Příčina toho všeho je asi v neexistujícím hda/hda1 v /sys/block/
, resp. /sys/devices/virtual/block/
, v /sys/bus/ide/devices/
však obě zařízení jsou, po modprobe piix
při startu vypsal kernel dvě daná IDE zařízení (podle /sys/bus/ide/devices/*/model
jde o QEMU HARDDISK
a QEMU CD-ROM
, drivername
sedí - hda
a hdc
, modalias
je ide:m-disk
.
Nicméně ať se snažím sebevíc, kernel je prostě nedetekuje jako bloková zařízení (asi) a symlinky v /sys/block/
nevytvoří.
Stejnou chybovou hlášku (no such device or address) hází na předvytvořené /dev/hda
samozřejmě i jiné nástroje, jako hdparm
, cat
, apod. Zkusil jsem do initrd přidat další moduly, které by snad něco s IDE/ATA mohly mít společného, ale nic nepomohlo.
Tak se obracím na vás, je možné, že má chorá mysl něco triviálního zkonila, ale hledal jsem tady i na Googlu a o podobném problému se toho moc nepíše. Tutoriály o vytváření initrd jsou, vesměs typu "mkinitramfs -o /boot/initrd.gz 2.6.x.y
a je to hotovo", případně popisují tvorbu malého initial ramdisku ručně, bez modulů a mountování "skutečného" filesystému.
Tak jsem problém snad vyřešil. Byla to celkem nešťastná shoda více okolností - jednak jsem přesně nepochopil podstatu mdev z busyboxu, jednak "mkinitrd" ze Slackware nevytváří initrd, ale initramfs (tedy tmpfs), navíc tam cpe všechno tak nešikovně, ani modules.dep nevygeneruje / nepřekopíruje. To mělo za následek situaci, kdy qemu harddisk potřeboval "ide:m-disk", což je alias pro ide-disk, který je opět aliasem pro skutečný modul ide_gd_mod. To ale mdev díky chybějícímu modules.dep nemohl tušit a tak neudělal nic.
Ono by to až tak nevadilo, kdybych si tyto aliasy vygrepoval sám a přidal ide_gd_mod do initrd spolu s ext2 a piix. Totiž samotný ide_gd_mod toho moc neudělá, v tomto případě je potřeba i modul piix (což byla jedna z těch nepříjemných shod okolností, testoval jsem jednou samotný piix, pak samotný ide-disk, atp.).
Jsem rád, že mám tento případ za sebou, pro liveCD si stejně musím vytvořit initramfs "from scratch", tam by podobná situace neměla nastat.
... snad
Tiskni
Sdílej: