2011-09-14 2 views
3

나는 CDC 장치로 USB를 통해 내 PC와 대화하는 TRNG를 만들고 있습니다. 난/dev/random 엔트로피 풀에서 전체적으로 엔트로피를 꺼내고 대신 내 데이터를 사용하고 싶습니다. 이론은 현재 풀이 엔트로피를 수집하는 방식 때문에 중독 될 수 있다는 것입니다.엔트로피 풀에서/dev/random population을 중지하는 방법. 모듈을 언로드 할 수 있습니까?

엔트로피 소스를 제거하는 방법을 알고 있지만 커널에서 해킹이 필요합니다. 옵션이지만 데이터를/dev/random에 쓰는 모듈을 언로드하는 것을 선호합니다. 나는 rmmod와 modprobe를 시도했지만 모듈의 이름을 알 수 없다. 확장 기능이나 다른 것을 제외하는 것이 가능할 수도 있지만, 커널 모듈을 망치는 일을 처음 접해 보았 기 때문에 실제로 알 수는 없습니다.

또한

modprobe -l | grep random 

은 나에게 hw_random 물건의 목록과

lsmod | grep random 

나에게 아무것도 제공하지 않습니다 수 있습니다.

그래서 나는 제대로 된 길에 있는지 잘 모르겠습니다.

모든 포인터가 크게 감사하겠습니다.

+0

'/ dev/random'과'dev/urandom'을 제공하는 모듈이없는 것처럼 보입니다. 기능은 아마 적절한 커널에 내장되어있을 것입니다. 이 장치들은 등록되어 있고 major/minor 번호는 [drivers/char/mem.c] (http://lxr.free-electrons.com/source/drivers/char/mem)의'chr_dev_init()'에 의해 할당됩니다. .기음). 'devlist'의 정의도 참고하십시오. 조작 ('random_fops')은 [drivers/char/random.c] (http://lxr.free-electrons.com/source/drivers/char/random.c)에 정의되어 있습니다. Makefile'drivers/char /'디렉토리를 살펴보십시오 ... – Eugene

+0

(... 계속)이 Makefile에는'obj-y + = mem.o random.o' 행이 있습니다. 즉,'mem.c'와'random.c'의 코드는 항상 커널 자체에 항상 내장되어 있습니다. 따라서이 기능을 사용하지 않으려면 언로드 할 수있는 모듈이 없습니다. – Eugene

답변

0

/dev/random 노드를 제거하고 다른 메이저 마이너 번호 쌍을 사용하여 새 노드를 만들었습니다. 표준 모듈은 여전히 ​​중단되지만 새로운 노드에는 영향을 미치지 않습니다.

관련 문제