Projeto Tutoo Desenvolvimento de uma Distribuição Linux para o Mercado Brasileiro Tutoo Team 6° Fórum Internacional Software Livre http://tutoo.las.ic.unicamp.br Roteiro ● Introdução ● Histórico do projeto ● Decisões iniciais ● Desafios iniciais ● Instalador ● Sub-projetos ● Desafios atuais e futuros ● Realidade brasileira 6° Fórum Internacional Software Livre http://tutoo.las.ic.unicamp.br Introdução ● ● O que é o LAS? ● Laboratório de segurança ● Mirrors ● Experiência com Linux O que é o Projeto Tutoo? ● Distribuição GNU/Linux ● Baseada em Gentoo Linux ● Voltada para o mercado brasileiro ● Convênio LAS-IC-Unicamp e Itautec 6° Fórum Internacional Software Livre http://tutoo.las.ic.unicamp.br Projeto Tutoo ● Histórico ● ● Início: novembro de 2004 Equipe ● 13 integrantes ● ● ● Graduandos Pós-graduandos Foco: ● Inicialmente: servidores corporativos ● Atualmente: desktop 6° Fórum Internacional Software Livre http://tutoo.las.ic.unicamp.br Decisões iniciais ● Distribuição base: ● Gentoo Linux ● ● ● Otimização Flexibilidade / Personalização Mecanismo de gerenciamento de pacotes ● ● ● Instalação e atualização Segurança Instalação: ● ● Requer conhecimento avançado Longo tempo de instalação 6° Fórum Internacional Software Livre http://tutoo.las.ic.unicamp.br Desafios iniciais ● Instalador ● Interface gráfica ● Simplificar o processo de instalação ● ● Sem limitar as ações do usuário Pacotes pré-compilados ● Sem restringir o poder do usuário 6° Fórum Internacional Software Livre http://tutoo.las.ic.unicamp.br Desafios iniciais ● Instalador ● Alternativas ● Portar instaladores existentes: ● ● ● ● ● Anaconda YaST DrakX Difícil adaptação! Desenvolver um novo instalador ● Desafio! 6° Fórum Internacional Software Livre http://tutoo.las.ic.unicamp.br Desafios iniciais ● Instalador ● Como carregar o programa de instalação? ● LiveCD ● ● ● ● Sistema Linux executando em CD Sistema básico com os recursos necessários ao instalador Detecção de hardware Ambiente gráfico 6° Fórum Internacional Software Livre http://tutoo.las.ic.unicamp.br Desafios iniciais ● LiveCD ● Estudo do funcionamento ● Estudo de ferramentas para geração ● ● Evolução: ● ● ● ● Catalyst: estrutura pouco flexível Modificação de LiveCDs existentes Criação do sistema do LiveCD Automatização do processo de geração Duração: ● Novembro e Dezembro de 2004 6° Fórum Internacional Software Livre http://tutoo.las.ic.unicamp.br Desafios iniciais ● Instalador ● Baseado no modelo de instalação do Anaconda ● Decisões: ● ● ● Linguagem: Python Biblioteca gráfica: Qt Requisitos: ● ● ● ● Configuração de dispositivos básicos Configuração básica do sistema Particionamento de disco Seleção e instalação de pacotes 6° Fórum Internacional Software Livre http://tutoo.las.ic.unicamp.br Instalador ● Configuração de dispositivos básicos ● Teclado ● Mouse ● Rede 6° Fórum Internacional Software Livre http://tutoo.las.ic.unicamp.br Instalador 6° Fórum Internacional Software Livre http://tutoo.las.ic.unicamp.br Instalador 6° Fórum Internacional Software Livre http://tutoo.las.ic.unicamp.br Instalador 6° Fórum Internacional Software Livre http://tutoo.las.ic.unicamp.br Instalador ● Configuração básica do sistema ● Fuso horário ● Usuários e senhas ● Bootloader 6° Fórum Internacional Software Livre http://tutoo.las.ic.unicamp.br Instalador 6° Fórum Internacional Software Livre http://tutoo.las.ic.unicamp.br Instalador 6° Fórum Internacional Software Livre http://tutoo.las.ic.unicamp.br Instalador 6° Fórum Internacional Software Livre http://tutoo.las.ic.unicamp.br Instalador ● Particionamento de disco ● Detecção - pylibparted (libparted) ● Particionamento automático ● Particionamento de fato a posteriori ● Somente após a seleção de pacotes 6° Fórum Internacional Software Livre http://tutoo.las.ic.unicamp.br Instalador 6° Fórum Internacional Software Livre http://tutoo.las.ic.unicamp.br Instalador ● Seleção de pacotes ● Perfis pré-definidos ● ● ● ● Estação de trabalho Servidor Personalizado Estrutura modular 6° Fórum Internacional Software Livre http://tutoo.las.ic.unicamp.br Instalador 6° Fórum Internacional Software Livre http://tutoo.las.ic.unicamp.br Instalador 6° Fórum Internacional Software Livre http://tutoo.las.ic.unicamp.br Instalador ● Instalação ● Stage 3 é descompactado em disco ● Instalado o kernel e portage ● Emerge para instalar os pacotes ● Troca de CDs ● ● Versão inicial com 1 CD Versão atual com 2 ou mais CDs 6° Fórum Internacional Software Livre http://tutoo.las.ic.unicamp.br Instalador 6° Fórum Internacional Software Livre http://tutoo.las.ic.unicamp.br Sub-projetos ● Pylibparted ● ● Slicer ● ● ● Bindings da libparted em Python Particionador utilizando pylibparted Tutoolyst ● Versão Tutoo do Catalyst ● Gera: LiveCDs, stage 4 e pacotes pré-compilados TutooCC ● Conjunto de ferramentas de configuração 6° Fórum Internacional Software Livre http://tutoo.las.ic.unicamp.br Desafios atuais e futuros ● Slicer: ● Redimensionar sistemas de arquivos ● ● NTFS: ntfsresize Instalação não-interativa ● Gravar/carregar seleção de pacotes ● Interface de instalação em modo texto ● Desenvolvimento de drivers 6° Fórum Internacional Software Livre http://tutoo.las.ic.unicamp.br Realidade brasileira ● ● ● Tradução ● Esforço de internacionalização do instalador ● Tradução de pacotes e manuais Desenvolvimento de drivers ● Hardware “brasileiro” ● Case: WinModem Suporte técnico 6° Fórum Internacional Software Livre http://tutoo.las.ic.unicamp.br Projeto Tutoo Tutoo Team http://tutoo.las.ic.unicamp.br [email protected] Paulo Lício Edmar Rezende Ulisses Furquim Renato Chencarek Bruno Lopes Iuriatan Muniz João Paulo André Lauar André Carvalho Arthur Castro Felipe Massia Guilherme O'Connor Rafael Espíndola Tatiane Borili 6° Fórum Internacional Software Livre http://tutoo.las.ic.unicamp.br