version magic '2.6.30.4 mod_unlo…

在做驱动的时候,我遇到下面的提示错误。在网上差了好久,发现我并没有犯他们介绍的错误。用下面的方法,我解决了。

version magic '2.6.30.4 mod_unload ARMv4 ' should be '2.6.30.4-EmbedSky'

文章出处:http://blog.163.com/cailing_07@126/blog/static/33915087201211094613923/


1,selected device is not a touchscreen I understand
想去找源码,没找到。(后来知道,我是有源码的。)
2,可能是配置问题。也没看到有什么错。probe是成功了。
3,看到一句信息。
input_polldev: version magic '2.6.30.4-EmbedSky mod_unload ARMv4 ' should be '3.2.5apple2.0 mod_unload ARMv4 p2v8 '
insmod: can't insert '/lib/input-polldev.ko': invalid module format
怀疑input-polldev.ko没有加载出错。于是在kenrel中,发现根本没选择该项,于是选成y,加载到kernel中。然后在文件系统中删除ismod input-polldev.ko。
4,结果还是不行。于是用原本的kernel,发现input-polldev.ko模块不加载也没问题,触摸屏照用。于是只能把问题集中到“selected device is not a touchscreen I understand”
去看tslib中的源码。发现问题出在input_raw.c文件中。找到了线索。

arm交叉编译工具中的头文件库中的linux/input.h中的EV_VERSION定义为
    #define EV_VERSION        0x010000
而linux内核include/linux/input.h中的EV_VERSION定义为
    #define EV_VERSION        0x010001
由此可见问题就出现在内核的输入子系统的版本号不匹配的问题
    
解决办法:
    1.将内核源代码里的include/linux/input.h中的
    #define EV_VERSION        0x010001
    改为:
    #define EV_VERSION        0x010000

<think>嗯,用户想知道如何安全地使用curl或wget下载并执行远程shell脚本。首先,我需要回顾一下curl和wget的基本用法,以及如何将它们与bash结合使用来执行脚本。不过,安全问题是最重要的,所以必须强调验证来源和内容的重要性。 首先,用户可能已经知道基本的下载命令,比如curl -O或者wget后面跟URL。但直接通过bash执行远程脚本可能存在风险,比如恶意代码。所以,我需要提醒用户一定要确保URL的来源可信,比如使用HTTPS、官方源等。 然后,记得引用中的内容,比如引用3提到curl是一个功能强大的工具,可以下载文件,而引用2和引用3都提到了wget的用法。用户可能需要具体的命令示例,比如使用curl下载后通过管道传给bash,或者wget下载后执行。 接下来,安全措施方面,应该包括检查HTTPS、验证文件完整性(比如md5或sha256校验和),以及先下载脚本检查内容再执行。引用5提到在shell脚本中获取md5值并curl,这说明校验的重要性。用户可能需要知道如何获取校验和并进行比较。 另外,权限问题也很重要,下载后的脚本可能需要去除执行权限,或者使用sh而不是bash来执行,以降低风险。同时,使用沙盒环境或容器来测试脚本可能是个好建议,但用户可能不知道具体怎么做,可能需要简单说明。 然后,引用4中的systemd服务单元可能与自启动脚本有关,但当前问题不涉及自启动,可能暂时不需要涉及这部分。但如果有用户提到开机执行,可能需要考虑,不过这里先专注于下载和执行。 总结步骤的话,应该分点列出安全执行的步骤,包括使用HTTPS、校验、预览内容、最小权限原则等。同时给出具体的命令示例,比如curl加上参数,或者wget配合校验。 可能用户还会担心网络中间人攻击,所以强调HTTPS和校验的重要性。此外,沙盒环境比如使用docker容器或者虚拟机来测试脚本,可以进一步降低风险,但需要用户有一定的相关知识。 最后,生成相关问题时要考虑用户可能进一步的问题,比如如何验证校验和,如何创建沙盒环境,或者如何自动化安全下载执行等。</think>### 安全下载并执行远程Shell脚本的步骤 #### 1. **验证来源可信度** - 确保URL来自**官方或可信来源**(如GitHub官方仓库、企业内网服务器) - 优先使用`HTTPS`协议(加密传输防篡改),例如: ```bash curl -fsSL https://example.com/script.sh | bash ``` 或 ```bash wget https://example.com/script.sh -O - | sh ``` #### 2. **下载后检查脚本内容** - 先下载脚本到本地并检查内容,再手动执行: ```bash curl -fsSL https://example.com/script.sh > script.sh nano script.sh # 查看代码逻辑 bash script.sh ``` - 或使用`wget`: ```bash wget https://example.com/script.sh cat script.sh ``` #### 3. **完整性验证** - 通过`SHA256`或`MD5`校验文件完整性(引用5提到MD5校验重要性): ```bash # 获取远程脚本的校验值 curl -fsSL https://example.com/script.sh.sha256 # 本地计算校验值 sha256sum script.sh ``` #### 4. **最小权限原则** - 使用`sh`替代`bash`(部分脚本特性可能受限但更安全) - 添加`--no-preserve-root`等保护参数(若涉及系统级操作) #### 5. **安全参数推荐** - **curl**:`-fsSL`组合参数 - `-f`:失败时静默退出 - `-s`:静默模式 - `-S`:显示错误信息 - `-L`:跟随重定向 - **wget**:`-q --https-only` ```bash wget -q --https-only -O - https://example.com/script.sh | bash ``` #### 6. **沙盒环境测试** - 使用`docker`容器隔离执行: ```bash docker run --rm -it alpine sh -c "wget -O- https://example.com/script.sh | sh" ``` - 或通过虚拟机测试脚本行为[^3] --- ### 典型命令示例 #### 直接执行(高风险,需完全信任源) ```bash # 使用curl curl -fsSL https://example.com/install.sh | bash # 使用wget wget -q --https-only -O - https://example.com/install.sh | sh ``` #### 安全增强版操作 ```bash # 下载+校验+执行 curl -fsSL https://example.com/script.sh > script.sh curl -fsSL https://example.com/script.sh.sha256 | sha256sum -c - chmod -x script.sh # 去除执行权限 bash script.sh ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值