OR-WiFiSERVER-dev

Материал из roboforum.ru Wiki
Версия от 15:47, 16 октября 2009; Setar (обсуждение | вклад) (Подготовим тулчейн:)
Перейти к: навигация, поиск

пока здесь выкладываю процесс разработки, страница сырая, для собственной памяти разработка ведётся из под gentoo linux

Подготовим тулчейн:

<source> emerge -av crossdev crossdev -t mipsel-softfloat-linux-uclibc emerge -av crossdev-wrappers </source>

Подготовим таргет систему

  1. так собираются пакеты на сервере

emerge-mipsel-softfloat-linux-uclibc -u system emerge-mipsel-softfloat-linux-uclibc -av dropbear

  1. сборка ядра

ARCH=mips make menuconfig ARCH=mips CROSS_COMPILE=mipsel-softfloat-linux-uclibc- make

rm /usr/mipsel-softfloat-linux-uclibc/etc/make.profile ln -s /usr/portage/profiles/uclibc/mips /usr/mipsel-softfloat-linux-uclibc/etc/make.profile mkdir /usr/mipsel-softfloat-linux-uclibc/dev mkdir /usr/mipsel-softfloat-linux-uclibc/proc mkdir /usr/mipsel-softfloat-linux-uclibc/mnt

cd /usr/mipsel-softfloat-linux-uclibc && tar cvzpf - ./bin ./dev ./etc ./lib ./proc ./sbin ./sys-include ./tmp ./usr ./var ./linuxrc | (cd /home/ftp/mips/; cat > root.tgz )

  1. подготовка флешки (indes_size не более 128)

mkfs.ext3 -I 128 /dev/sdd1

подготовка прошивки

это асусовские процедуры подготовки прошивки:

cd $(TARGETDIR) && $(TOP)/misc/rootprep.sh $(LINUXDIR)/scripts/squashfs/mksquashfs-lzma $(TARGETDIR) $(PLATFORMDIR)/target.cramfs -all-root -noappend -nopad

asustrx -p $* -v $(KERNEL_VER).$(FS_VER) -o $(PLATFORMDIR)/$*-$(RELEASE).trx \ loader/loader.gz $(PLATFORMDIR)/vmlinuz $(PLATFORMDIR)/target.cramfs

asustrx -p $* -v $(KERNEL_VER).$(FS_VER) -o $(PLATFORMDIR)/$*-$(RELEASE).trx \ $(PLATFORMDIR)/vmlinuz $(PLATFORMDIR)/target.cramfs

OFFTOP Исследование роутера

[admin@or-serv mtdblock]$ cat /proc/mtd dev: size erasesize name mtd0: 00040000 00010000 "boot" mtd1: 007b0000 00010000 "linux" mtd2: 0070c000 00010000 "rootfs" mtd3: 00010000 00010000 "nvram" mtd4: 00410000 00010000 "flashfs"

[admin@or-serv tmp]$ dd if=/dev/mtdblock/0 of=boot.img 512+0 records in 512+0 records out [admin@or-serv tmp]$ dd if=/dev/mtdblock/1 of=linux.img 15744+0 records in 15744+0 records out [admin@or-serv tmp]$ dd if=/dev/mtdblock/2 of=rootfs.img 14432+0 records in 14432+0 records out [admin@or-serv tmp]$ dd if=/dev/mtdblock/3 of=nvram.img 128+0 records in 128+0 records out [admin@or-serv tmp]$ dd if=/dev/mtdblock/4 of=flashfs.img 8320+0 records in 8320+0 records out

Настройка на роутере

cd /tmp/mnt/disc0_1/ wget ftp://192.168.150.33/mips/root.tgz tar -xvzpf ./root.tgz mount -t proc none /tmp/mnt/disc0_1/proc mount -o bind /dev /tmp/mnt/disc0_1/dev chroot /tmp/mnt/disc0_1 /bin/bash

  1. в чруте:

source /etc/profile rc-update add dropbear default passwd ln -s /etc/init.d/net.lo /etc/init.d/net.eth0 nano /etc/conf.d/net config_eth0="192.168.150.243/24" routes_eth0="default via 192.168.150.1" rc-update add net.eth0 default