Puslapiai: 1
Tsynique, o kokiose FS gulėjo tavo ISO failiukai? Mėginau iš NTFS. GRUB4DOS juos lyg ir mato (autocomplete-ina failų pavadinimus), bet nepaleidžia išvis. Rašo kažkokius keistus klaidų pranešimus.
O mėginau iš paties USB (FAT32 suformatuoto) paleist Linux Mint 11 LXDE, tai pradeda kraut, bet paskui neberanda boot device. Bet tas ISO tai ir oficialiai transformuotas į maniškį USB flashiuką nelabai pakyla. Nors vat po HP Format Utility panaudojimo pakilo. Bet tai gal atskira tema, nežinau.
Gal teko lyginti $Subject su kokiu SDLu, Clanlib? (išskyrus pagal amžių:)
Internete daug aiškina, bet kažkaip neaiškiai.
Keista dėl Linux ir Win7.
Jų installeriai visus boot-įrenginius lyg ir iš Protected Mode tik pradeda matyti (apklausia per kontrolerius), todėl neturi naudot Int 13h.
Reikės kada nors per kokį BOCHS patyrinėt gal.. Labai keista ir ačiū už info:)
Aš neabejoju Mariaus argumentu, tiesiog jis daro visai ką kitą, jo būdas turi užkrauti kernelį ir dar leisti užkrautai OS suprasti iš kur užsikrovė.
Šiaip manau visi modernūs OS installeriai ieško iš kur užsikrovė, nes kitaip nerastų savo instaliacinių failų.
Džiugu, kad GRUB2 tai sugebėjo.
Na, GRUB2 pasiūliau tik teoriškai, pats nemėginęs. Manau jis daro tą patį, ką ir Grub4DOS.
Tebūnie reikalingas tik ISO failo bootloaderis : )
Bet kaip tik todėl jis ir naudos INT 13h. Nes neturės kitų priemonių. Nes neturės po ranka kernelio.
O ko vertas bootloaderis, jeigu iš jo paleistas kernelis nieko neras. Arba ras tik tada, jei nenaudos Protected Mode?
Man atrodo, kad jokios naudos.
Tiktai DOSo paleidimui (bootable winXP installeris yra DOS/Win9x-based, kiek suprantu).
Insidėk MacOSX arba Solario ISO, ir bus ate, manau.
Šiaip ir išmėginsiu, bet nematau pagrindo abejoti Mariaus argumentu.
Tai gal nematydamas atsakymų į šį klausimą vakar ir parašiau kiek nemandagiu tonu : )
Tad truputį atsiprašau.
Bet argumentų neatsiimu.
O jei norisi tik patyrinėt ISO bootloaderį, tam pakanka virtualios mašinos. Nei kompo reikia perkrauti, nei baisu, kad koks piratinis CD bus virusuotas..
PS: dalis apie PLoP labai gera. Apskritai, įspūdingas projektas:)
Kadaise būdavo kompai (BIOSai), kurie kraudavo OS iš flopikų, bet nekraudavo iš CD. Vienas vaikinukas pasiūlė tuometiniame programming@pub.osf.lt mailing liste(~1998-aisiais) tokią pat idėją: užsikrauna mažas bootloaderis iš flopiko ir užkrauna CD bootloaderį pats, lowlevel būdu. Praėjo dešimt metų, ir tik tada suradau projektą, kuris pagaliau tai padarė! :D
Nieko čia super nėra. Būdas veikia tik tol, kol OS naudoja Real Mode / BIOS INTs.
Išeitis yra naudotis arba Firmware-level emuliavimu (pvz. įsirašius ISO turinį į USB ir turint pakankamai gudrų USB firmware), arba x86(_64) hardware virtualizavimu (pvz. kaip tai daroma BitVisor projekte).
Apie tai teko padiskutuoti su hakeriu Marium Gedminu jo bloge:
http://mg.pov.lt/blog/booting-iso-from-usb.html
Noriu pastebėt, kad Dummo skriptai nėra labai jau gražūs (sektini) pavyzdžiai -- keliose eilutėse, einančiose iš eilės, vykdoma ta pati append operacija. Pakaktų vienos tokios operacijos, kuri savo stdin-ą gautų iš subshell-inio kompaundo:
$ (echo "A"; echo "B"; echo "C") >> report.tex
Na, kaip mokymosi priemonė tie skriptai gal ir tinka, nes lengvai sukramtomi.
O aš su Bash-u karts nuo karto ką nors pasirašau.
Pvz. kadangi naudoju FF daugelį profailų, o skirsnyje vieta kartais dingsta, tai pradingsta ir profiles.ini failas. Tuomet paleidžiu bash-awk kompozitą, ir jis man atkuria tą ini-failiuką.
Arba kadaise dariausi skriptą, kuris logintų visus tekstinių failų pakeitimus (nurodytoje direktorijoje) į GIT tipo lokalią repozitoriją. Na, planavau pasidaryt stackable, logging FS prototipą. Na, ir pasidariau tą prototipą;), o va FS taip ir nebepradėjau (bet tai su BASHu visai nesusiję).
O dar seniau man prisireikė įrankio, kuris C programėlę sukompiliuotų į minimalų vykdomajį EXE-failiuką, paskui išdisasembleriuotų jš, surašytų opkodus bei ASMo komandas vėlgi į C programėlės masyvus, ir dar automatiškai sukonstruotų EXE headerį bei keletą tarnybinių sekcijų (.rdata, .idata bei pan) su C-struktūromis, masyvais bei pointerių operacijomis.
Na ir ką, pasirašiau per kokį mėnesį-du (susumavus visus prisėdimus į vientisą laiko tarpą). Kadangi įrankis buvo skirtas tik man, net nemėginau jo rašyti gražiai. Turbūt būtų gėda man jo kodą parodyt viešai:). Beje, be AWK-o buvo neapsieita.
EDIT
Dar Adomui. Dėl Perl įmantrybių suabejojau, ar įmanoma jas išmokti per 1/3 pusdienio:)
http://www.garshol.priv.no/download/tex … html#id3.1.
O geriausias patarimas dėl skriptelio pasirašymo bus tada, kai kas nors BASHinio nulūš ir dar stipriai=) -- tuomet sužinosi/prisiminsi net ir apie BashDb, turbūt.
Gal jau laikas ir temos pavadinimą pakeist į racionalesnį, labiau atspindintį probleminę situaciją ; ) ?
Nes:
1, neegzistuoja ryšys tarp C ir TCP;
2, char buffer niekam nieko nesako (sako tiek pat, kiek ir "unsigned int buffer" -- C kalboje viskas yra ints;)
3, situacija susijusi ne su TCP steku, o su klientine Telnet programa.
Fokusų naudojimas, kai jų nereikia, yra maždaug toks pat blogis, kaip ir išankstinė optimizacija:)
Įdomus, bet gal tie žmonės www.gamedev.lt daugiau lankosi? : )
Puslapiai: 1