从昨天起,我对linux还很陌生。我正在使用linux小狗,试图从一个10岁的,缓慢的笔记本电脑中得到最大的好处。我安装的很好,没有问题,但是一旦我尝试使用我的usb的安装CD,问题就开始了。
CD包括对linux和windows的支持,因此我从CD中复制了linux文件,并通过控制台运行install.sh文件以方便安装驱动程序。一切看起来都很顺利直到..。我得到以下错误:
make: *** /lib/modules/2.6.37.6/build: No such file or directory. Stop.
然后显示错误2消息。
这是我唯一能找到的关于它的任何信息的web结果,但是我
当我在linux cat /boot/System.map-$(uname -r)中这样做时,它会返回内存片段,但是在phys_startup_64上有一个很大的差距:
00000000000228c0 D softnet_data
0000000000022a80 d rt_uncached_list
0000000000022ac0 d rt6_uncached_list
0000000000023000 d kvm_apic_eoi
0000000000023040 d steal_time
0000000000023080 d apf_reason
0000000000024000 D
这里是我的问题:我想从运行在Linux内核空间中的代码中对数据文件的一部分进行内存映射。我想稍后也从Linux内核空间中运行的代码中撤销相同的内存映射。如何执行这些操作?它们与在用户空间中使用mmap(2)/munmap(2)有何不同?
我试图在没有用户进程的内核空间中做到这一点。
我浏览了网络搜索和Linux内核书籍,包括Bovet和Cesati的"Understanding the Linux Kernel“。一本好书,但没有回答我的问题。
我开始学习如何在linux中使用Crypto。它提供了使用散列表结构将明文传输到分组密码功能。Scatterlist句柄通过在内存页面上存储明文的位置来处理明文。结构散射列表的简化定义是:
struct scatterlist {
unsigned long page_link; //number of virtual page in kernel space where data buffer is stored
unsigned int offset; //offset from page start address to dat