今天闲的蛋疼给树莓派上nginx的默认页做压力测试

2017年2月11日 没有评论

树莓派2安装最新的ArchLinuxARM,然后安装标准的nginx。压力源使用VS2015中测试项目的WebLoadTest。

第一次没调nginx的工作进程数,第二次调成4个工作进程,于是…….真相如下:

7413978647@chatroom_1486811612135_38

7413978647@chatroom_1486811913517_83

最惨的是我自己的pc跑满了 0C915302

7413978647@chatroom_1486811501740_85

分类: Linux, Web 标签: ,

ArchLinux自2017年3月开始ISO不在支持i686

2017年2月11日 没有评论

1月份刚收了一个带有Raid卡和热插拔笼子的HP瘦客户机,上周刚给他装上2块500G的2.5寸硬盘,做好raid装好Arch,就看到了这个消息。

看到这个消息有点不舒服,不是因为这机器装的Arch一年后就没有更新了,而是突然回首发现已经玩了20年的Linux了。

不说这个了,给大家看看这个奇怪的瘦客户机。原机是HP的T5740,但是加厚扩展了4盘位的盘仓和Raid卡。卡是Sil 3114有点鸡肋,但是能扩充4盘位。机器内部还有一个8G SATA口的SSD。处理器是N280,单处理器,32位,好处就是省电低热。这机器主板不支持加载3114上的硬盘,所以/boot和grub都在这个8G的SSD上面。

638597461837233419

分类: Linux 标签:

使用ArchLinux的AUR

2017年2月8日 没有评论

Archlinux的AUR里面有很多非官方的软件包,但是需要自己编译,编译前还有很多相应的准备工作。需要先安装base-devel这个安装包的组,然后还要安装git。另外还要准备一个非root的账号,并具备sudo的权限。

1.当前使用root身份安装必须的文件:

pacman –S base-devel git

2.使用root身份用visudo命令添加tom ALL=(ALL) ALL,这里tom就是那个非root账号。

3.使用su tom的方式切换到tom用。

4.使用git clone的方式拿取安装包的信息文件,这会为包安装创建一个文件夹。

5.进入这个文件夹,然后使用makepkg –si。这会自动下载依赖的安装包,下载依赖的文件,编译这些文件,并制作安装包。然后会问你tom这个账号的密码,密码正确以后,会以root权限来安装刚才做好的安装包。

 

利用这个可以解决mkinitcpio时候aic94xx和wd719xx两个firmware确实造成的报错。

分类: Linux 标签:

ArchLinux上玩Docker

2016年11月18日 没有评论

先是收了一个群晖DS716+ii,玩了一下Docker,于是又在Arch上面玩。Docker确实好玩,作为沙箱环境,创建速度快了很多。下面是整理的资料:

Install Docker on Arch Linux:https://docs.docker.com/engine/installation/linux/archlinux/

分类: Linux 标签: ,

在ArchLinux中安装PostgreSQL

2016年9月30日 没有评论

这个可能是我Blog里面第一篇使用Open Live Writer写的内容,目前其本版为0.6。

前段时间摔伤,把手里的工作交接了一下,顺便开始研究一些之前腾不出时间做的研究。这次是在ArchLinux上安装PostgreSQL。研究了一下PostgreSQL的文档,写的很细,但是无从下手。研究了一下ArchLinux的Wiki,基本过程写了,但是还有问题,自己折腾了两天才搞定,特此记录一下。

1.首先还是要安装postgresql安装包。

pacman –S postgresql

2.安装包搞定以后,会自动创建postgres账号。按照ArchLinux的要求,需要修改这个账号的密码,作为开发环境可以跳过。然后su成这个账号,做数据库的初始化。因为postgresql是以这个账号运行的,所以数据库初始化,一定要su成这个账号。

su postgres

initdb –locale $LANG  -E UTF8 –D ‘/var/lib/postgres/data’

exit

3.初始化完成以后,会创建好配置文件和系统库。接下来编辑配置文件。配置文件都在刚才的数据目录内。

先修改postgresql.conf文件,去掉listen_address前面的注释符,并将内容修改为*号,表示监听所有的IP。

再修改pg_hba.conf文件,添加host all all 192.168.1.0/24 md5,表示允许某个网段以md5编码的方式验证用户登录。

4.修改完成就可以注册服务和启动服务了。

systemctl enable postgresql

systemctl start postgresql

5.启动以后需要修改管理账号的密码

psql –U postgres

postgres=#\password postgres

6.这样就安装完成,可以使用远程的pgAdmin 3试试能否连接到服务器了。

在Virtual Box上安装ArchLinux简明过程

2016年7月9日 没有评论

1.准备:

下载最新的iso文件,准备虚机,测试网络。

2.使用iso启动虚机,测试网络是否可用。

3.分区和磁盘准备: sda1为交换分区,大小与内存相同,sda2为剩余空间。

分区:fdisk /dev/sda

格式化主分区:mkfs.ext4 /dev/sda2

格式化交换分区: mkswap /dev/sda1

启用交换分区:swapon /dev/sda1

加载主分区:mount /dev/sda2 /mnt

4.修改当前使用的镜像服务器,我是修改为163的镜像。

vi /etc/paman.d/mirrorlist

5.灌rootfs。包括基础和开发两部分包。

pacstrap –i /mnt base develop

genfstab –U –p /mnt >> /mnt/etc/fstab

6.切换root

arch-chroot /mnt /bin/bash

7.修改locale信息

修改/etc/locale.gen,再执行locale-gen

执行echo LANG=en_US.UTF-8 > /etc/locale.conf

8.修改时区和local时间

ln –s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

hwclock –systohc –utc

9.修改机器名

echo myhostname > /etc/hostname

10.修改密码

passwd

11.安装bootloader

pacman –S syslinux

syslinux-install_update –i –a –m

vi /boot/syslinux/syslinux.cfg

12.退出重启

exit

umount –R /mnt

reboot

分类: Linux 标签:

关于树莓派Raspberry Pi3和ArchLinuxARM的一些情况

2016年3月7日 2 条评论

ArchLinuxARM在第一时间更新了网站,并支持了树莓派3,但是还有一些情况,参考:https://archlinuxarm.org/platforms/armv8/broadcom/raspberry-pi-3。例如:当前的root filesystem使用的还是Pi2的32位的内容等。

另,需要注意的是Pi3需要电源更大的电流,根据ArchLinuxARM的测试,需要2.5A以上的电流,这个有点强悍。

一个树莓派2代和1代的GPIO评测

2016年1月12日 2 条评论

不翻译了,累,自己看吧,不长

http://codeandlife.com/2015/03/25/raspberry-pi-2-vs-1-gpio-benchmark/

这个是原始的树莓派1代GPIO的评测,里面有如何产生那些数据的代码:

http://codeandlife.com/2012/07/03/benchmarking-raspberry-pi-gpio-speed/

分类: ARM, ARM Box, Raspberry Pi 标签:

AVR ATtiny USB教程(第一部分)

2016年1月12日 没有评论

开始想起写这个教程的过程比较复杂,开始是学习敲CW,然后是看到有人把鼠标拆了把电键连上,最后自己用Arduino Leonardo模拟鼠标实现了这个功能,不少人都说好。于是想找一个便宜的AVR的片子专门做一个小板子来实现这个功能。开始是想找通用的USB芯片来做,后来又发现了DigiSpark这个小板子。开始是以为ATtiny85这个片子像ATmega32U4一样内置有USB的功能,后来发现是有人在12MHz的主频下,用汇编语言写了一个模拟USB通讯的程序。最后找了老外写的这个教程:http://codeandlife.com/2012/01/22/avr-attiny-usb-tutorial-part-1/ 。于是基于学习想法,想把这个教程翻译一下。不废话了,开始翻译。觉得我翻译的不好,自己去看原文。

正文(第一部分)

在我发现AVR的微控制器可以作为USB设备以后,我就想用它做一个USB设备。但是不管是USBTiny项目还是更多扩展的V-USB库都缺乏一个简单入手的教程,所以我决定写一个。

第一部分覆盖制作USB供电设备的基础内容,以及为第二部分的铺垫,第二部分是一个在ATtiny2313使用V-USB库实现USB通讯的简单例子。后续部分的发布,取决于我的时间和兴趣。(译者,原文如此,原文是老外的Blog,看来老外写Blog和我一个调调,我这篇翻译计划全部翻译完,但是还得取决于我的时间和兴趣,哈哈)

我们马上开始,下面是一些第一分部会用到的东西:

  • USB线和插针
  • 小号面包板和一些跳线。
  • LED和330欧姆的电阻
  • 低压差3.3v稳压器,例如LD1086V33或者LE33CZ

电缆

首先我们要找到一根USB线,剪开,保留连接电脑一端的部分。然后将四根线焊好插针,以便我们连接面包板使用。USB包含四根新,你需要按照下表的顺序焊接。(注:不是所有的线都按照这个颜色来做,所以你需要使用万用表来确认!)

颜色 功能
1 VCC(+5V)
2 D-
3 绿 D+
4 GND

下图就是我的成果。剥线的时候要小心,不要破坏四根线的外皮,焊接的时候也不要互相接触。如果断路的话,将会烧掉你的USB hub或者电脑的USB芯片。(译者注:译者强烈不直接把你做的USB线直接插电脑,因为断路或者其他电流过大的情况下,都可能损坏你的电脑USB部分的电路,如果你电脑的USB部分电路异常,可能导致电脑各种诡异问题,比如我的W520就因为USB部分损坏以后,导致系统速度变得极慢…….译者强烈建议使用USB Hub隔离,因为USB Hub价格便宜还方便更换。

usb_tutorial-1

如果你想了解更多关于USB接头和USB电气规格的内容,我推荐你阅读Beyond Logic写的“USB in a NutShell”和“USB 2.0 specification”。目前我们只需要理解USB总线可以提供5V电压和小电流。(译者注:老外成文的时候在2012年,那时候最新的USB规格还是2.0,目前连接过去应该是USB 3.1的规格,总之这个链接会链接到最新的规格文件上,所以以后可能还会变化到更高的版本。电脑和USB Hub每个接口最大提供500ma的电流,一般情况下能带动一块移动硬盘,给手机充电也比较慢,电流过大,可能导致电脑的USB芯片或者USB Hub损坏。)

简单面包板测试

现在我们来测试一下我们的焊接工作是否成功。我建议你在第一次连接你的线缆到USB Hub或者电脑的时候,使用万用表来测量一下VCC(红)和GND(黑)之间的电压是不是5伏。我自己测量的是5.18伏。(译者注:一般在未接通的时候,电压都会稍高,以保证500ma工作的时候,电压能维持在5伏。目前市面的一些2A的USB充电器测量得到的电压会更高。)接下来把插针查到面包板上,并使用跳线连接面包板上的VCC和GND轨,然后连接串联电阻的LED,看看LED是否能点亮。

usb_tutorial-2

恭喜!如果你只是要从USB取电的话,你现在只要保证持续电流不太大,你就可以构建任何5V的电路。如果你的LED还没有亮,那么检查一下线的颜色是否错了,有没有焊接错误,或者LED的引脚反了。

准备USB通信-获取3.3v

USB的供电是5V的,但是数据线是3.3V的。一些计算机可以忍受5V的逻辑电压,但不是所有的都可以。按照书本来玩的话,我们有三个选项:

  1. 将USB的供电电压限制到3.3V
  2. 用3.3V来给外部电路供电
  3. 使用电阻、二极管、齐纳二极管等将5V的逻辑电压转换到3.3V
  4. 我们这里将选择第一个选项。第二项你可以选择使用你熟悉的方法,例如9V电池和降压器,手机充电器并调整电压,或者3节5号电池加上1到2个保护二极管来降压。第三个选项,你可以通过搜索“齐纳二极管 USB”(译者:搜索英文资料的话使用“zener diode usb”)(更新:你也可以看本教程的第六部分,将会包含相关内容。)。v-USB的wiki有一个很好的硬件概览:http://vusb.wikidot.com/hardware

    在这个教程里,我使用LD1086V33。从数据手册,我们可以得知管脚1是接地的,管脚2是输出,管脚3输入。另外,10uF的电容需要加在输入管脚和接地之间,输出和接地之间也需要这样做。
    usb_tutorial-1b

现在我已经连接好接地端和输入端到5V电源轨,然后把输出端接好了LED和电阻。

usb_tutorial-3

这个电路现在看起来开始工作了,但是供电似乎有些小问题:因为稳压器内部的反馈机制,导致输出电压会有连续的波动。所以我们将在5V输入端和接地端加上10uF的电容(如下图),在3.3V输出端和接地端也要加上。确定电解电容的链接方式正确(电解电容上减号已经被标注了)。好运!(译者:接反了就会……噗~~~)

usb_tutorial-4

现在我们已经准备好为我们的AVR电路供电,或者其他使用3.3V的项目。接下来,我们需要使用万用表来检查降压器的接地端与输入端的电压确实为5V,接地端和输出端确实为3.3V。

分类: AVR 标签:

在Arduino IDE 1.6里配置ATtiny44/45/84/85

2016年1月5日 没有评论

刚才顺手有看到了支持ATtiny44/45/84/85的Arduino支持,于是顺手再写下来。这个支持来自Damellis’es ATtiny cores,看具体内容前要先修改一下分支,目前有一个ide-1.6.x-boards-manager的分支。

当然直接安装也比较简单,在Arduino IDE的File->Preferences的Additional Boards Manager URL里面填上https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json 这个地址。这时在Tools->Boards->Board Manager的最西面会看到下图的内容:

image

这时,选择最新的版本,然后点击Install按钮就好。然后在Tools->Board里选择ATtiny以后,你就能看到下图菜单的样子:

image

祝各位玩的愉快:-)

分类: Arduino, AVR 标签: , ,