Sistemas Embarcados. Filesystem Hierarchy Standard (FHS) Root filesystem. Aula 06



Documentos relacionados
Disciplina: Sistemas Operacionais Professor: Cristiano Mariotti

Gerenciamento de Boot

Mini curso de GNU/Linux

>>> OBJETIVOS... === FHS - Filesystem Hierarchy Standard. === Sistemas de arquivos e Partições

03/11/2011. Apresentação. SA do Linux. Sistemas de Arquivos. Curso Tecnologia em Telemática. Disciplina Administração de Sistemas Linux

LABORATÓRIO DE SISTEMAS OPERACIONAIS. PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO

Revisão Aula Explique a MBR(Master Boot Record)

Desenvolvimento para Sistemas Embarcados (CEA 513) Conceitos Gerais

Aula 01 Visão Geral do Linux

SIMULADO DE INFORMÁTICA BÁSICA TÉCNICO DO MPU PROF. ALEXANDRE LÊNIN / PROF. JUNIOR MARTINS

Revisão LPI101. Tópicos e Objetivos Instalação e Gerenciamento de Pacotes do Linux Dispositivos, Sistemas de Arquivos Linux e o FHS

16:21:50. Introdução à Informática com Software Livre

Estrutura de um Sistema Linux Moderno Padrões de um Sistema Linux. Prof. Claudio Silva

Introdução ao Linux: Parte I

Partição Partição primária: Partição estendida: Discos básicos e dinâmicos

Gerenciamento do Processo de Inicialização do Linux

Minicurso de Introdução a GNU/Linux. Nicolas Katte Dornelles Raul José Chaves Róbson Tolfo Segalla

Introdução a Administração de Sistemas GNU/Linux

FTIN Formação Técnica em Informática Módulo de Administração de Servidores de Rede AULA 03. Prof. Gabriel Silva

Aula 05 Estrutura de diretórios

Administração de Sistemas GNU/Linux

Sistemas Operacionais

Sistemas Embarcados. Tarefas básicas de um bootloader. Configurações genéricas de boot. Aula 05

Administração de Sistemas Operacionais

SOFTWARE LIVRE. Distribuições Live CD. Kernel. Distribuição Linux

Administração de Redes Linux. Unidade 1 - LINUX

Migrando para o OpenSolaris

Organização do Curso. Instalação e Configuração. Módulo II. Pós Graduação em Projeto e Gerencia de Redes de Computadores

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

Sistema Operacional Unidade 2 - Estrutura, dispositivos e sistema de arquivos do Linux

Faculdades Senac Pelotas

Manual de Instalação PIMSConnector em Linux

Hierarquia de Diretórios da Família Linux. Sistemas Operacionais 1

Sistemas Operacionais

Curso GNU/Linux. Instalação do Linux...2 O HD não possui nenhuma partição...3. Existe apenas uma partição com espaço livre...3

I N F O R M Á T I C A. Sistemas Operacionais Prof. Dr. Rogério Vargas Campus Itaqui-RS

Instalando o Debian em modo texto

Funções de um SO. Gerência de processos Gerência de memória Gerência de Arquivos Gerência de I/O Sistema de Proteção

UFRJ IM - DCC. Sistemas Operacionais I. Unidade I Introdução. 11/02/2014 Prof. Valeria M. Bastos

Programação Aplicada a Redes de Computadores Shell Script

Software Livre. Acesso ao código fonte Alterar o código fonte Redistribuir Utilizar como desejar

UFRJ IM - DCC. Sistemas Operacionais I

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

SISTEMAS OPERACIONAIS 2007

Informática. Aula 03 Sistema Operacional Linux. Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Campus Currais Novos

INSTALANDO O UBUNTU PELA IMAGEM ISO OU LIVE-USB DA UFV PASSO-A-PASSO.

Apontamentos do livro de AI Linux. 1.5 Modo texto e modo gráfico

Construindo um Linux Parte 1 - Disk Boot Objetivo: Entender que o Linux é como um LEGO (Pode ser montado).

Boot e shutdown. Administração de Sistemas 2015/2016 Pedro Brandão. Referências dos slides

Introdução ao Linux MICHELLE NERY

ESTUDO DE CASO WINDOWS VISTA

Recuperando o GRUB após instalação do Windows

3 Revisão de Software

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 1. Cursos de Computação

Sistemas Operacionais. Prof. André Y. Kusumoto

Manual de Instalação PIMSConnector em Windows

Formação de Administradores de Redes Linux LPI level 1. Aula 6 SENAC TI Fernando Costa

Gerenciamento de Arquivos e Pastas. Professor: Jeferson Machado Cordini jmcordini@hotmail.com

Fundamentos de Sistemas Operacionais. GNU / Linux. Prof. Edwar Saliba Júnior Março de Unidade GNU / Linux

Administração de sistemas Linux. Os níveis de inicialização do sistemas (runlevel)

HOW TO. Instalação do Firewall 6.1 Software

Instalador e Operador de Sistemas de Telefonia e Comunicação de Dados

Sou o professor Danilo Augusto, do TIParaConcursos.net, e costumo trabalhar temas relacionados a Redes de Computadores e Sistemas Operacionais.

Kernel Linux. Trabalho Realizador Por: Tiago Conceição Nº Representação artística do núcleo Linux

Onde vai o Quê em um Sistema Linux?! 1

102 Instalação e gerenciamento de pacotes

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

Sistemas Operacionais de Rede Linux - Gerenciamento de Arquivos

Configure seu Linux pela Web! Instalação à partir de um.tar.gz. Autor: Carlos Eduardo Ribeiro de Melo <eduardo at unisulma.edu.br> Data: 05/10/2004

Gerenciamento de Redes de Computadores. Pfsense Introdução e Instalação

Sistemas Operacionais

Real Application Cluster (RAC)

Sistemas Operacionais de Redes I - Linux Recursos, Redes e Samba Sistemas Operacionais de Redes I - Linux Módulo III Módulo III

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

INSTALAÇÃO DO SUSE LINUX ENT. DESKTOP 10

Sistema Operacional LINUX

Construindo um Linux Parte 2 Disk Root Objetivo: Entender que o Linux é como um LEGO (Pode ser montado). Prof. Claudio Silva

Administração de Sistemas Operacionais. Prof.: Marlon Marcon

Aloque 1024 MB de RAM para a VM. Crie um novo disco virtual. Figura 03. Figura 04.

Mini curso de GNU/Linux

Objetivos do Curso. Organização do Curso. Apresentação do Curso. Pós Graduação em Projeto e Gerencia de Redes de Computadores

Introdução Dalvik Linux 2.6. Android. Diogo de Campos, João Paulo Pizani Flor, Maurício Oliveira Haensch, Pedro Covolan Bachiega

Lista de exercícios - P2

MANDRIVA CONECTIVA LINUX - ADMINISTRAÇÃO DE SISTEMAS E REDES

Gerenciamento de Processos

Compilação de Programas a partir do código-fonte:

Guia de instalação UEG Linux LTS

Projeto de extensão Linux no Campus

Apresentação. Ementa da Disciplina. Objetivo da Disciplina. DCA-108 Sistemas Operacionais

VirtuOS vrs para usuários da vrs. 3.01a R.10

O servidor de banco de dados ORACLE corporativo da empresa deve possuir a seguinte especificação mínima:

Fundamentos de Administração de Sistemas

6 - Gerência de Dispositivos

COORDENAÇÃO DE TECNOLOGIA (COTEC) AGOSTO/2010

Sistema Operacional Saber Gnu/Linux Prefeitura de São Paulo

Manual de instalação. Manual de instalação. Liberdade. Liberdade. Versão /10/2002. Versão /10/2002

Transcrição:

Introdução Sistemas Embarcados Root File System Linux (kernel) é apenas uma parte de um sistema embarcado Preciso executa a inicialização do sistema e de aplicações Necessário montar o sistema de arquivos Objetivo: Estudar os detalhes da inicialização pós-kernel Necessidade do root file system Compreender a necessidade do busybox Entender mais um pouco o initrd e o bootstrap Aula 06 2 Root filesystem Filesystem Hierarchy Standard (FHS) Sistema de arquivos base da hierarquia(root = raiz superuser) Sistema de arquivos = arquivos + diretórios em uma partição Representado pela barra (/) Vários outros sistemas de arquivos são montados a partir dele e.g.: proc, NFS, jffs2 etc Requisitos/tarefas do root filesystem para linux Programas e utilitários para boot do sistema Inicializar serviços Carregar s Montar outros file systems Padronização da organização e layout de sistemas de arquivos unix http://www.pathname.com/fhs Documento de aproximadamente 30 páginas Regras oficiais para o rootfilesystem Sistemas embarcados tem uma certa flexibilidade nessas regras / bin boot dev etc home lib mnt opt root sbin tmp usr var 3 4

Diretórios top-level do root filesystem bin: executáveis disponíveis a todos os usuários do sistema boot: arquivos empregados pelo bootloader dev: dispositivos de E/S (device s) etc: arquivos de configuração, incluindo os de inicialização home: diretórios de usuários e certos serviços (e.g. ftp) lib: bibliotecas essenciais (libc e módulos do kernel) mnt: ponto de montagem para sistemas de arquivos temporários opt: pacotes de software ad-on proc: sistema de arquivos virtual (kernel e monitoração de processos) root: diretório do superusuário (root) sbin: executáveis relativos a tarefas administrativas (superuser) tmp: arquivos temporários usr: hierarquia secundária para aplicativos var: arquivos de tamanho variável (logs, spooling...) Para sistemas embarcados,... mas cada caso é um caso!! Abordagem minimalista: bin: executáveis disponíveis a todos os usuários do sistema dev: dispositivos de E/S (device s) etc: arquivos de configuração, incluindo os de inicialização lib: bibliotecas essenciais (libc e módulos do kernel) sbin: executáveis relativos a tarefas administrativas (superuser) tmp: arquivos temporários usr: hierarquia secundária para aplicativos var: arquivos de tamanho variável (logs, spooling...) Foram retirados: boot, home, mnt, opt, proc, root boot: depende do bootloader proc: se não houver necessidade de analisar o kernel 5 6 Problema: definir um root filesystem mínimo Exemplo de um root filesystem hyper-mínimo Desafio: Pôr no root filesystem tudo que é necessário para a aplicação executar Uma aplicação pode depender de vários arquivos e.g. arquivos de configuração, bibliotecas, icones, databases, internacionalização, etc Normalmente distribuídos em vários diretórios (e.g. apache) Dependências de outros programas Métodos: Tentativa e erro Ferramenta de geração automática É uma das coisas proprietárias de uma solução linux embarcada comercial bin dev etc lib Maior parte! busybox sh -> busybox console Init.rd rcs Engloba vários comandos Unix O porquê mais tarde... Interface com o meio (dispositivo de E/S) desejável ao busybox ld-2.3.2.so ld-linux.so.2 -> lid-2.3.2.so libc-2.3.2.so libc.so.6 -> libc-2.3.2.so Loader: carrega binário em memória e ligação dinâmica glibc: aplicações dependem de funções dela (e.g. printf) 7 8

Inicialização do sistema operacional Execução do programa init O programa de boot lê e carrega em memória o núcleo do sistema operacional O núcleo recebe o controle e realiza: Inicialização de tabelas internas de dados Inicialização e instalação de s de dispositivos Criação de um processo especial (init) a partir do qual todos os outros processos serão derivados No final da inicialização do kernel é feito a execução do init Necessário achar o programa init Montagem do root filesystem Executar o init As últimas linhas da inicialização do kernel são: run_init_process( /sbin/init ); run_init_process( /etc/init ); run_init_process( /bin/init ) ; run_init_process( /bin/sh ); Eis a razão do link no FS hyper-mínimo! panic( no init found. Try passing init= option to kernel. ); 9 10 Processo init Criação de processos UNIX: fork e exec Primeiro processo a ser executado em espaço de usuário Dispara vários outros processos Informados em um arquivo de configuração (/etc/inittab) Todos os processos do sistema são descendentes do init Conceito de runlevel Conjunto de serviços habilitados Scripts de inicialização Localização depende do estilo do sistema (System V ou BSD) Sistemas Unix em geral Nível 0 é parada Nível 1 ou S monousuário Níveis 2 a 5 são multiusuário Nível 6 é reinicialização init PID 1 fork init getty login sh fork sh PID 563 exec grep PID 563 exec 11 12

Inicialização do sistema operacional Linux Níveis de execução (runlevel) Baseada na inicialização da família UNIX System V Primeiro processo a ser executado é o init que realiza: Inicialização de estruturas internas do sistema operacional Dispara os processos (deamons) necessários ao funcionamento do sistema Arquivos de configuração residem no diretório /etc/rc.d e em seus subdiretórios Arquivos: rc.sysinit e rc.local Subdiretórios: initd.d, rc0.d, rc1.d, rc2.d, rc3.d, rc4.d, rc5.d e rc6.d Sistema Linux possui vários níveis de execução 0: parada do sistema 1: modo monousuário (single) 2: definido pelo usuário 3: multiusuário sem restrições 4: definido pelo usuário 5: multiusuário com interface gráfica 6: reboot do sistema S: modo monousuário /etc/inittab indica a seqüência de scripts a ser executada Cada nível de execução possui em /etc/rc.d um subdiretório próprio com tarefas de inicialização 13 14 Seqüência de inicialização O diretório /etc/rc.d/init.d Execução do processo init init executa o script /etc/rc.d/rc.sysinit init executa os scripts de configuração do nível de execução selecionado por default init executa rc.local Utilizado para tarefas suplementares de inicialização Mensagem de inicialização Executa sempre que ocorre a inicialização ou troca no nível de execução Contém vários scripts de inicialização Um script para cada serviço a ser lançado na execução do sistema ou na troca de nível de execução Recebem argumentos do tipo start, stop, e restart /etc/rc.d/init.d/httpd.init stop Exemplos de serviços: rede, nfs, sendmail, ftp, http, etc.. 15 16

Os diretórios /etc/rc.d/rc?.d Procedimento de inicialização do sistema O objetivo é selecionar quais scripts de /etc/rc.d/init.d devem ser executados em cada nível de execução Personalização do sistema Na realidade não são arquivos mas sim referências aos scripts que estão em /etc/rc.d/init.d Cada referência possui uma letra ( S ou K ) e um número S : script é executado no lançamento do sistema (argumento start) K : script é executado na parada do sistema (argumento stop) O número (nn) indica a ordem que os scripts devem ser executados Master Boot Record (MBR) lilo ou grub 6 init /etc/inittab 5 3 7 1 2 vmlinuz / 8,9 /boot /usr /tmp /etc 4 run level 1 run level 3 ou 5 1. Hardware lê o setor de boot (MBR) 2. Carrega lilo/grub 3. Carga do núcleo (kernel) 4. Montagem do sistema de arquivo do root 5. Execução do init 6. Leitura do /etc/inittab 7. Executa script rc1.d 8. Final do rc1.d indica próximo (rc3.d ou rc5.d) 9. Executa rc3.d (ou rc5.d) 10. Voilá!!!...... 17 18 Parada do sistema Inital Disk (novamente ele!): initrd Um sistema UNIX não pode ser desligado brutalmente sob pena de se criar inconsistências no sistema O comando shutdown deve ser utilizado: shutdown -h now (pára o sistema) shutdown -r now (reboot no sistema) Possibilidades de utilizar: Comandos reboot e halt Seqüência Ctrl-Alt-Del normalmente é programada para realizar automaticamente shudown seguido de reboot Mecanismo para montar o root filesystem para inicialização e configuração durante o startup do sistema O kernel deve ser configurado com esse suporte Opção está em block devices disk suport Possui um root filesystem autocontido Informação dos s a serem carregados antes de se completar a fase de bootstrap e.g. em linux desktop é usado para carregar os drives ext3 Uso comum é carregar o de dispositivo usado para acessar o root filesystem real 19 20

Booting com initrd Problema do ovo e da galinha : initrd Necessário passar uma imagem do initrd para o kernel Bootloader faz: Carrega imagem compactada do kernel Carrega o initrd em memória Necessário informar o endereço da carga e tamanho do initrd para o kernel antes de passar o controle a ele Seqüência exata depende do sistema, do bootloader, da arquitetura Após carga e descompactação: Monta o ( disk) como root filesystem Executa o script linuxrc (contido no próprio initrd) Sistema de arquivo temporário usado para no boot de sistemas linux Nem sempre é necessário, vai depender de características próprias do sistema e.g.: possível inicializar diretamente da imagem binária Um sistema só pode dar boot se ele tem o do dispositivo onde está a imagem do kernel Drivers podem ser escritos como módulos e carregado na memória apenas no momento do boot INTial Ram DisK No momento do boot é carregado pelo bootloader o kernel e o initrd na memória Controle é passado para o kernel Instala novos s de dispositivos e monta o sistema de arquivos 21 22 ramdisk versus ramfs Que mais nos precisamos? Access to file Virtual File System Filesystem Block (disk) Block storage Regular block device Copy File cache Access to file Virtual File System Filesystem Block (ramdisk) Ramdisk block device File cache Copy Block storage Access to file Virtual File System ramfs File cache Bootloader OK Cross-compiler Sistema de arquivo OK Drivers de dispositivo Ambiente de desenvolvimento 23 24

PERGUNTAS E COMENTÁRIOS FINAIS?? 25