my blog my blog

Tag: Linux
RT3370 USB无线网卡linux驱动编译安装教程

 

最近同学从淘宝上搞了个信号加强的USB网卡,让奶牛来做测试,结果在linux下发现没有驱动,很纠结,遂手动编译驱动搞定之。把方法做下mark。因为lsusb可以看到网卡的型号,所以先在arch linux下尝试用AUR找了一下,结果发现AUR提供的编译程序下载不到驱动的源码,而且还不是网络的原因,然后就小纠结滴自己找源码,看到blogspot上一篇介绍,然后就cp一份,测试成功。

1.首先下载驱动源码包。点此下载RT3370 USB无线网卡Linux驱动源码包

2.

  1. tar xf 2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO.bz2 
  2. 修改Makefile第 12 行,把 CHIPSET = 5370 改成 CHIPSET = 3370 
  3. 修改os/linux/config.mk第 56 行,把 HAS_WPA_SUPPLICANT=n 改成 HAS_WPA_SUPPLICANT=y 
  4. 第 60 行,把 HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=n 改成HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y 
  5. 修改 chips/rtmp_chip.c 的 469 行 到471 行, remark 掉,即前面加上 // ,如下: 
  6. //if (IS_RT3390(pAd)) 
  7. //    RT33xx_Init(pAd); 
  8. //else 
  9. make 
  10. make install 

3.reboot下搞定

此方法对RT3070 RT3370 RT5370 RT5372等网卡均有效

Arch Linux启用Systemd后syslog无法正常工作解决方法

 

Arch Linux启用systemd后,很多服务都被替换掉了,当然syslog也不例外,被Systemd Journal所替代。所以开机会提示syslog.sock错误,因为sysvinit的syslog的socket已经不能正常工作了,所以我们需要更改使其正常使用。

  1. sudo vim /etc/syslog-ng/syslog-ng.conf 
  2. 将下列代码插入source src段 
  3. source src { 
  4.     unix-dgram("/run/systemd/journal/syslog"); 
  5.     internal(); 
  6.     file("/proc/kmsg"); 
  7. }; 

然后执行

  1. sudo systemctl enable syslog-ng.service 

启动服务就可以正常了。

Linux Deepin 2012 用户与开发者大会地址确定

 

会议信息

时间:2012 年 9 月 22 日,下午 1:30
地点:北京辉煌国际大酒店(五家尧大酒店)
地址:北京市海淀区上地十街辉煌国际 3 号楼(西二旗地铁站附近)
主办:武汉深之度科技有限公司 & Linux Deepin 开源社区

地图

报名简介

凡到会者均有 Linux Deepin 社区礼品赠送,欢迎各位报名,请将报名信息发送至 [email protected] 邮箱。

邮件内容格式如下:
____________________________
真实姓名:网络 ID(可选)
联系电话:(手机/固定电话)
工作单位/学习单位:
使用 Linux 的经历(简单介绍即可):
其他想说的话:
____________________________

具体报名信息可参考:《Linux Deepin 2012 用户与开发者大会开始报名》

演讲人

*Linux Deepin 社区
王勇
李楠

*嘉宾
GitCafe 负责人
WPS 代表
搜狗输入法代表

更多消息请移步http://planet.linuxdeepin.com/2012/09/10/linux-deepin-2012-uad-address-and-other-info/

关于64位linux系统无法执行32位程序的解决方法

 

前阵子就是因为32位lib的关系没有正常执行永中office安装,当然,我的问题不是缺少32位库,而是64位的库也有问题,呃,这个今天不讨论了,今天就说说最基本的解决方案。

当你执行一个32位程序的时候,你可能会发现提示No such file or directory,这就是说明你的64位系统没有安装32位的lib库,如何知道一个程序是32位还是64位呢,也很简单,可以通过readelf来看。呃,如果你确定你执行的是32位程序,而你是64位系统,则出现No such file or directory错误就是因为你缺少了32位的库文件。解决方法也很简单:

对于Arch Linux用户:

添加下面几行到 /etc/pacman.conf 启用该软件仓库:

  1. [multilib] 
  2. Include = /etc/pacman.d/mirrorlist 

然后执行:

  1. sudo pacman -Syy 
  2. sudo pacman -S lib32-glibc 

对于Ubuntu用户:

  1. sudo apt-get install ia32-libs 

对于fedora用户:

  1. sudo yum install glibc.i686 

一般的程序就可以运行了,当然也可能还需要一些其它的32位库,可根据实际情况来解决。

LFS指导文档7.2下载

 

LFS:Linux From Scratch

就是构建linux系统啦,从最开始的神马都没有,一个包一个包的编译,然后最后生成一个linux系统,整个过程就是一个学习的过程,奶牛已经照着lfs的手册做了一些了,对于很多东西都有了新的理解。因为也不知道有没有翻译,感觉看原版问题也不是很大,很详细,所以提供下下载。

点此下载LFS 7.2 BOOK PDF

点此下载LFS 7.2 wget-list

过程呢:首先你要有一个可以运行的linux系统,比如ubuntu,arch等,然后就是一个分区啦,当然你也可以用文件夹代替,不过最后的时候还要处理。需要网络环境下载一个需要包的源码list,然后呢就是一步接一步的做了,不要下载官方的那个live cd,已经老到不适用7.0以后的版本啦。

建议使用虚拟机来完成,因为vbox跟vmware workstation都有暂停功能(vbox有快速休眠),可以省去很多麻烦。

Arch Linux安装教程(版本2012.08.04)

 

Arch Linux这个月放了一个新的镜像出来,但是由于去掉了AIF这个Arch Linux安装框架,所以很多东西都需要自己手动来做了,对于新手来说,这里直接不建议安装Arch Linux了,因为你们装不上,没有基础估计连官方的教程也看不明白。所以,最新这次的Image还是建议有一定基础的朋友来进行安装,当然,你也可以用从前的镜像安装,然后升级。好了,前提讲到这里,我们开始安装吧。

 过程:引导—>配置分区—>配置网络—>挂载—>安装系统—>配置系统—>安装引导—>卸载重启

1.引导

各种方法,硬盘,U盘,光盘,网络,不介绍

2.引导进入系统后,就可以对分区进行操作了。

用到程序cfdisk,命令

  1. cfdisk /dev/sda

然后分区搞定后进行格式化,命令mkfs

3.分区搞定后进行联网,dhclient默认可以直接用的,如果你在路由下,如果不是,那么手动配置,也不介绍

4.挂载,命令mount

  1. mount /dev/sdaX /mnt 

将分区挂载到mnt目录下,mnt就是虚拟的根目录,所以,你需要把你的root挂在这里,然后把你的boot挂在root下面

5.安装,命令pacstrap,不过在这之前要配置下mirrorlist

  1. vi /etc/pacman.d/mirrorlist 

将其中国内的源提前在第一个源之前,否则下载龟速。

然后开始下载安装:

  1. pacstrap /mnt base base-devel 
  2. pacstrap /mnt grub-bios 

6.配置系统

  1. genfstab -p /mnt >> /mnt/etc/fstab   文件系统表保存下 
  2. arch-chroot /mnt  切换到新系统的根 
  3. vi /etc/hostname  编辑主机名 
  4. vi /etc/locale.conf   编辑语言字符支持 
  5. locale-gen 刷新一下 
  6. mkinitcpio -p linux 
  7. passwd root   更改密码 
  8. grub-install /dev/sda 装引导 
  9. vi /boot/grub/grub.cfg   配置启动文件 

7.exit各种退出,然后umount掉分区,重启就ok了。

最后引用自己微博的一句话:Arch Linux最新镜像安装,新手看http://t.cn/zW3e4rj ,老手看http://t.cn/zWox3Pr

比奶牛的这个要详细一些,不过还是需要一定基础哦。勿喷,本文仅作个人记录,不是详细教程。

windows系统通过grub4dos引导linux系统教程

 

安装系统呢,难免会有各种问题存在,比如grub安装失败(虽然不是很常见,但是还是会出现)。今天奶牛就来说下对于双系统如何用windows引导起来已经安装好的但是引导没有安装成功的linux系统,这里以fedora为例,ubuntu哇,Arch Linux哇道理也是一样的。安装的情况是这样子的,前面都是正常的安装,然后分区挂载点选择好了之后就开始安装了,但是安装最后一步写入grub的时候提示:

  1. There was an error installing the bootloader. 
  2. The system may not be bootable. 

因为没有写入grub的引导,所以windows是可以正常启动的,进入windows后我们需要安装一个grub4dos。对于grub4dos的安装可以自行google求助,这里不讲,讲下如何手动引导进入linux系统。

  1. title Fedora 17 
  2. root (hd0,4) 
  3. kernel /boot/vmlinuz-3.3.4-5.fc17.x86_64 root=/dev/sda5 
  4. initrd /boot/initramfs-3.3.4-5.fc17.x86_64.img 
  5. boot 

先进入grub4dos的引导,然后选择c进入命令行模式,输入root (hd0,然后按tab,看看自己的linux所在的分区情况。这里详细说下,对于只有根分区跟根分区与boot分区分离的两种情况的引导方式。

第一行root (hd0,4)是你的boot所在的分区,也就是有内核引导文件的分区,而kernel行root=后面的则是你的根所在的分区,而且sda后面的数字是比hd0后面的数字大1的。

这样子来说吧:情况1,只有/分区的时候,因为boot也在/分区下,所以root的进入的是同一个root,所以如上面的引导形式就可以正常引导了。情况2,有/boot分区与/分区的情况下,上面的命令行就需要改变了。比如你的boot在sda4,/在sda5,那么上面的形式应该变为:

  1. title Fedora 17  
  2. root (hd0,3)  
  3. kernel /vmlinuz-3.3.4-5.fc17.x86_64 root=/dev/sda5  
  4. initrd /initramfs-3.3.4-5.fc17.x86_64.img  
  5. boot  

看到变化没有。仔细看下你就明白了。title下的root是boot的所在目录,而文件是由这个root决定的,在linux系统中,boot分区是挂载在根分区的boot文件夹下的,所以在boot分区中,并没有boot文件夹的。

手动的时候输入(hd0,tab可以看到分区的具体情况,kernel /后tab可以看到文件系统下的文件,避免问题,所以根据具体的文件来填写,上面只是范例,initrd行同理的。当两行都输入完成后就输入boot应该就可以正常启动了,当启动都正常后把正常的引导行写回menu.lst就好了。

当然,kernel行可以加一些其它的参数的,这里没有加,可以参考grub.cfg中的参数自行增加就可以了。

关于用VNC管理KVM VPS的说明

 

可能很多建站哇或者需要搭建Linux服务器的朋友会购买KVM VPS,而提供了VNC管理的VPS也不少,后台直接用vnc管理的话需要java runtime environment的支持,所以你必须先安装一个java,更简单的方案是使用tightVNC客户端,然后填入VNC管理的ip跟端口,端口跟ip信息可以在你的control panel中的vnc setting中看到,然后填入就可以正常使用了。

ps,ip地址的写法是这样子的:192.168.1.1:7000 ,这是一个例子,就是说ip跟端口中间要用一个英文状态的:来分隔。这个是固定的写法,木有域名而直接用ip的某个端口提供服务也可以这样子直接访问。比如http默认是80,ftp默认是21等等。

Arch Linux启动增加break参数可以直接进入一个root shell

 

在grub的Arch linux启动行增加break参如果break 或者 break=premount 被指定,init 暂停启动过程(在加载钩子之后,但是在挂载根文件系统之前) 然后启动一个交互的 shell,可以用来解决一些启动问题。这个 shell 可以在root被指定的break=postmount挂载之后启动。正常的启动过程可以在退出这个 shell 之后继续。
break=postmount参数增加后,系统启动到一个root shell,分区被挂载到new_root文件夹下,你可以用常用命令对这个目录进行操作咯~~~可以解决一些因为没有援救盘的问题。

详细可以参考:

mkinitcpio

mkinitcpio (简体中文)

 

Arch Linux的/lib目录改为指向/usr/lib的软链接

 

最近更新Arch Linux的朋友请注意,glibc包要单独更新哦,如果用–force更新会出问题。

所有 Arch 软件包都已将 /lib 目录中的文件移入 /usr/lib ,现在要把 /lib 更改为指向 usr/lib 的链接。此次升级时,pacman 很有可能检测到 /lib 文件冲突。最简单的解决方案是:

  1. pacman -Syu --ignore glibc 
  2. pacman -Su