热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

编译Linux虚拟机上能运行的helloword

1.因为开始配置的是ARM的环境变量,所以要去掉,vim~.bashrc把以下几行原来添加的环境变量用#注释掉.退出后用source~.bashrc使用修改生效.exportARC

1.因为开始配置的是ARM的环境变量,所以要去掉,vim ~/.bashrc把以下几行原来添加的环境变量用#注释掉.退出后用source ~/.bashrc使用修改生效.

export ARCH=arm
export JAVA_HOME=/usr/local/jdk/jdk1.6.0_26
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
export PATH=$PATH:/usr/local/arm/arm-2009q3/usr/bin
export CROSS_COMPILE=/usr/local/arm/arm-2009q3/bin/arm-none-linux-gnueabi-

2.用ehco $PATH回车查看环境变量,如果发现这几行环境变量还存在就重启一下虚拟机.

3.修改Makefile改为以下内容:

# 如果已定义KERNELRELEASE,则说明是从内核构造系统调用的,因此可利用其内建语句
ifneq ($(KERNELRELEASE),)
obj-m := hello.c
# 否则,是直接从命令行调用的,这时要调用内核构造系统.
else
KERNELDIR ?= /usr/src/linux-headers-2.6.32-24-genric
default:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
endif

4.输入make回车,开始编译hello.c文件

5.编译完后,输入ls回车可以看到生成了hello.ko文件.

6.输入insmod hello.ko可以装载hello.ko

7.输入lsmod回车可以查看hello模块已装载.

8.输入rmmod hello卸载hello,注意没有.ko

9.在/var/log/kern.log文件中可以看到hello.ko的打印信息.

10.如果/var/log/kern.log文件中log信息太多,不方便查看,可以先用cat /dev/null >kern.log回车后清空log文件.再装载hello.ko后查看log



推荐阅读
  • 对于以压缩包形式发布的软件,其目录中通常包含一个配置脚本 `configure`。该脚本的主要功能是确定编译所需的各项参数,如头文件的位置和链接库的路径,并生成相应的 `Makefile` 以供编译使用。通过运行此脚本,开发者可以确保软件在不同环境下的正确编译与安装。此外,该脚本还能够检测系统依赖项,进一步提高编译过程的可靠性和兼容性。 ... [详细]
  • 本文详细介绍了使用响应文件在静默模式下安装和配置Oracle 11g的方法。硬件要求包括:内存至少1GB,具体可通过命令`grep -i memtotal /proc/meminfo`进行检查。此外,还提供了详细的步骤和注意事项,确保安装过程顺利进行。 ... [详细]
  • Ceph API微服务实现RBD块设备的高效创建与安全删除
    本文旨在实现Ceph块存储中RBD块设备的高效创建与安全删除功能。开发环境为CentOS 7,使用 IntelliJ IDEA 进行开发。首先介绍了 librbd 的基本概念及其在 Ceph 中的作用,随后详细描述了项目 Gradle 配置的优化过程,确保了开发环境的稳定性和兼容性。通过这一系列步骤,我们成功实现了 RBD 块设备的快速创建与安全删除,提升了系统的整体性能和可靠性。 ... [详细]
  • HBase在金融大数据迁移中的应用与挑战
    随着最后一台设备的下线,标志着超过10PB的HBase数据迁移项目顺利完成。目前,新的集群已在新机房稳定运行超过两个月,监控数据显示,新集群的查询响应时间显著降低,系统稳定性大幅提升。此外,数据消费的波动也变得更加平滑,整体性能得到了显著优化。 ... [详细]
  • 本文探讨了将PEBuilder转换为DIBooter.sh的方法,重点介绍了如何将DI工具集成到启动层,实现离线镜像引导安装。通过使用DD命令替代传统的grub-install工具,实现了GRUB的离线安装。此外,还详细解析了bootice工具的工作原理及其在该过程中的应用,确保系统在无网络环境下也能顺利引导和安装。 ... [详细]
  • 在Linux环境中,通过编写Shell脚本来实现自定义命令的创建与激活,能够极大地简化服务器上多个子系统的管理操作。例如,通过简单的命令如“tt”,即可快速查看各个应用程序的名称及其运行状态,从而提高系统维护的效率和便捷性。 ... [详细]
  • 在 Red Hat 系统的启动过程中,首先运行的程序是 `/sbin/init`。该程序会读取 `/etc/inittab` 文件,并根据其中的配置进行系统的初始化工作。例如,它会根据设定的运行级别启动相应的服务和进程,确保系统能够顺利进入指定的运行状态。此外,`/sbin/init` 还负责管理系统关机和重启等操作,确保系统的稳定性和安全性。 ... [详细]
  • Python与R语言在功能和应用场景上各有优势。尽管R语言在统计分析和数据可视化方面具有更强的专业性,但Python作为一种通用编程语言,适用于更广泛的领域,包括Web开发、自动化脚本和机器学习等。对于初学者而言,Python的学习曲线更为平缓,上手更加容易。此外,Python拥有庞大的社区支持和丰富的第三方库,使其在实际应用中更具灵活性和扩展性。 ... [详细]
  • 本题库精选了Java核心知识点的练习题,旨在帮助学习者巩固和检验对Java理论基础的掌握。其中,选择题部分涵盖了访问控制权限等关键概念,例如,Java语言中仅允许子类或同一包内的类访问的访问权限为protected。此外,题库还包括其他重要知识点,如异常处理、多线程、集合框架等,全面覆盖Java编程的核心内容。 ... [详细]
  • 本文深入探讨了 `ExpressionChangedAfterItHasBeenCheckedError` 错误的原因及其解决方案。通过分析 Angular 的变更检测机制,详细解释了该错误的发生条件,并提供了多种有效的应对策略,帮助开发者在实际开发中避免这一常见问题。 ... [详细]
  • 本文深入探讨了NDK与JNI技术在实际项目中的应用及其学习路径。通过分析工程目录结构和关键代码示例,详细介绍了如何在Android开发中高效利用NDK和JNI,实现高性能计算和跨平台功能。同时,文章还提供了从基础概念到高级实践的系统学习指南,帮助开发者快速掌握这些关键技术。 ... [详细]
  • 在Linux环境下使用Oracle数据库时,常见的操作指令包括创建表空间。具体命令为:`CREATE TABLESPACE jxc DATAFILE '/path/to/nmxynmxy.dt' SIZE 10G AUTOEXTEND ON NEXT 1M EXTENT MANAGEMENT LOCAL;` 该命令用于定义一个新的表空间,并指定其数据文件的位置、大小以及自动扩展的设置,确保数据库能够高效地管理存储资源。 ... [详细]
  • RancherOS 是由 Rancher Labs 开发的一款专为 Docker 设计的轻量级 Linux 发行版,提供了一个全面的 Docker 运行环境。其引导镜像仅 20MB,非常适合在资源受限的环境中部署。本文将详细介绍如何在 ESXi 虚拟化平台上安装和配置 RancherOS,帮助用户快速搭建高效、稳定的容器化应用环境。 ... [详细]
  • Linux学习精华:程序管理、终端种类与命令帮助获取方法综述 ... [详细]
  • 在尝试访问一台长时间未使用的Ubuntu 16.04服务器时,遇到了中文字符显示为乱码的问题。此问题可能源于LC_CTYPE或LC_ALL环境变量配置不当。这些变量控制着系统对字符编码的处理方式,如果设置不正确,可能会导致非英文字符无法正常显示。为了确保系统的稳定性和兼容性,建议检查并调整这些环境变量的设置,以恢复正常的中文字符显示功能。 ... [详细]
author-avatar
蜜蜜鱼鱼_270
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有