Portál AbcLinuxu, 5. května 2025 13:15
Dobry den,
nedavno jsem si do sveho routeru WL500W stahnul neoficialni Oleg Firmware a diky nemu konecne zprovoznil ssh pripojeni na router.
Na nem bezi Linux s Kernelem 2.4.20. O temer vsechny prikazy se stara utilita busybox. Ta je vsak zkompilovana s minimem prikazu. Rekl jsem si tedy, ze si zkompiluji novou verzi se vsemi prikazy.
Stahnul jsem si tedy nejnovejsi verzi 1.13.2 a zkompiloval na svem PC (kernel 2.6.28, gcc 4.3.3), pak jsem vyslednou binarku nahral pres scp na router. Ta vsak nefungovala. Predpokladam, ze to bude tim, ze architektura routeru je zcela odlisna od te v PC. Otazka tedy zni. Jak mohu na svem pc busybox zkompilovat tak, abych ho pak mohl spustit na embeded linuxu v routeru?
A jeste jedna vec. Prihlasuji se pres ssh jako admin - je to jediny uzivatel v /etc/passwd (pak je tam jeste nobody), ale napriklad do adresare /bin/ ma pravo zapisu jen root, ktery tam vsak jako uzivatel neneexistuje. Jak je vubec mozne ze tyto soubory vlastni neexitujici uzivatel? Je nejaka moznost jak do techto adresaru zapisovat? Napadlo me leda pouzit nejaky local root exploit:)
Tak jsem zjistil ze ten router ma architekturu MIPS. V manualu k gcc jsem nasel option -march=mips32, gcc mi vsak haze toto:
$ gcc -march=mips32 a.c a.c:1: error: bad value (mips32) for -march= switch a.c:1: error: bad value (mips32) for -mtune= switch
Muzete mi prosim poradit jak tedy program prelozit pro MIPS?
Primo cely novy OS tam nepotrebuju, na to nemam ani potrebne znalosti. Staci mi jen vedet, jak zkompilovat treba jednoduche Hello World v cecku pro MIPS architekturu, vi nekdo?
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.