i386

linux下对rpm源码手工打补丁

十年热恋 提交于 2019-11-28 08:19:38
前言   通常情况rpm包组件管理方式下的linux环境,常用打补丁的方式只有一种: 修改spec文件定义的Patch和patch字段 ,其实spec文件中调用的底层命令还是patch. 因为业务需要要编译内核,需要测试某一阶段不同补丁对内核的影响,但是通过修改spec文件进行编译时每次都是全量编译, 验证周期非常长 ,因为执行rpmbuil -bp SPECS/xxx.spec --define="_topdir `pwd`"会重建BUILD目录; 问题思考   分析spec中打补丁的本质是调用patch进行打补丁,所以考虑对BUILD下源码目录进行手工打补丁,这样不会每次重建BUILD目录,可以利用Make -j num_of_thread方式进行增量编译,可以快速缩短验证周期; 内核编译注意事项: 解决办法 基本命令语法: patch [-R] {-p(n)} [--dry-run] < patch_file_name p:为path的缩写。 n:指将patch文件中的path第n条’/’及其左边部分取消。 -R:卸载patch包。 --dry-run:尝试patch软件,并不真正修改软件。 使用实例: /home/sense/patch-2.6.19.1 ============================================================

硬盘安装系统方法

别等时光非礼了梦想. 提交于 2019-11-28 05:32:30
硬盘原版安装xp: 1、在U盘启动WinPE系统后,将XP SP3系统镜像ISO文件从U盘上复制到硬盘的非系统分区后,用PE所带WinRAR程序将该ISO镜像中的I386文件夹解压到该分区的根目录下,如D:/I386。 2、直接拔出U盘。原因:不拔掉的话下步的复制安装文件是复制到U盘上而不是复制到了C盘中。因PE系统实际是运行在内存中,拔出U盘不影响PE系统和程序的运行。 3、进入I386文件夹,双击运行其中的Winnt32.exe,出现XP系统安装界面。该界面与我们平时在Windows系统中重装XP系统的界面一样。 到这里就像光盘那样安装了,下一步.... 值得注意的是: 1、C盘和放I386的分区的格式一定要为 FAT32,要是为NTFS的话 执行 winnt32.exe的时候就会报错。 2、如果你分区是NTFS的在格式化成FAT32后,执行winnt32.exe还是报错的话,重启再执行就没问题了。 以上是本人亲自实践过的! 用硬盘安装原版win7 : 1、下载windows 7 7057ISO镜像,用虚拟光驱拷贝至非C盘(如D:\7057) 2、把D:\7057目录下的bootmgr和boot目录(其实只要里面的boot.sdi和bcd文件)拷贝到c盘根目录下,并在C盘根目录下建个sources文件夹。(XP下不需要取得管理员权限) 3、把D:\7057

i386 vs. AMD64 ABI Differences

徘徊边缘 提交于 2019-11-28 01:20:57
Where can I find all the differences in data types between the i386 & AMD64 Application Binary Interface(ABI)s ? I know that the long type is 32-bit in i386 ABI & 64-bit in AMD64. Is this correct? Necrolis I suggest you download Dr Agner Fog's optimization manuals . He has a manual specifically about ABIs and their differences. For differences in the instruction set between 32-bit mode and 64-bit mode, both Intel and AMD's instruction manuals should cover this in the introductory volume or the volumes after the instruction volumes( 2a and 2b for Intel's instruction set reference , or 2 and 3

Linux基础命令:rpm

老子叫甜甜 提交于 2019-11-27 22:10:38
linux之rpm详解 rpm常见参数 用法: rpm [选项...] -a:查询所有套件; -b<完成阶段><套件档>+或-t <完成阶段><套件档>+:设置包装套件的完成阶段,并指定套件档的文件名称; -c:只列出组态配置文件,本参数需配合"-l"参数使用; -d:只列出文本文件,本参数需配合"-l"参数使用; -e<套件档>或--erase<套件档>:删除指定的套件; -f<文件>+:查询拥有指定文件的套件; -h或--hash:套件安装时列出标记; -i:显示套件的相关信息; -i<套件档>或--install<套件档>:安装指定的套件档; -l:显示套件的文件列表; -p<套件档>+:查询指定的RPM套件档; -q:使用询问模式,当遇到任何问题时,rpm指令会先询问用户; -R:显示套件的关联性信息; -s:显示文件状态,本参数需配合"-l"参数使用; -U<套件档>或--upgrade<套件档>:升级指定的套件档; -v:显示指令执行过程; -vv:详细显示指令执行过程,便于排错 一、简介 RPM是RedhatPackageManager的缩写,是由RedHat公司开发的软件包安装和管理程序,同Windows平台上的Uninstaller比较类似。使用RPM,用户可以自行安装和管理Linux上的应用程序和系统工具。RPM可以让用户直接以binary方式安装软件包

Building ffmpeg iOS libraries for armv7, armv7s, arm64, i386 and universal

馋奶兔 提交于 2019-11-27 20:49:46
I have seen several scripts to build FFmpeg API for armv7, 7s and i386 but couldn't find anything which would work for armv64 as well. Some of the answers on other threads of this forum suggested to prepare a separate library for arm64 but it does not work well with rest of the architectures. Hence I need a script which can work for all the supported architectures for iOS including armv7, armv7s, armv64 and i386. I have use below scripts for making FFmpeg build for arm64 https://github.com/kewlbear/FFmpeg-iOS-build-script https://github.com/bbcallen/ijkplayer/blob

linux yum 命令

こ雲淡風輕ζ 提交于 2019-11-27 14:57:15
linux yum 命令 yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。 基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。 yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。 yum 语法 yum [options] [command] [package ...] options: 可选,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。 command: 要进行的操作。 package 操作的对象。 yum常用命令 1.列出所有可更新的软件清单命令:yum check-update 2.更新所有软件命令:yum update 3.仅安装指定的软件命令:yum install <package_name> 4.仅更新指定的软件命令:yum update <package_name> 5.列出所有可安裝的软件清单命令:yum list 6.删除软件包命令:yum remove <package_name> 7.查找软件包 命令:yum search <keyword> 8.清除缓存命令: yum clean

linux命令 rpm

非 Y 不嫁゛ 提交于 2019-11-27 09:28:54
一、简介 RPM是RedhatPackageManager的缩写,是由RedHat公司开发的软件包安装和管理程序,同Windows平台上的Uninstaller比较类似。使用RPM,用户可以自行安装和管理Linux上的应用程序和系统工具。RPM可以让用户直接以binary方式安装软件包,并且可替用户查询是否已经安装了有关的库文件;在用RPM删除程序时,它又会聪明地询问用户是否要删除有关的程序。如果使用RPM来升级软件,RPM会保留原先的配置文件,这样用户就不用重新配置新的软件了。RPM保留一个数据库,这个数据库中包含了所有的软件包的资料,通过这个数据库,用户可以进行软件包的查询。RPM虽然是为Linux而设计的,但是它已经移值到SunOS、Solaris、AIX、Irix等其它UNIX系统上了。RPM遵循GPL版权协议,用户可以在符合GPL协议的条件下自由使用及传播RPM。 二、配置 RPM包管理的配置文件是rpmrc,可以使用如下命令进行查找 # locate rpmrc 可以通过如下命令进行查看 rpm --showrc 三、功能 1、初始化rpm 数据库功能; 通过rpm 命令查询一个rpm 包是否安装了,也是要通过rpm 数据库来完成的;所以我们要经常用下面的两个命令来初始化rpm 数据库; [root@localhost beinan]# rpm --initdb

Unexpected GCC inline ASM behaviour (clobbered variable overwritten)

自闭症网瘾萝莉.ら 提交于 2019-11-27 07:10:30
问题 On my computer, the compiled executable omits executing "mov %2, %%ax" at the top of the loop when "add %1, %%ax" uncommented. Anyone to doublecheck or comment ? #include <stdio.h> int main() { short unsigned result, low ,high; low = 0; high = 1; __asm__ ( "movl $10, %%ecx \n\t" "loop: mov %2, %%ax \n\t" // "add %1, %%ax \n\t" // uncomment and result = 10 "mov %%ax, %0 \n\t" "subl $1, %%ecx \n\t" "jnz loop" : "=r" (result) : "r" (low) , "r" (high) : "%ecx" ,"%eax" ); printf("%d\n", result);

Division and modulus using single divl instruction (i386, amd64)

…衆ロ難τιáo~ 提交于 2019-11-27 06:54:47
问题 I was trying to come up with inline assembly for gcc to get both division and modulus using single divl instruction. Unfortunately, I am not that good at assembly. Could someone please help me on this? Thank you. 回答1: Yes -- a divl will produce the quotient in eax and the remainder in edx. Using Intel syntax, for example: mov eax, 17 mov ebx, 3 xor edx, edx div ebx ; eax = 5 ; edx = 2 回答2: You're looking for something like this: __asm__("divl %2\n" : "=d" (remainder), "=a" (quotient) : "g"

安装postgreSQL出现configure:error:readline library not found解决方法

守給你的承諾、 提交于 2019-11-27 05:07:50
要安装 readline , readline-dev 开发包,要么使用 --without-readline 选项关闭 readline 功能。 #yum install readline; #yum install readline-dev; readline 也就是命令行编辑,关闭的话,你直接用psql 就不能编辑命令行,如果输错指令,不能回滚命令历史记录,只能手工重新输入。 在安装postgreSQL的过程中遇到一个问题,在执行 configure 过程中报以下错误,configure: error: readline library not found ,可是我在系统中安装 readline 包了, 1 环境信息 2 根据提示,测试了下 configre命令,果然报这个错 [root@HK81-107 postgresql-9.0.0]# ./configure checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu checking which template to use... linux checking whether to build with 64-bit integer date/time support... yes