OpenWrt: modelagem do

Documentos relacionados
Programação de Periféricos

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

Administrando Kernel no Debian GNU/Linux

LINUX. Uma visão geral

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

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

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

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

Sistemas Operacionais João Bosco T. Junior. Sistemas Operacionais João Bosco Junior - V1.3

Por Fernando Koyanagi 1

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

Laboratório de Microprocessadores Compilação Cruzada

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

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

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

Computadores. HW e SW

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

Introdução à Informática

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)

Prof. Samuel Henrique Bucke Brito

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.

Guia de Segurança do Oracle Hardware Management Pack para Oracle Solaris 11.3

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

Componentes do Sistema Operacional (Parte 2)

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

Introdução à Ciência da Computação ICC0001 Prof. Diego Buchinger

Programação. Module Introduction. Cap. 1 Fundamentos de Computadores

Administração de Sistemas Operacionais

Estrutura do SO. Prof. Paulo Cesar F. de Oliveira, BSc, PhD

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

Estrutura dos Sistemas Operacionais. Adão de Melo Neto

Gerência de Redes de Computadores. 05 Gerência de Hospedeiros (Hosts)

Métricas de Roteamento para Redes em Malha Sem Fio

1 Criação da distribuição Ångström Linux

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

Sistema Operacional. Escola de Ciências e Tecnologia ECT1103 INFORMÁTICA FUNDAMENTAL UFRN

Introdução à Computação MAC0110

Projeto de Algoritmos

Sistemas Operacionais Visão Geral

Comandos Diversos relacionados a Sistemas de Arquivos

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!