定制的linux(Linux软件大全)
大家好,关于定制的linux很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于Linux软件大全的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!
linux核心的许可证是什么
Linux核心的许可证是GNU通用公共许可证(GNU General Public License,简称GPL)。
Linux核心,也被称为Linux内核,是Linux操作系统的核心组件,负责管理系统硬件和软件资源,提供基本的服务和功能。Linux核心的许可证对于Linux的发展和开源社区的繁荣起到了至关重要的作用。
GNU通用公共许可证是一种广泛使用的开源软件许可证,它保证了用户对于软件的自由使用权,包括使用、研究、修改和分发软件的自由。这种许可证的核心思想是“自由软件”,即软件应该是自由的,用户应该能够自由地控制和使用软件。
在GPL许可证下,任何对Linux核心的修改和改进都必须以相同的许可证发布,即修改后的代码也必须开源。这种“传染性”的许可证确保了Linux核心及其衍生作品的开放性和透明度,促进了开源社区的合作和创新。
例如,许多公司和开发者在Linux核心的基础上开发了各种定制化的Linux发行版,如Ubuntu、Fedora和Debian等。这些发行版都遵循GPL许可证,保持了Linux核心的开放性和自由性,同时也为用户提供了更多的选择和功能。
总的来说,GNU通用公共许可证为Linux核心的发展提供了强大的法律保障和社区支持,确保了Linux的开放、自由和持续创新。
linux是什么操作系统
Linux是一种自由和开放源代码的类Unix操作系统。
Linux系统最初由林纳斯·托瓦兹在1991年创建,它基于Unix的设计哲学,并借鉴了许多Unix系统的功能和工具。Linux内核是操作系统的核心部分,负责硬件管理、进程调度、内存管理、设备驱动等底层任务。此外,Linux还包括了许多用户空间工具和应用程序,如Shell、文本编辑器、网络工具等,这些工具和应用程序共同构成了完整的操作系统。
Linux操作系统的最大特点是其开放性和可定制性。由于Linux的源代码是公开的,任何人都可以查看、修改和分发这些代码。这使得Linux社区非常活跃,有大量的开发者和用户参与到Linux系统的改进和优化中。此外,由于Linux的可定制性,用户可以根据自己的需求选择不同的软件包和配置,以构建出最适合自己的操作系统。
Linux操作系统的应用领域非常广泛,包括服务器、嵌入式系统、移动设备和个人电脑等。由于其高效稳定、安全可靠的特性,Linux系统成为了很多企业和组织的首选操作系统。同时,由于Linux的开源性,许多开源软件和工具也优先在Linux系统上运行,这为开源生态系统的发展提供了强有力的支持。
总的来说,Linux是一种功能强大、灵活多变、高度可定制的操作系统。它的开源性和开放性使得它成为了开源社区和软件生态系统的核心组成部分,同时也为广大用户提供了更多选择和可能性。
如何定制自己的linux内核
一前言
为什么要编译自己的内核?这可能会有各种不同的答案,列举如下:
1为了研究,学习内核源码。
2为了支持新的硬件或者打开某项内核功能。
3升级内核到更新版本。
4按自己的要求定制和优化内核功能。
如此种种...
折腾不需要理由,这里我就不在多说,下面直接进入主题。
编译方式
编译内核有多种方式,从kernel.org下载选择下载需要的版本的内核源码,
如:linux-2.6.32-rc1.tar.bz2,下载内核源码到/home/user/目录,进入下载目录,解压压缩包。
#cd/home/user/
#tar-xjvf linux-2.6.32-rc1.tar.bz2
二准备编译环境
开始之前,首先确认下面软件包已经安装(编译中标普华4.0时,直接全部安装CD3可保证此条件)。
* rpmdevtools
* yum-utils
fedora系统可以使用如下命令安装:
#yum install yum-utils rpmdevtools
1.生成一个rpmbuild命令工作所需的目录树,下面命令可以完成该操作,也可以手动建立目录树。
命令建立:
#rpmdev-setuptree
此命令将会在/usr/src/rpmbuild/目录下生成如下目录结构(如果此位置没有,则可能在当前用户目录下).
# tree/usr/src/rpmbuild/
rpmbuild/
|-- BUILD
|-- RPMS
|-- SOURCES
|-- SPECS
`-- SRPMS
上面部分是rpmbuild的环境建立。rpm
3.安装内核源码包需要的依赖组件(在此可以跳过此步操作)
su-c'yum-builddep kernel-<version>.src.rpm'
4.安装内核源码到系统,默认目录在/usr/src/neoshine:
rpm-Uvh kernel-<version>.src.rpm
三配置内核(生成config配置文件)
下面将介绍如何解开源码包,并修改,配置和重新打包源码
1.解开源码包并打上所有的补丁到BUILD目录
cd~/rpmbuild/SPECS
rpmbuild-bp--target=`uname-m` kernel.spec
kernel源码将在这里找到:
/usr/src/neoshine/rpmbuild/BUILD/kernel-<version>/linux-<version>.<arch> directory
配置内核源码
1.进入内核源码:
cd~/rpmbuild/BUILD/kernel-2.6.$ver/linux-2.6.$ver.$arch/
2.复制/boot/config*配置文件到源码目录下,此config文件也可以是已经配好或者其他地方备份的kernel配置文件:
cp/boot/config2.6- 2.6.$ver.$arch.config
3.先检查kernel配置中新增的选项:
make oldconfig
4.定制内核功能,关闭initrd支持选项,执行图形化内核配置工具:
make menuconfig
注:在generic setup选项下找到initial RAM system and RAM disk(initramfs and initrd) support项,取消编译。同时确保跟文件系统对应的驱动和系统所在存储器对应的驱动都已经编译到内核(否则会无法启动系统).
5.在.config文件第一行改为下面内容(注意:没有此行时,后面的编译会报错)
# i386
6.拷贝.config到SOURCES/:
cp.config../SOURCES/config-$arch
四编译新内核
1.下面开始准备编译新的内核包
打开SPEC/kernel.spec
vim SPEC/kernel.spec
改变下面行内容,可以定制自己的内核扩展名(如fc10之类):
%define buildid.<自己内核的小版本名>
下一步将生成一个新内核的rpm包,此过程需要编译内核源码包
使用下面命令生成新的内核源码包
rpmbuild-bb--with baseonly--without debuginfo--target=`uname-m` kernel.spec
参数说明:bb表示只编译二进制包,即不生成源码包,without debuginfo表示没有调试信息,
target=`uname-r`表示生成对应当前平台的内核包
如果上面的命令成功执行完成,那么会在BUILD/i686目录下生成新的内核安装包
五安装新内核
rpm-ivh kernel-$ver-$arch.rpm
此步操作会自动安装内核到boot目录下,安装对应内核模块到/lib/modules/目录下,并且生成新内核对应的grub引导菜单。
修改grub引导菜单为以下格式
title new kernel
kernel/boot/vmlinuz-$ver-$arch root=/dev/sdax(hdax)
注意,此处不要使用uuid指定跟文件系统(可能会无法挂载根分区而导致内核死机),也不要再加和显示相关的参数(内核不支持对应设置时,只会看到一个黑黑的屏幕)。
至此一个禁用initrd的新内核配置安装完毕!