Soekris net4526
Esta board nao tem slot CF card, pelo que a instalação de OpenWRT passa por um boot inicial por PXE e depois o flash da imagem com dd
Ambiente PXE
É necessário um servidor tftp e um servidor dhcpd (isc-dhcpd)
uma conf possivel para o dhcpd:
subnet 10.0.1.0 netmask 255.255.255.0 { interface eth0; range 10.0.1.30 10.0.1.40; default-lease-time 6000; max-lease-time 7200; option subnet-mask 255.255.255.0; option time-offset -3600; allow booting; allow bootp; filename "/pxelinux.0"; }
No directorio configurado para root do tftp server (geralmente /tftpboot) é extrado o pxelinux.0 que pode ser obtido de uma package recente de syslinux
uma configuração possivel de PXE:
jm@meshdev:/tftpboot# cat /tftpboot/pxelinux.cfg/default serial 0 19200 0x303 console 0 label linux kernel vmlinuz.ram append init=/etc/preinit root=/dev/hda1 console=tty0 console=ttyS0,19200n8 reboot=bios
Existem builds regulares de ramdisks openwrt para esta board em http://sinesis.unimos.net/ipkg/soekris-net4526
wget http://sinesis.unimos.net/ipkg/soekris-net4526/openwrt-x86-vmlinuz mv openwrt-x86-vmlinuz /tftpboot/vmlinuz.ram
Para activar o arranque por PXE na BIOS, é necessário a sequencia Ctrl-P apos o arraque da board para obtermos a prompt:
comBIOS ver. 1.33 20080103 Copyright (C) 2000-2007 Soekris Engineering. net45xx 0064 Mbyte Memory CPU Elan SC520 133 Mhz Pri Mas 064MB ATA Flash Disk LBA 977-4-32 62 Mbyte Slot Vend Dev ClassRev Cmd Stat CL LT HT Base1 Base2 Int ------------------------------------------------------------------- 0:00:0 1022 3000 06000000 0006 2280 00 00 00 00000000 00000000 0:16:0 168C 0013 02000001 0116 0290 10 3C 00 A0000000 00000000 10 0:17:0 168C 0013 02000001 0116 0290 10 3C 00 A0010000 00000000 11 0:18:0 100B 0020 02000000 0107 0290 00 3F 00 0000E001 A0020000 05 comBIOS Monitor. Press ? for help. >
Na prompt o comando “boot f0” arranca o PXE.
Gravação de imagem na Flash
após o arranque do OpenWRT, obtemos uma imagem e gravamos na flash:
root@OpenWrt:/# wget http://sinesis.unimos.net/ipkg/soekris-net4526/openwrt-x86-squashfs.image Connecting to sinesis.unimos.net (195.22.10.229:80) openwrt-x86-squashfs.image 100% |*******************************| 5527k 00:00:00 ETA root@OpenWrt:/# dd if=openwrt-x86-squashfs.image of=/dev/hda 11055+1 records in 11055+1 records out root@OpenWrt:/# reboot
BIOS EBDA/lowmem at: 0009fc00/0009fc00 Linux version 2.6.28.10 (jm@sinesis) (gcc version 4.1.2) #3 Tue May 12 00:43:169 KERNEL supported cpus: Intel GenuineIntel AMD AuthenticAMD NSC Geode by NSC Cyrix CyrixInstead Centaur CentaurHauls Transmeta GenuineTMx86 Transmeta TransmetaCPU UMC UMC UMC UMC PAT not supported by CPU. BIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - 000000000009fc00 (usable) BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved) BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 0000000004000000 (usable) BIOS-e820: 00000000fff00000 - 0000000100000000 (reserved) DMI not present or invalid. last_pfn = 0x4000 max_arch_pfn = 0x100000 64MB LOWMEM available. mapped low ram: 0 - 04000000 low ram: 00000000 - 04000000 bootmap 00001000 - 00001800 (6 early reservations) ==> bootmem [0000000000 - 0004000000] #0 [0000000000 - 0000001000] BIOS data page ==> [0000000000 - 0000001000] #1 [0000100000 - 000035e8ac] TEXT DATA BSS ==> [0000100000 - 000035e8ac] #2 [000035f000 - 0000361000] INIT_PG_TABLE ==> [000035f000 - 0000361000] #3 [000009fc00 - 0000100000] BIOS reserved ==> [000009fc00 - 0000100000] #4 [0000007000 - 0000016000] PGTABLE ==> [0000007000 - 0000016000] #5 [0000001000 - 0000002000] BOOTMAP ==> [0000001000 - 0000002000] Zone PFN ranges: DMA 0x00000000 -> 0x00001000 Normal 0x00001000 -> 0x00004000 Movable zone start PFN for each node early_node_map[2] active PFN ranges 0: 0x00000000 -> 0x0000009f 0: 0x00000100 -> 0x00004000 No local APIC present or hardware disabled Allocating PCI resources starting at 10000000 (gap: 4000000:fbf00000) Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16159 Kernel command line: block2mtd.block2mtd=/dev/hda2,65536,rootfs root=/dev/mtdbls Initializing CPU#0 PID hash table entries: 256 (order: 8, 1024 bytes) Console: colour dummy device 80x25 console [tty0] enabled console [ttyS0] enabled Dentry cache hash table entries: 8192 (order: 3, 32768 bytes) Inode-cache hash table entries: 4096 (order: 2, 16384 bytes) Memory: 62052k/65536k available (1425k kernel code, 3072k reserved, 639k data, ) virtual kernel memory layout: fixmap : 0xfffac000 - 0xfffff000 ( 332 kB) vmalloc : 0xc4800000 - 0xfffaa000 ( 951 MB) lowmem : 0xc0000000 - 0xc4000000 ( 64 MB) .init : 0xc0306000 - 0xc0335000 ( 188 kB) .data : 0xc0264606 - 0xc030451c ( 639 kB) .text : 0xc0100000 - 0xc0264606 (1425 kB) Checking if this processor honours the WP bit even in supervisor mode...Ok. SLUB: Genslabs=12, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 Calibrating delay loop... 66.56 BogoMIPS (lpj=332800) Mount-cache hash table entries: 512 CPU: AMD Am5x86-WB stepping 04 Checking 'hlt' instruction... OK. Checking for popad bug... OK. Freeing SMP alternatives: 0k freed net_namespace: 480 bytes NET: Registered protocol family 16 PCI: PCI BIOS revision 2.01 entry at 0xf7861, last bus=0 PCI: Using configuration type 1 for base access PCI: Probing PCI hardware pci 0000:00:12.0: PME# supported from D0 D1 D2 D3hot D3cold pci 0000:00:12.0: PME# disabled bus: 00 index 0 io port: [0x00-0xffff] bus: 00 index 1 mmio: [0x000000-0xffffffff] NET: Registered protocol family 2 IP route cache hash table entries: 1024 (order: 0, 4096 bytes) TCP established hash table entries: 2048 (order: 2, 16384 bytes) TCP bind hash table entries: 2048 (order: 1, 8192 bytes) TCP: Hash tables configured (established 2048 bind 2048) TCP reno registered NET: Registered protocol family 1 platform rtc_cmos: registered platform RTC device (no PNP device found) scx200: NatSemi SCx200 Driver microcode: no support for this CPU vendor squashfs: version 3.0 (2006/03/15) Phillip Lougher Registering mini_fo version $Id$ JFFS2 version 2.2. (NAND) (SUMMARY) �© 2001-2006 Red Hat, Inc. msgmni has been set to 121 io scheduler noop registered io scheduler deadline registered (default) isapnp: Scanning for PnP cards... isapnp: No Plug & Play device found Real Time Clock Driver v1.12ac Non-volatile memory driver v1.2 Serial: 8250/16550 driver2 ports, IRQ sharing disabled serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A Uniform Multi-Platform E-IDE driver ide_generic: please use "probe_mask=0x3f" module parameter for probing all legas hda: 064MB ATA Flash Disk, ATA DISK drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 ide1 at 0x170-0x177,0x376 on irq 15 ide-gd driver 1.18 hda: max request size: 128KiB hda: 125056 sectors (64 MB) w/1KiB Cache, CHS=977/4/32 hda: hda1 hda2 Creating 1 MTD partitions on "rootfs": 0x00000000-0x03030000 : "rootfs" mtd: partition "rootfs_data" created automatically, ofs=E0000, len=2F50000 0x000e0000-0x03030000 : "rootfs_data" block2mtd: mtd0: [rootfs] erase_size = 64KiB [65536] PNP: No PS/2 controller found. Probing ports directly. i8042.c: Can't read CTR while initializing i8042. i8042: probe of i8042 failed with error -5 mice: PS/2 mouse device common for all mice TCP vegas registered NET: Registered protocol family 17 802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com> All bugs added by David S. Miller <davem@redhat.com> IO APIC resources could be not be allocated. Using IPI Shortcut mode VFS: Mounted root (squashfs filesystem) readonly. Freeing unused kernel memory: 188k freed Please be patient, while OpenWrt loads ... - preinit - Press CTRL-C for failsafe jffs2 not ready yet; using ramdisk mini_fo: using base directory: / mini_fo: using storage directory: /tmp/root - init - Please press Enter to activate this console. natsemi dp8381x driver, version 2.6 originally by Donald Becker <becker@scyld.com> 2.4.x kernel port by Jeff Garzik, Tjeerd Mulder natsemi eth0: NatSemi DP8381[56] at 0xa0020000 (0000:00:12.0), 00:00:24:c3:46:2. PPP generic driver version 2.4.2 eth0: DSPCFG accepted after 0 usec. eth0: link up. eth0: Setting full-duplex based on negotiated link capability. device eth0 entered promiscuous mode br-lan: topology change detected, propagating br-lan: port 1(eth0) entering forwarding state ip_tables: (C) 2000-2006 Netfilter Core Team br-lan: port 1(eth0) entering disabled state br-lan: topology change detected, propagating br-lan: port 1(eth0) entering forwarding state nf_conntrack version 0.5.0 (1024 buckets, 4096 max) leds_net48xx: Unknown symbol scx200_gpio_ops ne2k-pci.c:v1.03 9/22/2003 D. Becker/P. Gortmaker sc520_wdt: WDT driver for SC520 initialised. timeout=30 sec (nowayout=0) scx200_gpio: no SCx200 gpio present sc520_wdt: Watchdog timer is now enabled. BusyBox v1.11.3 (2009-05-11 04:24:04 WEST) built-in shell (ash) Enter 'help' for a list of built-in commands. _______ ________ __ | |.-----.-----.-----.| | | |.----.| |_ | - || _ | -__| || | | || _|| _| |_______|| __|_____|__|__||________||__| |____| |__| W I R E L E S S F R E E D O M KAMIKAZE (bleeding edge, r15766) ------------------- * 10 oz Vodka Shake well with ice and strain * 10 oz Triple sec mixture into 10 shot glasses. * 10 oz lime juice Salute! --------------------------------------------------- root@OpenWrt:/# jffs2_scan_eraseblock(): End of filesystem marker found at 0x0 jffs2_build_filesystem(): unlocking the mtd device... done. jffs2_build_filesystem(): erasing all blocks after the end marker... done. mini_fo: using base directory: / mini_fo: using storage directory: /jffs root@OpenWrt:/#
Após configuração, o OpenWRT não arranca sem o cabo de consola ligado. Para desactivar esta funcionalidade existe o comando na consola da BIOS:
> show ConSpeed = 19200 ConLock = Enabled ConMute = Disabled BIOSentry = Enabled PCIROMS = Enabled PXEBoot = Enabled FLASH = Primary BootDelay = 5 FastBoot = Disabled BootPartition = Disabled BootDrive = 80 81 F0 FF ShowPCI = Enabled Reset = Hard CpuSpeed = Default > set ConMute=Enabled > show > show ConSpeed = 19200 ConLock = Enabled ConMute = Enabled BIOSentry = Enabled PCIROMS = Enabled PXEBoot = Enabled FLASH = Primary BootDelay = 5 FastBoot = Disabled BootPartition = Disabled BootDrive = 80 81 F0 FF ShowPCI = Enabled Reset = Hard CpuSpeed = Default
Mesmo com o *conmute* activado, é sempre possível o Alt-p no arranque, logo nos segundos iniciais. 192008N1.