0% encontró este documento útil (0 votos)
0 vistas20 páginas

OS

El documento proporciona una introducción a Linux y su uso en la tarjeta Intel Edison, destacando la versión Yocto Linux diseñada para dispositivos integrados. Se describen las rutas del sistema de archivos de Linux, comandos básicos y la instalación de servidores como lighttpd. Además, se menciona Jubilinux, una distribución basada en Debian que optimiza el rendimiento de la Edison como servidor, incluyendo instrucciones para su instalación y configuración.

Cargado por

YoshiZH
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
0 vistas20 páginas

OS

El documento proporciona una introducción a Linux y su uso en la tarjeta Intel Edison, destacando la versión Yocto Linux diseñada para dispositivos integrados. Se describen las rutas del sistema de archivos de Linux, comandos básicos y la instalación de servidores como lighttpd. Además, se menciona Jubilinux, una distribución basada en Debian que optimiza el rendimiento de la Edison como servidor, incluyendo instrucciones para su instalación y configuración.

Cargado por

YoshiZH
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

GENERALIDADES

DE LA TARJETA
EDISON
Linux
Linux es un sistema operativo (SO) gratuito y de código abierto. Corre sobre el
kernel de Linux, que fue lanzado por primera vez por Linus Torvalds el 5 de
octubre de 1991.
En verdad, Linux es una de las estrellas brillantes del movimiento del software de
código abierto. Con más de 10,000 desarrolladores contribuyentes y más de 17
millones de líneas de código fuente, el costo estimado para el toda la base de
código de Linux supera los $ 300 millones de dólares. Con tantos colaboradores y
casos de uso diferentes, no es sorprendente que hayan surgido muchos sabores
diferentes de Linux.
La versión de Linux que se ejecuta en Intel Edison es Yocto Linux.
Yocto Linux está diseñado específicamente para dispositivos integrados.
Yocto es altamente personalizable; Si bien todas las compilaciones contendrán el
mismo núcleo, puede compilar casi un número infinito de versiones alrededor del
núcleo para adaptarse a su hardware y necesidades de software.
La versión Intel Edison de Yocto ya está construida para habilitar interfaces de
hardware compatibles con Arduino.
Debido a que está diseñado para dispositivos integrados, Yocto Linux no tienen
una interfaz de usuario tradicional de apuntar y hacer clic. De hecho, hay ninguna
interfaz gráfica de usuario (GUI), lo que significa que tendremos que hacer 100%
de nuestras operaciones y programación en la línea de comandos si no estamos
usando el IDE de Arduino. Por lo tanto, para aprovechar el completo poder de la
tarjeta Edison, se vuelve imperativo que sepamos cómo navegar elLínea de
comandos de Linux correctamente.
Sistema de archivos de Linux
El sistema de archivos de Linux es parecido al sistema de archivos de otros
sistemas operativos más comerciales como Windows.

Windows Linux
C:
/
Archivos de
Usuarios Windows
programa
dev usr home
Administrador Publico

share etc
Documentos

Escritorio
misc
Imagenes
opkg

Las rutas de Linux para la tarjeta Édison son mayormente iguales a las de otras
distribuciones de Linux pero en la tarjeta Édison hay otras rutas con caracteristicas
especiales.
A continuación se ven algunas rutas importantes en Linux:
Rutas Funcion
/bin Contiene los binarios ejecutables para
los programas y utilidades del sistema.
/boot Contiene los archivos que necesita el
sistema para arrancar, incluyendo el
núcleo de Linux y mapeo del sistema.
/dev Este es el directorio para los
dispositivos fiscos y virtuales en el
sistema.
/etc Contiene los archivos de configuración
de Linux.
/etc/init.d Contiene scripts de inicio de Linux
/home/root Directorio de inicio para el usuario root,
aquí se realizaran muchas de las
aplicaciones de la Edison.
/lib Archivos de librería que tienen acceso
al sistema entero.
/lost+found En esta ruta Linux almacena archivos
que normalmente se perderá si hubiera
daños en el sistema de archivos,
corrupción o pérdida.
/media Directorio para el almacenamiento
adjunto de dispositivos como unidades
USB y tarjetas SD.
/mnt Directorio para montar particiones de
disco duro y dispositivos físicos,
aunque /media es a menudo preferido
para dispositivos de almacenamiento
conectados.
/opt Directorio reservado para software
opcional y paquetes complementarios
que no forman parte de la instalación
inicial.
/proc Contiene información y estadísticas
sobre los procesos de ejecución y
otros parametros de ejecución.
/sbin Contienen los ejecutables binarios
entre los que están los programas
administrativos del sistema básico y
utilidades.
/sketch Este es un directorio único de la tarjeta
Edison donde se almacenan los
sketches compilados de Arduino.
/sys Contiene información y estadísticas
sobre los dispositivos de Linux.
/tmp Contienen archivos temporales del
sistema.
/usr/bin Contiene binarios adicionales del
sistema.
/var Sirve como un recurso general para
datos generados mientras el sistema
está en ejecución.
/var/log Contiene los archivos de registro de
Linux.

Comandos básicos de Linux


Nota.- Los comandos en Linux se resaltaran de otros elementos de Windows en
este manual.
Primeramente se debe de conocer el cómo navegar por las diversas rutas del
Linux, para esto se usa el comando:
root@edison~# cd
Este comando permite especificar la ruta específica a la que se quiere acceder, un
directorio superior del que se encuentra en ese momento o un directorio un nivel
anterior del que se encuentra. Estas variantes se muestran a continuación:
root@edison~# cd /home/root
root@edison~# cd python
root@edison~# cd ..
Otro comando muy utilizado para el desplazamiento entre directorios es:
root@edison~# pwd
Este comando mostrara la ubicación en donde se encuentra en ese momento, es
útil para poder ubicarse entre directorios.
Uno de los comandos mas utilizados en Linux es “ls” y es que este comando
mostrara las diversas rutas y archivos que se encuentran en el directorio que
quiera, además este comando, como muchos otros en Linux, tiene argumentos
que podrían ayudarnos a obtener más información, estos “argumentos” son
conocidos como banderas u opciones de comando, algunos ejemplos se muestran
a continuación:
root@edison~# ls <- Comando base
root@edison~# ls –l <- Comando con opcion
root@edison~# ls –-help
Este último es un argumento de comando muy utilizado para muchos comandos
en Linux pues te muestra todas las posibles opciones de uso de comandos, si
tecleas este comando con la opcion help mostrara todas las opciones con su
debida descripción. Es importante recalcar que aunque esta guía de un vistazo a
los comandos más utilizados en Linux es necesario ayudarse de help para poder
comprender mejor los comandos de Linux.
El comando junto con la opción “l” listara los directorios y archivos de la ruta
especificada de manera más completa, es decir, este listado dirá si los archivos
son ejecutables, si son solo de lectura o también de escritura, si es para todos los
usuarios o solamente para el usuario “root”.
-rwxr-xr-x main
-rw-r--r-- [Link]
drwxr-xr-x ConstructorParamDevC-1
Ahondando más en este tema, podemos ver, en el ejemplo anterior, que en la ruta
especificada hay dos archivos y un directorio esto puede ser identificado con la
primer carácter si este es un guion “-“ es un archivo sin embargo si es una “d”
significa que es un directorio, los siguientes caracteres se dividen de tres en tres,
los primeros tres caracteres después del primero son identificadores para el
usuario root, en el primer archivo tenemos “rwx” la r significa que el archivo puede
ser leído (read) por el archivo root, después la w significa que el archivo puede
escribirse o modificarse (write) por el usuario root y por último la x significa que el
archivo puede ser ejecutado por el usuario root, los siguientes tres caracteres son
para el grupo “r - x” se puede observar que la literal w no se encuentra eso quiere
decir que el archivo no puede modificarse (write) por el grupo, el resto de las
literales tienen el mismo significado para el grupo, por ultimo las últimas tres
literales son identificadores para todos los demás usuarios, es este caso son las
mismas tres literales anteriores por lo que se puede decir que todos los usuarios
que no sean el usuario root pueden leer y ejecutar el archivo pero no pueden
modificarlo.
Estos permisos que unos usuarios tiene y otros no pueden ser cambiados con el
siguiente comando:

root@edison~# chmod “permiso” main

Se debe de especificar los permisos que se quieran dar y el archivo al que quieres
darlos, el permiso puede ser expresado con números o letras, es más sencillo
entenderlo con números pues tiene que ver con binario, sabemos que los
permisos están divididos de tres en tres el máximo número que puede haber en
tres valores en binario es 7 o 111 entonces al colocar un 700 en permiso estamos
diciendo que el usuario root tiene todos los permisos pero los grupos y otros
usuarios no tendrán ningún permiso, es decir, - r w x - - - - - - entonces si se quiere
darle permisos de solo lectura a los demás usuarios pero tener todos los permisos
para el usuario root se usaría 744 o se puede ver de la siguiente manera, 111 100
100 como se puede ver es como levantar solamente la bandera de lectura (r).
Hablando de archivos, hay veces en las que se quiere ver el contenido de un
archivo pero sin abrirlo con un editor, para este propósito se puede usar el
siguiente comando:

root@edison~# cat [Link] <- Se mostrara el contenido del


archivo [Link]
Este comando debe especificar el archivo que se quiera leer, en el directorio que
se quiera.
Sobre los directorios, es posible crear nuevos directorios mediante el siguiente
comando:

root@edison~# mkdir “nombre del directorio”


LINUX YOCTO
Yocto Proyect
El proyecto Yocto proporciona un sistema de construcción de referencia para
Linux integrado, llamado Poky, que tiene los proyectos BitBake y OpenEmbedded-
Core (OE-Core) en su base. El propósito de Poky es construir los componentes
necesarios para un producto Linux integrado, a saber:
 Una imagen del cargador de arranque
 Una imagen del kernel de Linux
 Una imagen del sistema de archivos raíz
 Cadenas de herramientas y kits de desarrollo de software (SDK) para el
desarrollo de aplicaciones
Con estos, el proyecto Yocto cubre las necesidades tanto de los desarrolladores
de sistemas como de aplicaciones.
Cuando el proyecto Yocto se utiliza como un entorno de integración para los
cargadores de arranque, el kernel de Linux y las aplicaciones de espacio de
usuario, nos referimos a él como desarrollo del sistema.
Para el desarrollo de aplicaciones, el proyecto Yocto crea SDK que permiten el
desarrollo de aplicaciones independientemente del sistema de construcción de
Yocto.
El proyecto Yocto realiza un nuevo lanzamiento cada seis meses.
Una versión de Yocto consta de los siguientes componentes:
 Un dispositivo de construcción; es decir, una imagen de VMware de un
sistema host listo para usar Yocto
 Un instalador de Application Development Toolkit (ADT) para su sistema
host y para las diferentes plataformas compatibles:
 Cadenas de herramientas prediseñadas
 Binarios empaquetados prediseñados
 Imágenes prediseñadas

Instalando servidor lighttpd para Yocto

Se utilizara el instalador de paquetes de yocto opkg para instalar el paquete de


lighttpd.

opkg update
opkg install lighttpd

Debemos de asegurarnos de que el componente cgi está dentro del paquete


entonces utilizaremos este comando.

opkg list | grep cgi

Si no se encuentra se debe de instalar mediante el siguiente comando.

opkg install lighttpd-module-cgi

Ahora editamos el archivo de configuración para configurarlo como se desee el


servidor, pero se puede dejar por defecto.

nano /etc/lighttpd/[Link]

Se debe de checar el estatus del servidor

sytemctl status lighttpd

Se puede de iniciar el servicio del servidor mediante el siguiente comando.

systemctl start lighttpd

Tambien se puede detener el servicio mediante el siguiente comando.

systemctl stop lighttpd

Puede arrancar el servicio al iniciar la tarjeta Edison cada vez o utilizar el siguiente
comando para que inicie automáticamente al arrancar el Sistema.

systemctl enable lighttpd


LINUX DEBIAN
PARA EDISON
JUBILINUX
Jubilinux
ubilinux es excelente para cambiar el Intel Edison de una plataforma
portátil/incrustada de alto rendimiento a un servidor sin periféricos con un consumo
de energía excepcionalmente bajo y una huella física pequeña. El único problema
es que ubilinux, tal como se distribuye oficialmente, se basa en una versión
bastante antigua de Debian (sibilante) y una versión muy antigua del kernel de
linux de edison.
jubilinux es una actualización de la distribución estándar de ubilinux edison para
que sea más útil como servidor, más significativamente al actualizar de wheezy a
stretch. Los cambios incluyen:
 Basado en Debian Stretch en lugar de Wheezy. (Logrado a través de apt-
get dist-upgrade del sistema de archivos raíz).
 Actualice el kernel y los módulos a la versión más reciente del kernel linux
de edison de Intel. (La última confirmación a partir de este escrito es el 8 de
septiembre de 2016).
 Mueva /usr a /home/.usr y reemplace /usr con un montaje de vinculación,
liberando cantidades significativas de almacenamiento en /.
 Nodejs eliminados y paquetes mraa obsoletos

Instalando Jubilinux en Intel Edison


Prerequisitos:
 Tarjeta Intel Edison
 Dos cables USB para la alimentacion de la tarjeta y para la conexión de
datos.
 Una computadora con sistema operativo Linux o Windows

Nota.- En este manual se utiliza un sistema operativo Linux base Debian,


distribución Ubuntu 20.04.
Descarga el archivo comprimido de la siguiente página
[Link] se puede descargar cualquier versión del SO pero es
recomendable utilizar la versión 0.3.0.
Una vez descargado el archivo .zip es necesario descomprimirlo, luego se debe
abrir una terminal y navegar hasta la carpeta contenedora llamada Jubilinux-
Stretch, en este momento es importante tener conectado el cable de datos pero no
el de corriente.
Se utilizara el archivo [Link] para la instalación del SO en la tarjeta edison
para utilizarlo basta con escribir en la línea de comandos “./[Link]” se debe de
utilizar sudo para dar permisos de super usuario de linux.

Imagen.- momento previo en la instalación del SO.

En el momento que aparezca la pantalla anterior es momento de conectar la


corriente en nuestra tarjeta, esperaremos un momento y debería aparecer algo
como lo siguiente:

Imagen.- terminal de Linux Ubuntu, proceso de instalación.


Imagen.- terminal de la Intel Édison

Puede ver el proceso de instalacion en otra terminal conectando por serial a la


tarjeta Intel Edison.
Puede utilizar otra terminal o alguna aplicación de terceros como PuTTy, si desea
hacerlo por terminal solo necesita utilizar el comando “screen /dev/ttyUSB0
115200”.
El proceso de instalación puede durar hasta 30 minutos pero por lo general no
durara más de 10 minutos si el proceso termina en segundos o menos de 2
minutos significa que el proceso de instalación no se realizó correctamente y que
es necesario volver a instalar el SO.
NOTA IMPORTANTE.- Aunque la instalación se haya completado no debe de
desconectar su intel edison por al menos dos minutos después de haber iniciado
sesión como usuario root, no hacer caso a esta indicación podría dañar su tarjeta
intel edison.

Iniciando el SO
Enciende tu tarjeta edison y utiliza una terminal o aplicación de terceros para la
comunucacion serial (recuerda utilizar 115200 baudios), ahora espera a que
arranque el sistema operativo, lo primero que se debe hacer es acceder como
root, por defecto se tienen dos usuarios edison y root ambas tienen la misma
contraseña, la contraseña que se asocia a este usuario es “edison” por defecto
pero puede cambiarse como se verá posteriormente.
Una vez iniciado sesión escribe el siguiente comando:
myedisonhostname=El_Nombre_Que_Desees_para_el_host

Cambia el nombre del host por el que desees, no utilices espacios. Ahora
cambiaremos el nombre de la Edison con los siguientes comandos:

echo $myedisonhostname > /etc/hostname


sed -r -i"" "s/localhost( jubilinux)?$/localhost
$myedisonhostname/" /etc/hosts

Ahora cambiaremos la contraseña de acceso a root y edison con los siguientes


comandos:

passwd root
passwd edison

Configurando el Wifi de la intel edison


Se utilizara el editor de texto Vi para modificar archivos, aunque tambien es
posible utilizar nano. Utiliza el siguiente comando:
vi /etc/network/interfaces
Teclea “i” para poder insertar o modificar el archivo. Descomenta la opción de auto
wlan0 para que se pueda utilizar también comenta o quita las lineas wpa-ssid y
wpa-psk y agrega la siguiente línea debajo de “iface wlan0 inet dhcp-

wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

Deberia quedar finalmente asi:


auto lo
iface lo inet loopback

auto usb0
iface usb0 inet static
address [Link]
netmask [Link]

auto wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

Cuando termines presiona ESC, luego “:wq” y finalmente Enter para salvar lo que
se modifico. Ahora configuraremos ese archivo que hace referencia en las lineas
anteriores utilizaremos Vi para modificarlo:

vi /etc/wpa_supplicant/wpa_supplicant.conf

Nuevamente utiliza la tecla “i” para modificar el archivo y escribe lo siguiente:

network={
ssid="my network"
psk="my wifi password"}

Cambia el ssid por el nombre de tu red y el psk por la contraseña de tu red.


Finalmente haz los pasos anteriores para salvar el archivo.
Ahora reinicia tu edison si todo ah salido bien puedes utilizar el comando “ifconfig”
para saber si es que estas conectado a tu red. Lo encontraras al final del todo en
la seccion wlan0.
Imagen.- información de internet de la tarjeta Édison

Instalando paquetes esenciales.

Una vez estemos conectados utilizaremos estos comandos para poder instalar
paquetes esenciales.

dpkg -P nodejs nodejs-dev


apt-get update && apt-get -y dist-upgrade && apt-get -y
autoremove
apt-get install -y sudo strace tcpdump screen acpid vim
python-pip locate

Ademas podemos configurar algunso usuarios como super usuario y configurar la


zona horaria. Utilice los siguientes comandos:
adduser edison sudo
adduser edison dialout
dpkg-reconfigure tzdata

Actualizando Python a la version mas reciente

Nuestro SO Jubilinux viene con python 3.5.3 preinstalado aun asi podemos
actualizar a la version mas reciente, hasta ahora, que es la 3.10.0, utilizaremos los
siguientes comandos.
Primero actualizaremos y analizaremos los paquetes que tengamos con los
siguientes comandos:

sudo apt update && sudo apt upgrade

Además necesitamos instalar un paquete con el siguiente comando:

sudo apt install wget build-essential libreadline-gplv2-dev


libncursesw5-dev \libssl-dev libsqlite3-dev tk-dev libgdbm-
dev libc6-dev libbz2-dev libffi-dev zlib1g-dev

Descarga ahora la versión mas nueva de python:

Wget [Link]
[Link]

Unas ves descargado extraemos el paquete:

tar xzf [Link]

Ahora compilamos el codigo fuente de python


cd Python-3.9.4
./configure --enable-optimizations

Ahora instalamos python con el siguiente comando, por cierto este comando
tardara bastante en completarse.

make altinstall

Una vez completado podemos de utilizar el comando “ python3.10 -V “ para saber


si se instalo correctamente, saldrá la versión que hemos instalado.

Instalando servidor lighttpd para jubilinux

Debido a que Jubilinux esta basado en debian y no se utiliza el instalador de


paquetes opkg de pocky necesitamos de obtener el paquete apt.

Primero debemos de hacer una actualizacion de paquetes:

sudo apt-get update

Podemos utilizar el buscador de paquetes mediante:

apt-cache search lighttpd

oh podemos utilizar el siguiente comando para instalar el paquete por defecto:

sudo apt-get install lighttpd


Luego de instalar el paquete debemos de habilitarlo

systemctl start lighttpd

Por último se tiene que habilitar el servidor para que arranque automáticamente al
iniciar la tarjeta.

systemctl enable lighttpd

Ahora bien necesitamos albergar nuestra página web para esto necesitamos
utilizar un cliente FTP para el traspaso de archivos, utilizaremos Filezilla para este
propósito utilizaremos la ip que podremos obtener mediante “ifconfig”, en usuario
utilizaremos el usuario root y la contraseña que hallamos escogido para ese
usuario y en puerto utilizaremos el 22
Imagen.- filezilla para uso de sftp

Ahora ubicamos la siguiente ruta dentro de las carpetas de la edison:

“/var/www/html”

Dentro de esa carpeta debemos de copiar los archivos HTML, CSS y/o JavaScript,
una vez tengamos los archivos dentro de la edison podemos ir a nuestro
navegador web preferido y utilizar la ip de la edison y podemos ver ahora nuestra
página web.

imagen.- ip en el navegador

Y listo podemos observar nuestra página web.

También podría gustarte