This page contains Debian tutorials, recipes, articles, forums, etc. related to all the SAM9G25 boards on Debian system.

Basic knowledge:

How-tos:

  • Set eth0 with a static IP address

    By default each CORE9G25 board get the IP address from the DHCP server on your LAN. To define instead a static IP address replace in /etc/network/interfaces these lines:

    allow-hotplug eth0
    iface eth0 inet dhcp
    

    with:

    allow-hotplug eth0
    	iface eth0 inet static
      address 192.168.1.90
      netmask 255.255.255.0
      gateway 192.168.1.1
    
  • Get the IP address from DHCP manually

    If you need to get the IP address manually from the DHCP server on your LAN simply shut down the eth0 interface:

    ~# ifdown eth0
    Internet Systems Consortium DHCP Client 4.1.1-P1                                
    Copyright 2004-2010 Internet Systems Consortium.                                
    All rights reserved.                                                            
    For info, please visit https://www.isc.org/software/dhcp/                       
                                                                                    
    Listening on LPF/eth0/00:04:25:a8:9d:5e                                         
    Sending on   LPF/eth0/00:04:25:a8:9d:5e                                         
    Sending on   Socket/fallback                                                    
    DHCPRELEASE on eth0 to 10.55.98.1 port 67                                       
    eth0: link down  
    

    and bring it back up by typing:

    ~# ifup eth0
    Internet Systems Consortium DHCP Client 4.1.1-P1                                
    Copyright 2004-2010 Internet Systems Consortium.                                
    All rights reserved.                                                            
    For info, please visit https://www.isc.org/software/dhcp/                       
                                                                                    
    ADDRCONF(NETDEV_UP): eth0: link is not ready                                    
    Listening on LPF/eth0/00:04:25:a8:9d:5e                                         
    Sending on   LPF/eth0/00:04:25:a8:9d:5e                                         
    Sending on   Socket/fallback                                                    
    eth0: link up (100/Full)                                                        
    ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready                               
    DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 4                      
    DHCPOFFER from 10.55.98.1                                                       
    DHCPREQUEST on eth0 to 255.255.255.255 port 67                                  
    DHCPACK from 10.55.98.1                                                         
    bound to 10.55.98.19 -- renewal in 33627 seconds.                               
    

    it comes up and grabs its IP (in this case 10.55.98.19 )

  • Set the system date

    Your CORE9G25 board has two clocks:

    • One called System Clock that is a software clock maintained by the Linux Operating System
    • Another one called Real Time Clock (RTC) and implemented in hardware inside the Atmel CPU. This clock is powered by a Lithium battery to mantain the clock alive when the main power supply is off.

    Setting the System Clock

    date is the Linux command to manage the systems clock.

    To read the currently System Clock type:

    ~# date
    Fri Oct  8 17:44:42 CEST 2010
    

    To set it type:

    ~# date -s "8 OCT 2010 18:45:00"
    Fri Oct  8 18:45:00 CEST 2010
    

    This time is active until the main power supply board is on. When off the system clock is lost.

    Setting the Real Time Clock

    To read the Hardware Clock type:

    ~# hwclock -r
    Fri Oct  8 17:46:43 2010  -0.004115 seconds
    

    To set the Hardware Clock using the System Clock current time type:

    ~# hwclock -w
    

    Now check it typing:

    ~# date
    Fri Oct  8 18:49:02 CEST 2010
    ~# hwclock -r
    Fri Oct  8 18:49:10 2010  -0.004076 seconds
    
  • Change the hostname

    When you get access to the CORE9G25 board command line the prompt is something like this:

    CORE9G25:~# 
    

    Where CORE9G25 is the current hostname.

    If more CORE9G25 boards or other Linux systems are reacheable on your LAN it could be important to have different hostnames tfor each board to avoid for example to give commands to the wrong system.

    The hostname is saved in /etc/hostname.

    Change it for example with myboard by typing:

    ~# echo "myboard" > /etc/hostname
    ~# /etc/init.d/hostname.sh start
    

    then logout typing:

    ~# logout
    

    and login again. The prompt will be:

    myboard:~# 
    

    The hostname is very important also when using Bonjour to get the right IP address to the CORE9G25 board in form of http://myboard.local.

  • USB memories automount

    This article explains how to automount an USB stick when inserted and unmount it automatically when unplugged

    Install the required packages

    The automounter facility is managed by autofs. Autofs controls the operation of the automount daemons. The automount daemons automatically mount filesystems when they are used and unmount them after a period of inactivity. This is done based on a set of pre-configured maps.

    To install autofs type:

    ~# apt-get update
    ~# apt-get install autofs
    

    Configure autofs

    Insert an USB stick and check on which device it appears by typing:

    ~# dmesg
    ...
    usb 1-2: new full speed USB device using at91_ohci and address 2
    scsi0 : usb-storage 1-2:1.0
    scsi 0:0:0:0: Direct-Access     UDISK    PDU01-8G 8AH2.0  0.00 PQ: 0 ANSI: 2
    sd 0:0:0:0: [sda] 15794176 512-byte logical blocks: (8.08 GB/7.53 GiB)
    ...
    sd 8:0:0:0: [sda] Assuming drive cache: write through
     sda:
    ...
    

    In this case the device is /dev/sda. If your USB stick has more than one partition you will see sda1, sda2, etc. for each partition.

    Edit the file /etc/auto.master adding this line:

    /var/autofs/removable   /etc/auto.removable --timeout=2
    

    Where:

    • /var/autofs/removable is the directory where your USB stick will be mounted
    • /etc/auto.removable is another file that we have to create
    • --timeout=2 tells that the device will be umounted after 2 seconds of idling

    Now create the file /etc/auto.removable with this contents:

    usbstick    -fstype=vfat,rw,umask=002   :/dev/sda
    

    then restart autofs typing:

    ~# /etc/init.d/autofs restart
    

    Now move to the /var/autofs/removable directory:

    ~# cd /var/autofs/removable
    /var/autofs/removable# ls
    /var/autofs/removable# ls usbstick
    [ .. list on my files on the usbstick ]
    

    As you can see the usbstick directory will appear when requested and disappear after 2 seconds.

    Related links

  • Change the speed and duplex settings of the Ethernet port

    Change the Ethernet setting on the fly

    To change the Ethernet parms on the fly type this command:

    ~# mii-tool [-F mode] eth0 
    ...
    

    Where mode can be:

    • 100baseTx-HD
    • 100baseTx-FD
    • 10baseT-HD
    • 10baseT-FD

    The setting will be valid until the next system reboot.

    Mii-tool Man page

    Change the Ethernet setting at the end

    Edit the /etc/network/interfaces file and the bold line if you are using the dchp:

    auto eth0                                                                       
    iface eth0 inet dhcp                                                            
      up mii-tool -F 10baseT-HD eth0
    

    or this line if you are using a static IP configuration:

    auto eth0                                                                      
    iface eth0 inet static                                                         
      address 192.168.1.10                                                                      
      netmask 255.255.255.0                                                         
      gateway 192.168.1.1
      up mii-tool -F 10baseT-HD eth0
    

    the reboot or type:

    ~# ifdown eth0
    ...
    ~# ifup eth0
    ...
    
  • Read the microSD serial number

    Enter the SD Card

    ~# cd /sys/class/mmc_host/mmc?/mmc?:*
    /sys/class/mmc_host/mmc0/mmc0:aaaa# cat serial
    0x015c5340

    A lot of other info are available:

    /sys/class/mmc_host/mmc0/mmc0:aaaa# ls -al
    total 0
    drwxr-xr-x 4 root root    0 Jun 27 15:37 .
    drwxr-xr-x 4 root root    0 Jun 27 15:37 ..
    drwxr-xr-x 3 root root    0 Jun 27 15:37 block
    -r--r--r-- 1 root root 4096 Jun 28 07:18 cid
    -r--r--r-- 1 root root 4096 Jun 28 07:28 csd
    -r--r--r-- 1 root root 4096 Jun 28 07:28 date
    lrwxrwxrwx 1 root root    0 Jun 27 15:37 driver -> ../../../../../../bus/mmc/drk
    -r--r--r-- 1 root root 4096 Jun 28 07:28 erase_size
    -r--r--r-- 1 root root 4096 Jun 28 07:21 fwrev
    -r--r--r-- 1 root root 4096 Jun 28 07:21 hwrev
    -r--r--r-- 1 root root 4096 Jun 28 07:21 manfid
    -r--r--r-- 1 root root 4096 Jun 27 15:37 name
    -r--r--r-- 1 root root 4096 Jun 28 07:18 oemid
    drwxr-xr-x 2 root root    0 Jun 28 07:28 power
    -r--r--r-- 1 root root 4096 Jun 28 07:28 preferred_erase_size
    -r--r--r-- 1 root root 4096 Jun 28 07:28 scr
    -r--r--r-- 1 root root 4096 Jun 27 15:37 serial
    lrwxrwxrwx 1 root root    0 Jun 27 15:37 subsystem -> ../../../../../../bus/mmc
    -r--r--r-- 1 root root 4096 Jun 28 07:28 type
    -rw-r--r-- 1 root root 4096 Jun 27 15:37 uevent
    

    Related links

  • Disable the system logs

    Disable rsyslog

    The most part of application program log created on /var/log are created by rsyslog daemon. To disable it type:

    ~# cd /etc/rc2.d
    /etc/rc2.d# mv S01rsyslog K01rsyslog
    

    Disable /var/log/dmesg

    The system message log on /var/log/dmesg is created by bootlogs daemon. To disable it type:

    ~# cd /etc/rc2.d
    /etc/rc2.d# mv S01bootlogs K01bootlogs
    

    Disable /var/log/lastlog

    Comment the line:

    session    optional   pam_lastlog.so
    

    in /etc/pam.d/login.

  • Deleting the cache of package files to save space

    The Debian package installation utility apt-get keeps all the packages it has downloaded in case they are needed in the future in /var/cache/apt/archives directory.

    It is possible to save space removing them by typing:

    ~#apt-get clean
    
  • Reserve
     

Programming languages

This is a selection of "Hello World !" examples in all the languages we tried on the CORE9G25 boards:

Linux Kernel 3.11 and EmDebian "7.1" Wheezy

Bootable microSD:

Embedded peripherals

USB peripherals

Programming examples

Web programming

SQL databases

Miscellaneous

 

Documentation Terms of Use
The Acme Systems srl provides this Debian system development and user manual.
The origin of these doc came from the website: http://www.acmesystems.it
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
Creative Commons License


Market Mail : market@armdevs.com
Support Mail: support@armdevs.com Sales Phone: +86-755-29638421


CoreWind Online Chat>
Work time: 09:00-18:00
Copyright @ 2014 to 2020 - CoreWind Tech.