OpenWRT em Mikrotik Routerboard 750 (Linux on MIPS AR7xxx/AR9xxx): mudanças entre as edições
(Criou página com '= Descrição = Instalação de Linux OpenWRT com imagem personalizada em hardware Mikrotik de arquitetura MIPS # cat /proc/cpuinfo <pre>system type : Atheros...') |
Sem resumo de edição |
||
Linha 65: | Linha 65: | ||
Crie um usuário: | Crie um usuário: | ||
# useradd | # useradd coffnix -m -gusers | ||
Dê permissão de acesso no diretório ao novo usuário: | Dê permissão de acesso no diretório ao novo usuário: | ||
# chown | # chown coffnix. -R /opt/openwrt-mk-750 | ||
Edição atual tal como às 14h35min de 8 de junho de 2023
Descrição
Instalação de Linux OpenWRT com imagem personalizada em hardware Mikrotik de arquitetura MIPS
# cat /proc/cpuinfo
system type : Atheros AR7241 rev 1 machine : MikroTik RouterBOARD 750 processor : 0 cpu model : MIPS 24Kc V7.4 BogoMIPS : 265.42 wait instruction : yes microsecond timers : yes tlb_entries : 16 extra interrupt vector : yes hardware watchpoint : yes, count: 4, address/irw mask: [0x0ffc, 0x0ffc, 0x0ffb, 0x0ffb] isa : mips1 mips2 mips32r1 mips32r2 ASEs implemented : mips16 shadow register sets : 1 kscratch registers : 0 package : 0 core : 0 VCED exceptions : not available VCEI exceptions : not available
Requisitos
Pacotes e requisitos para compilação cruzada
OpenSUSE:
zypper install asciidoc bash bc binutils bzip2 fastjar flex git-core gcc-c++ gcc util-linux gawk gtk2-devel intltool jikes zlib-devel mercurial make genisoimage ncurses-devel libopenssl-devel patch perl-ExtUtils-MakeMaker python-devel rsync ruby sdcc unzip wget gettext-tools libxslt-tools zlib-devel subversion zlib-devel-static
Gentoo/Funtoo:
echo \ app-arch/{bzip2,fastjar,sharutils,unzip,zip} \ app-text/asciidoc dev-java/{icedtea:7,jikes,oracle-jdk-bin} \ dev-libs/{libusb-compat,libxslt,openssl} dev-util/intltool \ dev-vcs/{git,mercurial} net-misc/{rsync,wget} \ net-wireless/b43-fwcutter sys-apps/{gawk,util-linux} \ sys-devel/{bc,bin86,binutils,dev86,flex,gcc[gcj],gettext} \ sys-libs/{ncurses,zlib} virtual/{cdrtools,perl-ExtUtils-MakeMaker} \ x11-libs/gtk+:2 \ | sed 's/\s/\n/g' \ | sort \ | sudo tee /etc/portage/sets/openwrt-prerequisites \ && sudo emerge -DuvNa '@openwrt-prerequisites'
Obtenha os códigos fonte
Obteha a última versão:
# svn co svn://svn.openwrt.org/openwrt/trunk/ # mv trunk/ openwrt-mk-750 ; cd openwrt-mk-750
Crie um usuário:
# useradd coffnix -m -gusers
Dê permissão de acesso no diretório ao novo usuário:
# chown coffnix. -R /opt/openwrt-mk-750
Lembre-se de sempre gerar as imagens como usuário comum para evitar problemas em seu sistema nativo, e também por boas práticas de segurança. Nunca é boa idéia usar ROOT para essa finalidade.
Prepare uma imagem Ramdisk do OpenWRT
# make menuconfig
Antes de selecionar suas opções preferidas de software, defina as opções do hardware:
Target System: Atheros AR7xxx/AR9xxx
Subtarget: Mikrotik devices with NAND flash
Configure OpenWRT para gerar o Ramdisk
Target Images: ramdisk
Compile
# make
OBS: Caso ocorram erros ou seja necessário debugar, utilize -j1 V=s
Prepare uma imagem Target do OpenWRT
# make menuconfig
Configure OpenWRT para gerar a imagem (stage4)
Target Images: tar.gz
Após selecionar a opção tar.gz, configure OpenWRT de acordo com suas necessidades, ativando ou desativando pacotes diversos.
Compile
# make
OBS: Caso ocorram erros ou seja necessário debugar, utilize -j1 V=s
Envie a imagem para o routerboard
Instale os requisitos
OpenSUSE:
# zypper in atftp
Gentoo/Funtoo:
# emerge net-ftp/atftp
Configure o servidor TFTP
# vi /etc/sysconfig/atftpd
ATFTPD_USER="tftp" ATFTPD_GROUP="tftp" ATFTPD_OPTIONS="" ATFTPD_USE_INETD="no" ATFTPD_DIRECTORY="/srv/tftpboot" ATFTPD_BIND_ADDRESSES=""
Crie o arquivo de xinetd:
# vi /etc/xinetd.d/tftp
# default: off # description: tftp service is provided primarily for booting or when a \ # router need an upgrade. Most sites run this only on machines acting as # "boot servers". { socket_type = dgram protocol = udp wait = yes flags = IPv4 user = root server = /usr/sbin/in.tftpd server_args = /etc/xinetd.d/tftpboot # per_source = 11 # cps = 100 2 disable = no }
Crie um script para iniciar o serviço do TFTPD:
#!/bin/bash source /etc/sysconfig/atftpd /usr/sbin/atftpd --user $ATFTPD_USER --group $ATFTPD_GROUP $ATFTPD_OPTIONS $ATFTPD_DIRECTORY --daemon
Dê permissão e execute:
chmod +x start-tftpd.sh ; ./start-tftpd.sh
Após isso, copie os arquivos de imagem gerados para o diretório do TFTPD:
cp /opt/openwrt-mk-750/bin/ar71xx/openwrt-ar71xx-mikrotik-vmlinux-initramfs.elf /srv/tftpboot/
Configure o servidor DHCP
# vi /etc/dhcpd.conf
allow booting; allow bootp; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.10 192.168.1.200; } host routerboard { hardware ethernet 4c:5e:0c:cd:83:f0; fixed-address 192.168.1.100; next-server 192.168.1.2; filename "openwrt-ar71xx-mikrotik-vmlinux-initramfs.elf"; }
Configure a interface de rede ao qual o servidor DHCP usará para propagar os pacotes no broadcast:
# vi /etc/sysconfig/dhcpd
DHCPD_INTERFACE="enp4s0"
Carregando a imagem Ramdisk (boot) para o Routerboard 750
Este procedimento é bem prático, e semelhante a idéia de "dar um boot" com um LiveCD em qualquer PC convencional. Para dar boot via TFTP no RouterBOARD Mikrotik:
1- Conecte um cabo de rede à porta 1 do RouterBoard à placa de rede no servidor DHCP/TFTP
2- Agora pressione e segure o botão "RESET" do roteador e somente após isso conecte o cabo de alimentação. Ambos os LEDs (PWR e ACT) piscarão constantemente, mantenha o botão "RESET" pressionado.
3- Depois de alguns segundos, o LED "ACT" começará a piscar, mantenha pressionado. Depois de mais alguns segundos, o LED "ACT" desligará, e então você poderá parar de pressionar o botão "RESET". O router irá agora tentar obter um endereço IP via DHCP/BOOTP e se for bem sucedido irá efetuar o download e inicializará a imagem Ramdisk gerada anteriormente. Você poderá ver esta atividade em tempo real acompanhando os arquivos de log visto que este modelo de routerBOARD não possui porta serial para saída de tela em minicom[1]:
# tail -f /var/log/messages
Referências: