Open allgood opened 4 years ago
O suporte a buildbot (e provavelmente junto com ele, ao modo SDK) está no nosso mapa, mas estamos terminando algumas altreações de altíssima prioridade antes.
Entretanto, atentar para as dificuldades em ter um busybox "custom", o SDK não te salva deste requerimento. Nem sempre é possível resolver com defines no Makefile...
Qual é a necessidade no busybox? alguma opção que não está no build default?
Várias, a mais "gritante" é traceroute por ICMP, tem uma gigantesca operadora que quebrou o traceroute em UDP. Existem outras. Em geral estão todas documentadas ou como depends (o build falha se não estiverem ligadas).
Em outro projeto eu fiz uma versão modificada do dnsmasq
, com código, patches e opções diferentes do "oficial" mas que substitui ele. Não seria uma boa ideia fazer um pacote busybox-simet
que conflita com e subsitui o "principal" e é dependência dos scripts do simet?
Imagino que no caso do busybox pode ser complicado porque é ele mesmo que roda os scripts de atualização dos pacotes, de repente durante a troca o sistema pode acabar quebrado a ponto de não conseguir se recuperar, mas de repente a ideia serve.
Estamos utilizando o SDK para gerar imagens agora, então em tese poderíamos disponibilizar a "nossa versão do SDK" que utiliza o nosso "fork" do openwrt (em geral, com backports extras) e configuração do BusyBox (habilita mais coisa).
Para utilizar os pacotes e SDKs do próprio OpenWrt, teríamos duas dificuldades a princípio:
Um pacote renomeado com config diferente em tese funciona, embora seja um peso permanente de manutenção. Só que o BusyBox é meio "especial" de tão fundamental, e de qualquer forma, apenas o OpenWrt 19.07 está em situação de funcionar de forma razoavelmente estável sem precisar ficar fazendo backport ou alterações.
Parece que duas soluções agregariam valor suficiente para justificar o esforço:
Está em estudo, junto com alguma Web-GUI ou TUI para operar o SDK.
É interessante se tiver suporte para compilação usando SDK, de forma que a compilação se dá em menos tempo e gera pacotes compatíveis com os releases binários oficiais do openwrt.
Eu tentei fazer com o seguinte roteiro, mas tive problemas de dependência recursiva, e após ajustado manualmente com esse commit ( https://github.com/ctodobom/simetbox-openwrt-feed/commit/d97733568c985d7a9481bfd21dfcf23bcba37605 ), e após instalados os pacotes, não consegui rodar o teste.
obtain the sdk
add the feed
echo "src-git simetbox https://github.com/simetnicbr/simetbox-openwrt-feed.git" >> feeds.conf.default
install source packages
./scripts/feeds update -a
./scripts/feeds install -p simetbox -a
create signing key
./staging_dir/host/bin/usign -G -s ./key-build -p ./key-build.pub -c "SIMETBOX Build signing key"
build
make
Note: To speed up the build you can add -j5 if you have a quad-core CPU or -j9 if you have a octa-core CPU
build index
make package/index
publish
After the last command, folder/simetbox/packages//simetbox/"
./bin/packages/<arch>/simetbox/
will have the built packages, it can be published on any URL like "https://use repository on an openwrt installation
1. get key fingerprint with
From SDK folder, use the command
./staging_dir/host/bin/usign -F -p ./key-build.pub
2. copy content of key-build.pub into device
obtain the content of key-build.pub with
cat key-build.pub
Paste it into the device with the fingerprint obtained on previous command, on folder
/etc/opkg/keys/
, example:/etc/opkg/keys/1301dcaaf2d17be3
3. install desired packages
On the device shell
opkg install simetbox-openwrt-luci