Forum Linux.noyau utilisation de /dev/mem

Posté par  .
Étiquettes :
0
5
déc.
2006
Je souhaites faire un dd sur dev/mem, en étant root, et j'ai comme réponse "opération non permise".
J'ai fait le test sur une distrib Ubuntu dapper, et une fedora core5
Sur Ubuntu j'ai également vérifié les capabilities et la SYS_RAWIO est présente.
Si quelqu'un a une idee
  • # Il me semble...

    Posté par  . Évalué à 1.

    ...que cela s'appelle faire un ramdisk et donc probablement que l'on utilise pas directement /dev/mem

    mais je peux aussi me tromper
  • # Limitation des 2.6

    Posté par  (site web personnel) . Évalué à 2.

    Je ne sais pas exactement pourquoi tu veux acceder a /dev/mem. En general on survit tres bien en s'en abstenant. Je ne sais pas non plus a quel niveau se produit ton erreur (ouverture ? lecture des le debut ? lecture au-dela du premier mega ?). En tous les cas, en 2.6 sur x86_32, tu vas difficielement pouvoir depasser le 1er mega de RAM (les autres acces hors ram sont permis, si ils ont un sens bien sur). Extrait de arch/i386/mm/init.c :
    /*
     * devmem_is_allowed() checks to see if /dev/mem access to a certain address is
     * valid. The argument is a physical page number.
     *
     *
     * On x86, access has to be given to the first megabyte of ram because that area
     * contains bios code and data regions used by X and dosemu and similar apps.
     * Access has to be given to non-kernel-ram areas as well, these contain the PCI
     * mmio resources as well as potential bios/acpi data regions.
     */
    int devmem_is_allowed(unsigned long pagenr)
    {
       if (pagenr <= 256)
           return 1;
       if (!page_is_ram(pagenr))
           return 1;
       return 0;
    }
    
    On dirait que c'est une limitation propre au x86 (32 et 64), sur les autres archi, visiblement pas de limitation. Mais, encore une fois, je me demande bien a quoi ca peut te servir. A mon sens, /dev/mem ne devrait pas exister autrement qu'"a but educatif".

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.