首页 > 编程知识 正文

linux进入图形界面,编程环境怎么搭建

时间:2023-05-03 23:30:15 阅读:63542 作者:4083

要创建Linux内核编译(Menuconfig图形化)文件系统,请执行以下操作

Linux内核配置原理Menuconfig的主要功能选项介绍了创建编译和配置内核的步骤文件系统的步骤文件系统和根文件系统之间的区别。 Linux内核配置原理Linux内核的配置系统由以下三部分组成:

1、Makefile )分布在Linux内核源代码的根目录和各层目录中,定义Linux内核的编译规则;

2、配置文件(config.in )为用户提供配置选择功能;

3、配置工具:配置命令解释器(解释配置脚本中使用的配置命令)和配置用户界面)提供基于字符、基于Ncurses的图形界面和基于Xwindows的用户配置界面,并

Linux内核的编译菜单有三种方法。

1 )进入make config )命令行后,可以逐行配置。 虽然这很难使用,但通过命令运行一次可以更深入地了解编译过程,所以这里不具体介绍。

2 ) make menuconfig )进入熟悉的menuconfig菜单,在图形界面中选择配置

3 ) make xconfig )在2.4.X之前的版本中,xconfig菜单基于TCL/TK图形库,从未接触过。 好像被淘汰了。

Menuconfig配置内核原理:

在Linux上看到的menuconfig接口是通过配置内核顶层的Kconfig生成的,输入make menuconfig命令将读取Makefile并分析Kconfig。

Kconfig通常会写以下四个项目。

1、模块名称,以module开头

2、选择,一般选bool (二选)或trastate (三选)。

3、默认选项

4、帮助说明。

有关KConfig的详细信息,请访问http://blog.Sina.com.cn/s/blog _ 4b a5b 45 e 0102 e6vp.html

介绍Menuconfig的主要功能选项:如果在源目录中输入# make Menuconfig ARCH=arm,将显示以下menu : (menuconfig主接口) )。

其中,通用设置的重要选项包括:

cross-compiler工具首选项交叉编译工具前缀(arm-linux-等);

本地版本-显示在appendtokernelrelease内核中的版本信息;

系统v IPC表示系统的进程间通信Inter Process

通信。 处理器用于在程序之间同步和交换信息

Enable eventpoll support :支持事件回合的系统调用。

2、启用可加载模块支持的重要选项如下: (内核模块配置) )。

在模块卸载中,可以卸载加载的模块

模块版本支持可以使用其他内核版本的模块(可能会出现问题)。

Source checksum for all modules验证所有模块的源代码。 如果不自己创建内核模块,则不需要此功能。

3、支持启用阻止层设备。 使用硬盘/USB/SCSI设备的人必须选择此选项,以便可以从内核中删除块设备。 重要选项包括:

仅在使用2TB或更大的块设备时才需要支持(2TB )块设备和文件

使用Block layer bio throttling support可以限制设备的I/o速度

IO Schedulers IO调度程序I/O是一种输入/输出带宽控制,主要面向硬盘,是核心的必备功能。 这里有三个IO调度器。

4、处理器类型和功能() ) ) ) ) ) )。

对称多处理器处理支持。 如果有多个CPU或使用多核CPU,请选择

选择processorfamily(Pentium-Pro )处理器系列时,请根据实际使用的CPU进行选择。 这里是处理器的类型

通用x86支持选项为x86系列CPU使用更多常规优化。 在上一个项目中选择了i386、i586等选择了该通用x86支持时

多核计划器支持多核CPU的调度策略优化支持多核调度机制,选择双核CPU

5、电源管理和acpi选项

6、总线选项(支持和配置PCI、ISA等总线)。

7、executablefileformats/emulation

s (没用过,不大了解)
8、Networking support (网络配置,重要)

Networking options 网络协议和网络包参数配置(其中TCP/IP相关协议必须打开)
Wireless 使用无线网卡支持
RF switch subsystem support RF 切换设备

9、Device Drivers (设备驱动)

Generic Driver Options
Block devices 想要支持的块设备,比如ramdisk , 磁盘阵列,CD/DVD 刻录等
Misc devices 需要支持的杂项设备
SCSI device support SCSI 设备驱动
Serial ATA and Parallel ATA drivers SATA 设备驱动
IEEE 1394 (FireWire) support
Network device support 如Ethernet (1000 Mbit) 选择自己对应的硬件
Character devices 字符设备,一般自己写的传感器类驱动都是字符型,需要kadzm配置,包括串口TTY等。
SPI/I2C support
Sound card support 声卡

10、Firmware Drivers (BIOS相关,部分系统管理工具可能会用到 )
11、File systems (文件系统支持,重要!)

The Extended 4 (ext4) filesystem
Ext4 Security Labels <=== 取消 SELinux 支持
XFS filesystem support
ISO 9660 CDROM file system support
NTFS file system support

12、Kernel hacking (内核调试相关,木有用过)
13、Security options (安全相关选项)

Cryptographic API —> // 加密API ,这部分选项会根据此前的优化自动调整

编译配置内核步骤

以Linux3.5内核版本为例,先解压linux-3.5源码,
然后cd到目录中输入:

make menuconfig ARCH=arm

根据硬件选择处理器选型(配置):

网络协议配置(可根据软硬件需求对其进行裁剪):

设备驱动:图是网卡驱动

根据自己的芯片选择相应的网卡驱动

文件系统选择:比如系统想使用ex4文件系统 就空格勾选上

图中取值方式:<>为不选择, <*> 则压缩到内核映像zImage放到内存中运行,< M>为编译成moudule内核模块,存放在ROM中,使用时由zImage调用动态加载到内存

在makemenuconfig里面选中的 都会在.config文件中查询到:(相关Cofig配置成y,则编译内核代码时会将此相关代码编译,此时为静态编译)


选择好后就make进行编译内核,编译完成会在arch/arm/boot目录下生成zImage,这就是内核映像文件,直接可以烧进板子(SD卡或者USB) 制作文件系统步骤

首先安装工具包linux_tools.tgz

tar xvzf linux_tools.tgz -C /

然后生成文件系统镜像文件(qtopia_qt4.img)

make_ext4fs -s -l 314572800 -a root -L linux rootfs_qtopia_qt4.img rootfs_qtopia_qt4

执行make_ext4fs命令之后即会将rootfs_qtopia_qt4文件打包成 rootfs_qtopia_qt4.img 文件系统镜像。

l314572800“是分区大小 -s就是生成ext4的S模式制作;314572800/1024/1024 = 300M-a root 是指这个img用于Linux系统(若为-a system即表示为android系统,挂载点即是/system。./rootfs_qtopia_qt4.img 表示在当前目录下生成镜像文件。./rootfs_qtopia_qt4 指定根文件系统源路径

可以把自己写的应用程序放到rootfs_qtopia_qt4这个里面,然后打包成ext4文件系统镜像文件,这样应用程序就在固定在系统里,不用再二次安装了。

重点解释下:make_ext4fs 命令用来制作ext4文件系统的镜像,首先要把工具包解压到usr/曾经的月饼 。使用方法参考:

make_ext4fs -s -l 512M -a system system_new.img system

512M表分区大小 第一个system表示挂载点为/system, 第二个system表示system目录。
新生成的system_new.img就可以用来烧写了。

文件系统和根文件系统区别联系

很多人分不清文件系统和根文件系统的区别和联系:

个人理解,所谓根文件系统(Root Filesytem)就是要包括linux启动时所必须的目录和关键性的文件、命令,所组成整个文件目录结构,即为根文件系统。
例如linux启动时所需要的init文件 linuxrc 挂载分区时linux去找的/etc/fstab 这个挂载文件等,根文件系统还包括许多应用程序曾经的月饼、s曾经的月饼目录等。
根文件系统可以用busybox直接生成

所谓文件系统(File System):指的是用来方便管理文件存储和数据组织的一种方法。常见的linux文件系统:NFS 网络根文件系统、YAFFS2针对nandflash, EXT3,EXT4 等。还有如大家熟悉的Windows下FAT、FAT32、NTFS系统等
文件系统需要根据系统类型和硬件支持,使用打包工具(如Make_ext4)生成

参考链接:http://blog.csdn.net/HowieXue/article/details/76696631

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。