OpenWrt: modelagem do

Documentos relacionados
AVALIAÇÃO DE DESEMPENHO DO PROTOCOLO HWMP EM CENÁRIOS REAIS DE REDES MESH COM MÚLTIPLAS INTERFACES E MÚLTIPLOS CANAIS

PROVA 03/07 Segunda-feira (semana que vem)

Administração Central Cetec Capacitações Capacitação Sistema Operacional Linux Semana III

1/16 MAKEFILES Makefiles Programação II

IDES E PROGRAMAÇÃO. Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias

SISTEMAS DE ARQUIVOS E DIRETÓRIOS DO LINUX. Prof. Gleison Batista de Sousa

Makefiles O que é mak a efi f le make

Arquitetura de Computadores

LINUX. Uma visão geral

Técnico Subsequente em Redes de Computadores Introdução a Sistemas Abertos (ISA)

Introdução à Informática

Computadores podem ser úteis em problemas que envolvem: Grande número de dados. Grande número de cálculos. Complexidade. Precisão.

Informática básica. Professor: Francisco Ary

Virtualizando Sistema Operacional

Por Fernando Koyanagi 1

Instalação e Manutenção de Computadores Sandra Silva

Curso: Redes de Computadores

Fundamentos de Sistemas Operacionais de Arquitetura Aberta. CST em Redes de Computadores

Fundamentos da Informática Aula 03 - Sistemas operacionais: Software em segundo plano Exercícios Professor: Danilo Giacobo

Inicialização do sistema

Informática Sistemas Operacionais Aula 5. Cleverton Hentz

Estrutura do Sistema Operacional

I TR T ODUÇÃO O À I N I FO F RMÁ M TI T C I A OBJETIVO

Programação de Periféricos

Instalação JDK. Joyce França. Professora de Ciência da Computação - IFNMG

Editor: Rubens Prates Revisão gramatical: Marta Almeida de Sá Editoração eletrônica: Carolina Kuwabata Assistente editorial: Priscila A.

Introdução aos Sistemas Operacionais

E você, sabe qual e? a diferenc?a entre BIOS e UEFI?

Administração de sistemas Linux. Estrutura de diretórios Linux

Instalação JDK 10/03/2017

Informática básica. Professor: Francisco Ary

Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10032 Microcontroladores

Sistemas Operacionais II. Prof. Gleison Batista de Sousa Aula 01

Escrito por Luís Talora Qui, 19 de Maio de :32 - Última atualização Seg, 11 de Julho de :45

Introdução aos Sistemas Operacionais. Ricardo Ramos de Oliveira

2.1 NesC Seguem alguns dos principais desafios impostos à linguagem NesC:

Introdução. (Aula 2) Organização Estruturada de Computadores

Curso Arduino ESP8266. Aula #1 - Introdução

Turma: SD-R Área: Redes Informáticas Formador: Tomás Lima Mediadora: Maria Eduarda Luz Unidade: UFCD 17 - Linux - Instalação e configuração Curso:

ORGANIZAÇÃO DE COMPUTADORES

Algoritmos e Técnicas de Programação. Professora Luciana Faria

MSP430 Lab 01 Instalação do Code Composer Studio e teste da Launchpad

SO: Introdução e Estrutura. Sistemas Operacionais Flavio Figueiredo (

Introdução à Informática

Linguagem de Programação II Programação Orientada a Objetos. Ambientes de Programação

ADMINISTRAÇÃO DE SERVIÇOS EM SISTEMAS OPERACIONAIS DE ARQUITETURA ABERTA

Administração de Redes em Software Livre Aula 02 Instalando o GNU/Linux (CENTOS Minimal)

Introdução à Informática

Introdução à Computação para Engenharia MAC2166 Prof. Dr. Paulo Miranda IME-USP. Aula 1 Introdução à Computação

Informática básica SOFTWARE.

Ficha de Revisão do Módulo 4 - Sistema Operativo Open Source

Componentes do kernel Compilando o kernel Aplicando patch no kernel Configurar, compilar, instalar um kernel personalizado Gerenciar, consultar o

MC-102 Aula 01. Instituto de Computação Unicamp

Organização e Arquitetura de Computadores

BIOS: BOOT, POST e CMOS

ATIVIDADE DE ESTUDO 03 FUNDAMENTOS E ARQUITETURA DE COMPUTADORES 2017A1

CURSO TÉCNICO DE INFORMÁTICA. Fundamentos de Hardware e Software

Objetivo. Introdução à Informática. Estrutura. Apresentar conceitos gerais utilizados em informática.

Apresentação. Ementa da Disciplina. Objetivo da Disciplina. DCA-108 Sistemas Operacionais. Referências Bibliográfica. Referências Bibliográfica

AULA 6 - INTRODUÇÃO AO ARDUINO Revisão de Eletrônica Digital e introdução aos Sistemas Computacionais.

Menores dimensões físicas e maior flexibilidade: Introdução ao mais recente Target Embarcado System on Module

Princípios de Sistemas de Informação. Infraestrutura de TI: Hardware e Software

Introdução (Aula 2) Introdução Arquitetura de Hardware. Organização Estruturada de Computadores. Introdução Conceitos (2) Introdução Conceitos (1)

Administração de Sistemas Operacionais

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO O SISTEMA OPERACIONAL PROFESSOR CARLOS MUNIZ

Estrutura dos Sistemas Operacionais. Adão de Melo Neto

Arquitetura e Organização de Computadores

NOÇÕES DE INFORMÁTICA

Gerando um programa executável a partir de um módulo Python

Sistema Operacional. O S.O. é o programa mais importante do computador. - Realizar a interação entre o usuário, o hardware e o firmware -(BIOS)

Informática Aplicada. Introdução

Sistemas Operacionais II. Linux - Introdução

Organização de Computadores I

CP Introdução à Informática Prof. Msc. Carlos de Salles

Introdução à Computação MAC0110

Projeto de Algoritmos

APOSTILA 2 - TUTORIA SISTEMAS OPERACIONAIS

Estudo da placa de prototipagem Intel Galileo Gen2. Apostila de acompanhamento para o aluno.

de Redes de Computadores Linux

Transcrição:

Instituto Federal do Ceará Essas apresentação possui um acumulado de informações de mais de 9 meses de pesquisa e desenvolvimento em redes mesh utilizando o firmware Openwrt. OpenWrt: modelagem do 1 código Nas profundezas do kernel do Linux...

2 Uma abordagem: Top-Down Introdução Sabemos que sistemas embarcados são desenvolvidos para uma tarefa específica. O software escrito para sistemas embarcados é muitas vezes chamado firmware, e armazenado em uma memória ROM ou memória flash ao invés de um disco rígido. Para esse projeto utilizamos roteadores da TP-LINK que são de baixo custo e possui um firmware fechado embarcado.

3 Conhecendo nossos dispositivos... Roteador: TP-LINK WR842ND Firmware: TP-LINK

4 Conhecendo nossos dispositivos... Antena USB: TL-WN721N

5 Especificações do roteador... Interface: 4 Portas LAN 10/100Mbps 1 Porta WAN 10/100Mbps 1 Porta USB 2.0 Antena 2 antenas externas destacáveis de 5 dbi (RP-SMA) Padrões Wireless IEEE 802.11n, IEEE 802.11g, IEEE 802.11b Arquitetura MIPS 74Kc V4.12 CPU Speed Flash size RAM size System-On-Chip RAM chip 535 MHz 8 MiB 32 MiB Atheros AR9341 Winbond W9425G6JH-5

6 Agora temos um problema... Como falado antes o firmware embarcado nos roteadores da TP-Link é fechado e bastante limitado tornando não muito é interessante para nosso projeto. Precisamos estar livres para realizar nossas configurações e modificações dos protocolos de rede. Então precisamos de um firmware que nos de essa liberdade. A solução para o nosso problema foi o nosso querido OpenWrt. Um firmware para dispositivos embarcados baseado em Linux. Ele nos deu poder total em modificação, distribuição e suporte.

7 Conheçam o LUCI... Interface gráfica do OpenWrt: LuCi

8 Funcionou! E agora? E agora vamos começar nossa jornada e mergulhar a fundo no OpenWrt Já parou para pensar como tudo isso funciona? Para responder essa pergunta é preciso entender como foi projetado o OpenWrt.

9 Hardware x Software Para que o hardware e o software se entendam é necessário que a haja uma ponte entre eles. E essa ponte é chamada de kernel.

10 Kernel... O que é um kernel? O núcleo é o componente central do sistema operativo ele serve de ponte entre aplicativos e o processamento real de dados feito a nível de hardware.

11 Temos outro problema... Como vimos anteriormente um firmware embarcado é feito para um hardware especifico. E como vimos nas especificações dos nossos roteadores podemos notar claramente que ele não possui recursos suficiente para uma compilação de todo o firmware. Como o OpenWrt consegue a proeza rodar em vários dispositivos diferentes? A resposta para esse pergunta é utilizando um compilador cruzado.

12 Compilador cruzado Com o compilador cruzado é capaz de produzir código executável em uma plataforma diferente da qual o compilador está sendo executado. Esses compiladores são usados para compilar para uma plataforma que não pode sustentar satisfatoriamente uma compilação. Sendo assim, é possível compilar o mesmo código fonte e rodar e vários dispositivos desde que se tenha o compilador daquela plataforma especifica.

13 Obtendo o código fonte...

14 Estrutura de diretórios...

15 Principais diretórios... bin/: Aqui temos os arquivos binários pronto para instalar nos dispositivos build_dir/: O diretório de criação e compilação. docs/: Documentação geral do openwrt. package/: Pacotes complementares. target/: Os compiladores para cada dispositivo.

16 OpenWrt build... Para ter acesso ao código fonte é necessário construi-lo. Para construir o código fonte precisamos resolver suas dependências.

17 Make Menuconfig... E interface de configuração do sistema de compilação OpenWrt que lida com a seleção da plataforma de destino, pacotes para ser compilado, pacotes a serem incluídos no arquivo do firmware, algumas opções de configuração do kernel, etc. Para iniciar a interface de configuração do OpenWrt, basta emitir o seguinte comando:

18 Menuconfig Interface...

19 Building Images Agora vamos construir finalmente a imagem do sistema. Para isso basta emitir o seguinte comando:

20 Agora vai...

21 olhando os diretórios construídos... Target: Código e Objeto Toolchair: Conjunto de ferramentas(código e Compilador)

22 Abrindo o diretório Target... Kernel, scripts de gerenciamento, bibliotecas, gerenciador de boot

23 Acessando o kernel... Módulos base: O que estamos interessados mesmo é no modulo wireless

24 Acessando Wireless/Net/mac80211 Modulo mac80211s: código fonte de implementação das redes mesh e hwmp.

25

26

27

28

29

30

31

32

33

34

35

36

37 Trabalho Futuro... Teste de distancia e números de saltos...

38 Duvidas?

39 Obrigado!