gabaman

Hozzászólások

10 bejegyzés megtekintése - 461-470 / 2,173
  • Szerző
    Bejegyzés
  • Hozzászólás: SATA boot #2136747
    gabaman
    Felhasználó
      tovis wrote:
      Kitől kérem be az aktuális boot ID -t? – automatikus boot kell.

      Csak tudod melyik vinyóra telepítetted az OS-t. Minden vinyónak van sorozatszáma, ami a /proc/scsi/scsi fájlban látszik. Ezt automatikusan meg lehet keresni.

      tovis wrote:
      Ki fogja végrehajtani az általad leírt parancsot és mikor?

      Mivel a boot lemezen van, és /sbin/init a neve, ezért a kernel indítja, ahányszor bootolsz a CD-ről.

      tovis wrote:
      Ráadásul (lehet hogy nem említettem?) Debian netinst -el előfordult, hogy megcserélte a SCSI ID -t bootoláskor (van egy SCSI hdd és bvan egy SATA hdd a gépben). Ha leállítoma gépet (poweroff) és kisvágtatva újra indítom akkor megint visszaáll! – mi ez, wos? Ha ilyen előfordul akkor az fstab is borul – /home és a többishocked.gif
      Egyébként nem tudom mit fog csinálni egy rendszer ha mondjuk /dev/sdb1 ként volt telepítve és /dev/sda1 -ként ébresztik?

      Tehát minden bootolás alkalmával kiszámíthatatlan az SCSI vezérlőhöz rendelt azonostó (scsi0 vagy scsi1). Erre a megoldás a „LABEL” használata az fstab-ban (man fstab).Az e2label paranccsal megadod a partíció címkéjét (pl, root), majd a mount és a grub szépen megkeresi hol is van a partíció. Bár a régebbi Debianok nem támogatják, sajna. Ha van e2label valamelyik csomagban, akkor működni fog.

      Persze ez nem oldja meg a bootolást, de ha van egy behúzott kernel, akkor már menni fog. Mellesleg USB flash-ről is lehet bootolni, ha a BIOS támogatja.

      # e2label /dev/sda1 root

      /etc/fstab (részlet):
      LABEL=root / ext3 defaults 1 1

      Hozzászólás: SATA boot #2136742
      gabaman
      Felhasználó

        Az SCSI ID problémát is meg lehet oldani egy kis trükkel. Írsz egy pici C progit, ami bekéri/megnézi az aktuális boot ID-t, majd végrehajtja a 2 parancsot: „mount / $DEV -o remount” és „/sbin/init”. Mindezt statikusan fordítod, és beteszed init néven az sbin/ könvtárba a bool kernel mellé. Írhatok példakódot, ha kell.

        Hozzászólás: SATA boot #2136743
        gabaman
        Felhasználó

          Az SCSI ID problémát is meg lehet oldani egy kis trükkel. Írsz egy pici C progit, ami bekéri/megnézi az aktuális boot ID-t, majd végrehajtja a 2 parancsot: „mount / $DEV -o remount” és „/sbin/init”. Mindezt statikusan fordítod, és beteszed init néven az sbin/ könvtárba a bool kernel mellé. Írhatok példakódot, ha kell.

          Hozzászólás: SATA boot #2136740
          gabaman
          Felhasználó

            Ne add fel, nagyon egyszerű a megoldás. A CD boot image és a floppy boot image nagyon hasonló, bizonyos esetekben megyegyeznek.

            „4.11 Hogyan készíthetek bootolható CD-ROM-ot?

            Szükséged lesz egy 1.44 MB-os rendszerindító lemezre. Készíts egy image fájlt a lemezről a

                dd if=/dev/fd0 of=boot.img bs=18k

            parancs kiadásával.

            Rakd be ezt az image fájlt abba a könyvtárba, ahol a fájlokat gyűjtötted össze (vagy egy alkönyvtárába, tetszés szerint). Az mkisofs-nek a -b kapcsolóval lehet megadni a fájl helyét, és használd még a -c kapcsolót is. A részleteket elolvashatod a README.eltorito fájlban, ami benne van az mkisofs disztribúcióban. „

            http://www.szabilinux.hu/forditasok/CD-Iras-HOGYAN/CD-Iras-HOGYAN-4.html

            Tehát:

            $ dd if=/dev/fd0 of=boot.img bs=18k
            $ mkisofs -b boot.img -o boot.iso
            $ cdrecord –data boot.iso

            Egy próbár megér.

            Hozzászólás: SATA boot #2136741
            gabaman
            Felhasználó

              Ne add fel, nagyon egyszerű a megoldás. A CD boot image és a floppy boot image nagyon hasonló, bizonyos esetekben megyegyeznek.

              „4.11 Hogyan készíthetek bootolható CD-ROM-ot?

              Szükséged lesz egy 1.44 MB-os rendszerindító lemezre. Készíts egy image fájlt a lemezről a

                  dd if=/dev/fd0 of=boot.img bs=18k

              parancs kiadásával.

              Rakd be ezt az image fájlt abba a könyvtárba, ahol a fájlokat gyűjtötted össze (vagy egy alkönyvtárába, tetszés szerint). Az mkisofs-nek a -b kapcsolóval lehet megadni a fájl helyét, és használd még a -c kapcsolót is. A részleteket elolvashatod a README.eltorito fájlban, ami benne van az mkisofs disztribúcióban. „

              http://www.szabilinux.hu/forditasok/CD-Iras-HOGYAN/CD-Iras-HOGYAN-4.html

              Tehát:

              $ dd if=/dev/fd0 of=boot.img bs=18k
              $ mkisofs -b boot.img -o boot.iso
              $ cdrecord –data boot.iso

              Egy próbár megér.

              Hozzászólás: C #2078081
              gabaman
              Felhasználó
                kozapeti wrote:
                ahogy azt belém „verték” a Firmák az elmúlt két hétben, én egy nagyon sötét pogány vagyok,

                Tényleg nagyon sötét vagy, de csak a legutosó hozzászólásod alapján. Mivel engem is érint az obszcén célozgatásod, ezért szájbarágósan felvilágosítlak. A Borland C oktatása azért nagy baj, mert aki jelenleg ezt tanulja, nem lesz képes a megszerzett tudását érdemben hasznosítani, de ez a tanár és az iskola hibája. Mindezt tetézi, hogy a fent nevezett terméket 5-10 éve nem fejlesztik, és nem is lehet kapni, így az iskola vagy a „dicső” tanár kényszerít, hogy az otthoni gyakorláshoz lopjad a szofvert (ami a Btk. szerint bűncselekmény), miközben van ingyenes, szabadon használható szabványos fejlsztőeszköz (gcc, devcpp, stb). Mindez egyetemi szinten megy (Miskolci Egyetem). Senki nem állította, hogy tenned is kell valamit, vagy bármiről is tehetnél. Pedig igazán megkérdezhetted volna (magadtól – elvégre egyetemista vagy) a tanító bácsid, mire fogsz menni a megszerzett „tudásoddal”. De ha Neked így jó, ahhoz senkinek semmi köze.

                Hozzászólás: LD_LIBRARY_PATH #2135653
                gabaman
                Felhasználó

                  A „minden fájl” elv itt is érvényesül, így az összes ösztott könyvtár (.so) fájlként töltődik be, és ha a program felhasználói szintjén nincs olvasási és végrehajtási jog, akkor az osztott kőnytár nem fog betöltődni.

                  Viszont az tényleg érdekes, ha egy root jogot megkapó (setuid) progi be tud tölteni egy felhasználói jogkkal rendelkező osztott kőnyvtárat.

                  Hozzászólás: LD_LIBRARY_PATH #2135654
                  gabaman
                  Felhasználó

                    A „minden fájl” elv itt is érvényesül, így az összes ösztott könyvtár (.so) fájlként töltődik be, és ha a program felhasználói szintjén nincs olvasási és végrehajtási jog, akkor az osztott kőnytár nem fog betöltődni.

                    Viszont az tényleg érdekes, ha egy root jogot megkapó (setuid) progi be tud tölteni egy felhasználói jogkkal rendelkező osztott kőnyvtárat.

                    Hozzászólás: C #2078075
                    gabaman
                    Felhasználó

                      A 16 bites int típus izgalmasabb, mert úgy a típuskonverzió módosítja a konstans értékét. Bár a 32768 (MAX_INT+1) és nagyobb konstans is ugyanezt okozza, mivel előjeles egészt adtál meg. A gagyi fordító – ha nincs normális fordítás idejű típus átalakítás – bebilentheti az átviteli jelzőbitet (CF – Carry Flag), és a  következő művet értékét befolyásolhatja. Ha ‘long int’-et használsz, akkor 32 bites rendszereken megegyezik a típus által használható értéktartomány, de a 64 bites rendszereknél már nem lesz jó.

                      Egyébként a C nyelvet gyakran csúfolják assembly makrókönyvtárnak. Elég nagy a valóságalapja, ezért is olyan könnyű assembly kódot beágyazni egy C kódba.

                      Hozzászólás: C #2078073
                      gabaman
                      Felhasználó
                        xcut wrote:
                        (…) egy idő után nagyon tisztán fogja látni, hogy mit csinál _pontosan_, amikor programozik. Élmény volt magamtól rájönni, hogy a következő két sor _egészen pontosan_ mit csinál:

                        Code:
                        int valami[5];
                        valami[4]=65536;

                        Attól függ, mennyi a sizeof(int), 2 vagy 4. grin.gif

                      10 bejegyzés megtekintése - 461-470 / 2,173