kernel

centos5,6的GRUB简介

三世轮回 提交于 2020-02-22 18:29:56
grub:GRand Unified Bootloader grub 0.x:grub legacy(centos5,6) grub 1.x:grub2(centos7) grub legacy(grub 0.x) stage1:mbr stage1_5:mbr之后的扇区,让stage1中的bootloader能识别stage2所在的分区上的文件系统 stage2:磁盘分区(/boot/grub/) centos6: # ls /boot/grub/ device.map fat_stage1_5 grub.conf jfs_stage1_5 minix_stage1_5 splash.xpm.gz stage2 vstafs_stage1_5 e2fs_stage1_5 ffs_stage1_5 iso9660_stage1_5 menu.lst reiserfs_stage1_5 stage1 ufs2_stage1_5 xfs_stage1_5 stage2和内核,通常放置于基本的磁盘分区,不可以是lvm和软raid。读取lvm和软raid分区,是需要根文件系统里的驱动程序的,这时根文件系统还没有加载。 根文件系统,一般都是逻辑分区,以方便扩容和管理,如果/boot也和根文件系统在同一个分区里的话,由于grub程序无法加载逻辑分区里的文件,所以就无法访问/boot目录

Centos 5.5 更新网卡驱动 bnx2 version: 2.0.2

风流意气都作罢 提交于 2020-02-22 14:00:44
操作系统:CentOS release 5.5 (Final) 故障现象 : 网卡无故自动down掉,使用service network restart 重启后没多久又会自动down , 连接数大概在200个左右,没有arp攻击 ; 网卡信息: [root@qs-wg-web2 ~]# cat /var/log/dmesg |grep eth0 eth0: Broadcom NetXtreme II BCM5709 1000Base-T (C0) PCI Express found at mem d6000000, IRQ 90, node addr 842b2bfac367 当前网卡驱动: [root@qs-wg-web2 ~]# ethtool -i eth0 driver: bnx2 version: 2.0.2 firmware-version: 5.2.3 NCSI 2.0.10 bus-info: 0000:01:00.0 下载最新网卡驱动: http://www.broadcom.com/support/ethernet_nic/netxtremeii.php 安装更新驱动: [root@qs-wg-web2 ~]# unzip linux-7.4.27.zip Archive: linux-7.4.27.zip creating: Server/Linux

ubuntu下简单的驱动编译

北慕城南 提交于 2020-02-21 05:16:42
转自:http://www.eefocus.com/jefby1990/blog/13-02/291628_c39b8.html 本文是参考了网上多篇帖子而写的算不上什么原创。唯一值得欣慰的只不过在本机上实现罢了。因为毕竟失败了几次。也因为本人是初学驱动编程 很多简单的问题在我来说是相当的困难的。望有识之士不要笑话。最后,希望本文能给刚学驱动而还没开头的人提供一些帮助。 刚看 O'REILLY 写的《LINUX 设备驱动程序》时。作者一再强调在编写驱动程序时必须 建立内核树。所谓内核树,我的理解和网上资料说的一致就是内核源码的一种逻辑形式。那怎么建立呢?为此上网“翻云覆雨”起来而结果却是“惨败而归“。 为 此托了一天又4个小时(当然包括吃饭睡觉的时间),连个简单的 hello wrold 都没实现。(书中p22页最简单也最没用的驱动事列) 不 过功夫不负有心人。在今天终于弄明白了怎么回事。下面就请让我慢慢道来吧。 先查看自己OS使用的内核版本 shana@shana:~$ uname -r 2.6.22-14-generic /* 这是我显示的结果 */ 如果安装系统时,自动安装了源码。在 /usr/src 目录下有对应的使用的版本目录。例如下(我是自己下的) shana@shana:/usr/src$ ls linux-headers-2.6.22-14 linux

Greenplum installation guide

不想你离开。 提交于 2020-02-21 02:04:34
Envireronment: VMware® Workstation 12 Pro 12.0.1 build-3160714(Host: Windows 7 Ultimate) Centos 6.5 x64 Greenplum 4.3.8.0 Resource: Greenplum 4.3.8.0(greenplum-db-4.3.8.0-build-1-RHEL5-x86_64.bin) 下载 规划 角色 数量 内存 CPU master 1 4GB 1*2 core master mirror 1 4GB 1*2 core segment(mirror) 3 4GB 1*2 core Envireronment setup: 在VMware中安装5台虚拟机,操作系统为Centos 6.5。 mdw smdw sdw1 sdw2 sdw3 网络设置(每台) 设置主机名称 vi /etc/sysconfig/network 1 NETWORKING=yes 2 HOSTNAME=mdw View Code 安装ifconfig(如果已经安装,可以跳过) yum install net-tools.x86_64 设置静态IP(防止重启后DHCP分配新的IP) vi /etc/sysconfig/network-scripts/ifcfg-eth0 1 DEVICE="eth0" 2

ASP.NET MVC学前篇之Ninject的初步了解

a 夏天 提交于 2020-02-17 23:20:11
ASP.NET MVC学前篇之Ninject的初步了解 1.介绍 废话几句。Ninject是一种轻量级的、基础.NET的一个开源IoC框架,在对于MVC框架的学习中会用到IoC框架的,由于这样的IoC开源框架有非常多,本篇的主题仅仅有一个,就是让阅读过本篇幅的朋友逗知道IoC框架在项目中的作用,以及它的重要性。 这样做的目的是以便在以后的学习工作中选择自己中意的一个IoC框架来学习、使用,或者是自己去实现一个。好了,不废话了。 2.环境准备 1.新建个4.0Framework的一个控制台应用程序项目,名称为IoCDemo 2.在 http://www.ninject.org/download 网页中,下载Version 2.2版本号的Ninject程序集(之前版本号的不支持4.0库)。下载完毕解压后会看到如图1里的几个文件,在这里你仅仅须要关心名称为Ninject的文件,其他的忽略掉。 图1 3.在项目中新建个Lib文件夹,并把Ninject.dll、Ninject.pdb和Ninject.xml三个文件复制到文件文件夹下,而且加入引用到项目中。 如图2: 图2 环境准备工作做好了,能够安心的来看演示样例了。捎带一句Ninject.xml文件是程序集文件的凝视。只是都是英文的,对于姿势水平不高的屌丝来说这并不算是福利。当然也包含本人。(ps:谷歌翻译什么的非常好用) 3.初步认识

【Android】MTK Android 编译命令

泪湿孤枕 提交于 2020-02-17 10:25:10
命令格式:./maketek [option] [project] [action] [modules] Option : -t ,-tee :输出log信息到当前终端 -o , -opt=…… : 编译附加条件,一般使用-opt=TARGET_BUILD_VARIANT=user来编译用户板软件 -h ,help : 打印帮助信息并退出 Project : 工程名,例如:basicom72_wet_jb3 Action : n , new : 重新编译整个工程 c , clean:清理编译时copy的文件及log信息 r , remake:整个工程检查修改部分并编译 listp , listproject: 查看目前所有的project codegen : 生成database nandgen : 生成nand_device_list.h (仅限使用nand flash 时使用) check-env : 检查编译环境是否OK check-dep :检查功能依赖性 check-modem :检查modem update-modem :更新最新的modem.img 到system.img mm : 用来编译APK模块,如:./mk mm package/apps/deskclok emigen : 生成flash相关文件(custom_emi.c/.h) modules : 编译模块

android-partition分析

帅比萌擦擦* 提交于 2020-02-17 10:22:43
转载请注明来源: cuixiaolei的技术博客 这里讲下android的分区。 具体的使用在另一片文章中介绍 ,这里只是把它拿出来介绍。 android的存储分为两种   一种叫做RAM,如emmc标准的ddr3/4,容量比较小   一种叫做ROM,rom大小比较大,如8G/16G/32G/64G/128G。 我们给手机刷机,是把system.img/recovery.img/userdata.img等按照分区表烧写在对应地址的ROM上,这部分叫系统部分,如16G的手机,开机后只有11G,其中5G被这些分区占据了,用户能使用的存储大小为11G。 我们在bootloader阶段会从boot/recovery分区中读取kernel/ramdisk到ram上,然后引导kernel,加载虚拟文件系统ramdisk,启动init,然后读取rom中的文件系统的内容。 在boot.img/recovery.img的内容如下,bootloader会从boot header得到kernel/ramdisk/second/device的大小和要加载到ram上的地址,读取aboot/recovery分区的内容到ram上。 recovery.img/boot.img的构成是一样的,只是里面文件的大小和信息不同,文件名是一样的。 分析boot_img_hdr结构提  kernel_size 

Installation of j1939 for linux kernel [closed]

主宰稳场 提交于 2020-02-16 11:34:00
问题 Closed . This question needs to be more focused. It is not currently accepting answers. Want to improve this question? Update the question so it focuses on one problem only by editing this post. Closed 2 days ago . Can anyone provide a way to install J1939 protocol in linux kernel version 4.1.15? 来源: https://stackoverflow.com/questions/60202658/installation-of-j1939-for-linux-kernel

Installation of j1939 for linux kernel [closed]

会有一股神秘感。 提交于 2020-02-16 11:31:51
问题 Closed . This question needs to be more focused. It is not currently accepting answers. Want to improve this question? Update the question so it focuses on one problem only by editing this post. Closed 2 days ago . Can anyone provide a way to install J1939 protocol in linux kernel version 4.1.15? 来源: https://stackoverflow.com/questions/60202658/installation-of-j1939-for-linux-kernel

linux内核调试方法

无人久伴 提交于 2020-02-16 09:45:30
借助OOPS信息调试 配置串口: 1. vi /boot/grub.conf 说明: Console=ttyS0 对应串口设备 9600 代表波特率 2. 虚拟机上添加串口设备 3. 物理机上配置串口 首先应安装minicom软件 配置minicom # minicom –s 依次选择 Serial port setup -> Serial Device 修改为: /dev/ttyS0 Save setup as dfl Exit from Minicom 启动minicom # Minicom –C 接收文件名 NULL Pointer – 问题分析 当使用了空指针后,内核会产生如上的OOPS信息 使用GDB确定问题代码位置: 1. Gdb ***.ko 2. L* 注:当代码中有释放内存的情况,应该先对该内存置特殊位,以方便代码调试。 实现: 调用: Soft lockup –问题分析 1. Spinlock 应该成对出现 2. 避免spinlock被中断,导致长时间无法放锁,使用spin_lock_saveirq和spin_unlock_restore 3. 自旋锁内不可以有耗时操作,不可以有睡眠。 Stack Overflow –问题分析 死锁问题 callstack显示大量进程尝试获取同一个lock,那么说明有一个进程持有了该lock未释放。 用”echo t >