上手Cubian

michalliu edited this page Sep 14, 2015 · 19 revisions

指示灯


Cubian使用板载的LED(蓝色和绿色的)做为指示器。

  • 绿色的LED指示系统运行状态。如果此LED每隔1秒闪烁,代表系统正在正常 启动关闭,一旦系统成功启动后,此LED指示SD卡读写状态。

  • 蓝色的LED指示网络状态。如果此LED每隔1秒闪烁,代表系统 没有 接入网络。一旦系统成功接入网络,此LED会熄灭。

摩斯码IP


这是Cubian中很有意思的部分. 摩斯码是一种很老的通讯技术.它是如此简单,以至于到现在依然很有用。 考虑以下场景:

  1. 你有一台DVI,VGA双接口的输入的显示器,但是不支持HDMI
  2. 你忘了买USB转TTL线
  3. 你没有路由器的管理权限,即使cubiebaord接入了网络,但是你不知道它的IP。

如果你让然想玩cubieboard,那么你需要知道它的IP。解决方案在此,Cubian获得IP后会使用摩斯码告诉你IP。

网络连接上后,等待30秒(等待dhcp服务),绿色的LED会亮起3秒,提醒你需要集中精神,并准备记录摩斯码。绿色LED熄灭后,蓝色的LED开始向你显示摩斯码。

注意,在通常情况下,你只需要知道最后IP地址的三位数字。所以(摩斯码)回显是倒序的。举个例子来说, 192.168.1.100 这个IP的回显顺序将是001.1.861.291。 对应的摩斯码是

----- ----- O---- O-O-O- O---- O-O-O- ---OO -OOOO O---- O-O-O- OO--- ----O O----

这需要大约花费74秒。每个元素(数字或字母)会有2秒钟的休息时间。

蓝色LED的点亮时间到摩斯码的转换表

点亮时间 含义
0.5 秒 O
1 秒 -

部分 国际通用摩斯码表

元素 摩斯码
0 - - - - -
1 O - - - -
2 O O - - -
3 O O O - -
4 O O O O -
5 O O O O O
6 - O O O O
7 - - O O O
8 - - - O O
9 - - - - O
. O - O - O -

SSH


SSH服务端口改为36000(默认是22),用来防止一些人使用扫描器扫描并攻击你的系统。基于同样的安全原因, 不允许 root 通过SSH登录,但是你可以以普通用户身份登录后,使用sudo -i指令切换到 root

默认的用户名与密码是 cubie,登录成功后,你可以使用sudo做任何事情,不需要再次键入密码。

ssh -p 36000 YOUR_CUBIEBOARD_IP -l cubie

启用Root帐号


root用户默认未启用,你可以使用以下指令启用,

cubie@Cubian:~# sudo passwd root
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully

连接到网络


首先要注意的是,不要使用低级的配置工具如ifconfig,ip等去配置一个处于活动状态的网卡接口。
如果你想了解关于网络配置的更多信息,请参阅官方Debian手册

  1. 有线网络
    系统已经内置了一个有线网络配置文件。

    cubie@Cubian:~# sudo cat /etc/network/interfaces 
    auto eth0
    allow-hotplug eth0
    iface eth0 inet dhcp
    

    解释:
    auto eth0 表示在启动时自动配置网卡接口 eth0
    allow-hotplug eth0 and iface eth0 inet dhcp 表示当Linux内核检测到物理网卡接口 eth0, allow-hotplug 语句指示 ifup 激活此接口,iface 语句指示ifup使用DHCP配置此接口.
    请注意:这个(默认的)配置文件会在系统启动的时候激活你的RJ45网卡接口并尝试通过DHCP服务配置它。 如果你并没有插入网线,这将会阻塞系统启动一分钟,等待DHCP超时事件发生后系统才会继续启动 。 如果你十分确定不需要有线网络,请通过删除或注释/etc/network/interfaces中的auto eth0以禁止这个特性,这将会大大减少系统启动时间。要注释它,只需要在auto eth0 前面加上#即可#auto eth0
    你仍然可以通过以下命令手工激活并配置有线网络

    cubie@Cubian:~# ifup eth0
    

    如果你希望使用静态IP,下面是一个样例。

    allow-hotplug eth0
    iface eth0 inet static
        address 192.168.11.100
        netmask 255.255.255.0
        gateway 192.168.11.1
        dns-domain example.com
        dns-nameservers 192.168.11.1
    

    你应该对此非常熟悉了。

  2. 无线网络

    1. 扫描无线热点列表。下面是一个修改过的脚本源文章

      IFACE=$1
      
      ip link set $IFACE up
      
      SCAN=$( 
      iwlist $IFACE scan 2>&1 | grep -v "^$IFACE" | grep -v "^$" | 
          sed -e "s/^ *//" 
              -e "s/^Cell [0-9]+ - /#/" 
              -e "s/^#Address: /#AP=/" 
              -e "s/^Quality:([0-9]+)/.*$/QUALITY=1/" 
              -e "s/^.*Channel ([0-9]+).*$/CHANNEL=1/" 
              -e "s/^ESSID:/ESSID=/" 
              -e "s/^Mode:/MODE=/" 
              -e "s/^Encryption key:/ENC=/" 
              -e "s/^[^#].*:.*//" | 
          tr "n#" "|n" 
      )
      
      for i in $SCAN ; do
          AP=""; QUALITY=""; CHANNEL=""; ESSID=""; MODE=""; ENC=""
          isGarbageLine=true
          for j in $(echo $i | sed -e "s/|/ /g" ) ; do
              case $j in
                  AP=*)
                      AP=${j#AP=}
                  isGarbageLine=false
                      ;;
                  QUALITY=*)
                      QUALITY=${j#QUALITY=}
                  isGarbageLine=false
                      ;;
                  CHANNEL=*)
                      CHANNEL=${j#CHANNEL=}
                  isGarbageLine=false
                      ;;
                  ESSID=*)
                      ESSID=${j#ESSID=}
                  isGarbageLine=false
                      ;;
                  MODE=*)
                      MODE=${j#MODE=}
                  isGarbageLine=false
                      ;;
                  ENC=*)
                      ENC=${j#ENC=}
                  isGarbageLine=false
                      ;;
              esac
          done
          if [ $isGarbageLine = false ];then
              echo "$AP $QUALITY $CHANNEL $ESSID $MODE $ENC"
          fi
      done
    2. 开放的(没有密码要求)
      修改网络配置文件

      cubie@Cubian:~# sudo cat>>/etc/network/interfaces<<EOF
      >allow-hotplug wlan0
      >iface wlan0 inet dhcp
      >    wireless-essid mynetwork
      >    wireless-mode managed
      >EOF
      

      然后,使用以下指令连接到网络

      cubie@Cubian:~# ifup wlan0
      

      如果你希望在系统启动时自动连接到网络,只需添加以下代码到网络配置文件中

      auto wlan0
      
    3. WEP
      警告: WEP加密已经证明是不安全的,可以在数分钟之内被互联网上的免费工具攻破。如果你的网络非常敏感,请不要使用这种加密方式。
      修改网络配置文件

      cubie@Cubian:~# sudo cat>>/etc/network/interfaces<<EOF
      >allow-hotplug wlan0
      >iface wlan0 inet dhcp
      >    wireless-essid mynetwork
      >    wireless-key1 1234567890
      >EOF
      

      然后,使用以下指令连接到网络

      cubie@Cubian:~# ifup wlan0
      

      如果你希望在系统启动时自动连接到网络,只需添加以下代码到网络配置文件中

      auto wlan0
      
    4. WPA/WPA2
      首先, 你需要生成 PSK (Pre Shared Key).

      cubie@Cubian:~# wpa_passphrase "mynetwork" "1234567890" | grep psk=[a-f,0-9]
          psk=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
      

      然后, 修改 /etc/network/interfaces 并添加网络配置

      cubie@Cubian:~# sudo cat>>/etc/network/interfaces<<EOF
      >allow-hotplug wlan0
      >iface wlan0 inet dhcp
      >    wpa-ssid mynetwork
      >    wpa-psk 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
      >EOF
      

      然后,使用以下指令连接到网络

      cubie@Cubian:~# ifup wlan0
      

      如果你希望在系统启动时自动连接到网络,只需添加以下代码到网络配置文件中

      auto wlan0
      

配置时间日期


时间与日期会在每次系统启动并连接上因特网时通过ntp服务自动配置。
你可以手工从因特网ntp服务器同步时间。

cubie@Cubian:~# sudo ntpdate-debian
29 May 19:52:44 ntpdate[6746]: adjust time server 212.26.18.41 offset 0.008102 sec

Cubian update


保持内核,驱动,固件更新是个不错的注意。

apt-get install cubian-update
sudo cubian-update