Zyxel NSA320S és a Debian Linux – 2. rész

Az előző bejegyzésben már taglaltam, hogy miért lehet érdemes a Zyxel NSA320S operációs rendszerét lecserélni. Ebben a bejegyzésben most az első tapasztalataimról írok. Időszűke miatt szándékosan nem térek ki minden apróságra, de előre kell bocsátanom, hogy nem ebben a bejegyzésben lesz a sikeres Debian bootról szóló beszámolóm vége.

Fontos! Senkit nem bíztatok arra, hogy csak ezen leírásra alapozva belekezdjen egy NAS szoftverének vagy hardverének módosításába. Egyetlen célom, hogy a rendelkezésemre álló információkat megosszam azokkal, akik szintén hasonlón törik a fejüket. Minden hozzászólást, infót és visszajelzést szívesen fogadok, de a leírások felhasználásából fakadó károkért felelősséget vállalni nem tudok.

Első lépésben ki kellett találnom, hogy miről szeretném elindítani a majdani operációs rendszert. Van néhány (elvi) lehetőség, és mindegyik ellen és mellett szólnak érvek is.

Miről bootolhat egy Zyxel NSA320S?

NSA320S DebianA bootolás első lépéseként a NAND első részén tárolt U-Boot nevű loader indul el, amely egy nyílt forráskódú, beágyazott rendszereken gyakran használt rendszerbetöltő alkalmazás. Ez PC vonalon a BIOS-nak feleltethető meg leginkább. Az U-Boot loaderrel soros konzolon keresztül kommunikálhatunk, csak komoly problémák esetén érdemes frissíteni, mert mellényúlás esetén már legtöbbször csak a JTAG segít.

Az U-Boot és a Linux kernel együttesen az alábbi lehetőségeket kínálja a rendszerpartíció számára:

  1. USB pendrive. Elsőre nem hangzik rosszul, de tisztában kell lenni vele, hogy a pendriveokon használatos flash memóriák nem folyamatos üzemre lettek kitalálva. Még akkor sem, ha a Windows néhány verziója ennek az ellenkezőjéről győzködte a felhasználókat a fantáziadús nevű Readyboost kapcsán.
  2. Beépített 128MB NAND. A 128MB méretű NAND egyáltalán nem kevés, a Zyxel alapból két független Linux kernelt és két rootfs-t is tárol rajta. Tulajdonképpen alkalmas a feladatra, ha a telepített OS-t eléggé apróra préseljük össze, és a rootfs folyamatos írásáról is lebeszéljük a rendszert. Az OpenWRT rendszert használóknak még soknak is tűnhet a 128MB, de egy alap Debian rendszer számára is túlontúl szűkös ekkora tárhely, márpedig nekem pont az a célom, hogy számos csomaggal bővíthető rendszert tákoljak össze.
  3. NFS. Van olyan terület, aminél látnám ennek létjogosultságát, illetve az NFS lehetősége nagyban leegyszerűsíti egy alaprendszer felépítését, tesztelgetését. Hosszabb távon azonban egy NAS működését nem tenném függővé a hálózaton lévő NFS szervertől.
  4. SATA diszkek. A NAS alapfunkciójához amúgy is nélkülözhetetlen diszkeken minden további nélkül helyet kaphat a Swap és a Linux rendszerpartíció is.
  5. UART boot. Az U-Boot képes a soros vonalon is fogadni egy boot imaget, de ez 115200-as sebesség mellett nagyon-nagyon lassú, végszükség esetén azért használható megoldás.

Én a fentiek közül a belső, SATA diszkek használatát látom leginkább célravezetőnek, de a rendszerépítgetéshez a TFTP/NFS használata is járható útnak tűnik. Meglátjuk.

Mentsünk mindent!

Egy sikeres módosítás után nem hiszem, hogy bárki visszasírná az eredeti Zyxel rendszert, de egy biztonsági mentést mindenképp érdemes készíteni a Zyxel által adott NAND tartalomról. Ennek legegyszerűbb módja még a mókolás előtt, a működő Zyxel rendszeren menteni a NAND tartalmát. Az NSA320S aktuálisan legfrissebb (V4.70(AANV.0)) rendszerén, a webes admin felületen engedélyezhető a telnet hozzáférés, a következő parancsokkal pedig menthető néhány visszaállításhoz szükséges adat és a NAND aktuális tartalma.

cat /proc/mtd > mtd-info.txt
fw_printenv > uboot-env.txt
nanddump -of uboot.ndi /dev/mtd0
nanddump -of uboot_env.ndi /dev/mtd1
nanddump -of key_store.ndi /dev/mtd2
nanddump -of info.ndi /dev/mtd3
nanddump -of etc.ndi /dev/mtd4
nanddump -of kernel_1.ndi /dev/mtd5
nanddump -of rootfs1.ndi /dev/mtd6
nanddump -of kernel_2.ndi /dev/mtd7
nanddump -of rootfs2.ndi /dev/mtd8
md5sum *.ndi > md5sum.txt

A kapott fájlokat biztos helyre tettem, de remélhetőleg nem lesz rájuk szükség.

Nézzük, hogy ténylegesen honnan tudjuk bootolni a rendszerünket!

Az NSA320S U-Boot loaderével a már említett USB TTL átalakító segítségével lehet kommunikálni. Szoftvernek Windows alatt az ingyenes és megbízható Putty tökéletesen megfelelő. A három vezeték bekötése nem okozhat gondot senkinek, de a 3,3 Voltos limitre oda kell figyelni, mert egy 5 Voltos próbálkozás esélyesen füstöl el néhány alkatrészt.

USB TTL
A művelethez a képen látható mezei USB-TTL átalakító tökéletesen megfelelő. Az Ebay-en 1 dollárt kérnek érte (szállítással együtt).

A boot folyamata a soros konzolon egy billentyű leütésével megszakítható a „Hit any key to stop autoboot:” megjelenése után, ezután az U-Boot elég sok lehetőséget kínál a boot folyamatába történő beavatkozáshoz.

NSA320S soros TTL port
NSA320S soros TTL portjának tüskesora, a szokásos Zyxel kiosztással.

A bekötést természetesen a NAS áramtalanított állapotában végeztem. A bekapcsolás után az alábbi örömteli kép fogadott a konzolon. Az U-Boot alapértelmezetten 2 másodpercet vár arra, hogy a bootolást megszakítsuk. Van idő, nem kell kapkodni.

NSA320S soros konzol
NSA320S soros konzol.

Hamar kiderült, hogy a legfrissebb firmware (is) meglehetősen hiányos (vagy bugos) U-Boot tekintetében. A Zyxel fejlesztői az U-Boot minimális működésén kívül nem igazán foglalkoztak a rendszerrel. Talán valahol érthető, hogy az alapfunkciók tekintetében működő rendszer elérésekor a fejlesztők kényelmesen hátradőltek, de azért láttam már ennél igényesebb munkát.

  1. Az USB portok megfelelő inicializálás hiányában nem működnek U-Boot alatt. A +5V nincs meg, és elsőre úgy tűnik, hogy ezzel az U-Boot verzióval nincs is lehetőség USB drive-ról bootolásra.
  2. Az ethernet vezérlő sincs megfelelően inicializálva, emiatt nem detektál linket, innentől ki van lőve a netkonzol és a TFTP boot lehetősége is.

Az első gondra még könnyű volt megoldást találni, hiszen ezt a problémát az előttem próbálkozók már leküzdötték az NSA325 típussal próbálkozások során. Az U-Boot drivere működőképes, de a 6702-es chip USB port táplálását kapcsoló GPIO portja (21-es) alapértelmezetten alacsonyan van. A SoC kontroll-regiszterei szerencsére memory-mapped módon elérhetőek, azaz egyszerű memória írási/olvasási műveletekkel hozzáférhetőek akár U-Boot alatt is. A „GPIO Data Out Register” 21. bitjét 1-esre állítva máris megjön az 5V az USB portokon. Az alábbi U-Boot parancs pont ezt valósítja meg.

mw.l f1010100 1361c000
usb reset

Az értékek magyarázata egyszerű, a „map” paranccsal lekérhető, hogy a memória mely részére vannak mappelve a SoC belső regiszterei (INTER_REGS ….base f1000000, size 1MB). A 88F6702-hez nincs még elérhető dokumentáció, de a régebbi Kirkwood modellekhez elérhető „Functional Specifications” PDF alapján sejthető, hogy a „GPIO Data Out Register” offset ennél a Kirkwoodnál is 0x10100 lesz. Mindegyik Kirkwoodnál itt van. Ezután az md.l paranccsal megnézhető, hogy milyen érték van jelenleg a 0xf1010100 címen (0x1341c000) (hiszen nem szeretnék más GPIO portot bántani), majd 21. bitet 1-re állítottam (0x1361c000).

Az ethernet vezérlő problémája sajnos nem orvosolható ilyen egyszerűen, mert az U-Boot szerint nincs link, miközben a Switch és a Ethernet port ledjei szerint ez nem valós infó. A Marvell 886702 két gigabites ethernetet támogat, melyből az NSA320S egyet használ. Az „sg” parancs szerint az elsőn nincs link, a másodikon van, ez most vagy valós vagy sem. Elsőre nem találtam megoldást rá, hogy az U-Bootot a második port használatára beszéljem rá. Annyi tudható, hogy a Zyxel kernel indítása után rebootolva a NAS-t működik az ethernet U-Boot alatt is.

Bootoljunk egy Debian kernelt!

Első körben egy gyári Debian kernellel próbálkoztam. A Wheezy Backports 3.16-os kerneléhez nem fűztem komoly reményeket, hiszen tudom, hogy az NSA320S még a legújabb kernelben sem támogatott. Első körben nem is állítottam be a mainline kernel bootolásához egyébként szükséges U-Boot változókat sem, mert csak arra voltam kíváncsi, hogy az U-Boot az elvárásaimnak megfelelően működik-e.

ext2load usb 0:1 0x800000 /uimage
bootm 0x800000

A fenti parancsok a pendrive-on létrehozott első particióról (ext2) egy uimage nevü Linux kernel betöltését és elindítását hivatottak végrehajtani.

NSA320S Linux 3.16
Debian Linux 3.16 kernel boot kísérlet.

A fenti hibaüzenet teljesen rendben van, hiszen az NSA320S még nem támogatott a kernelben. Lesz ez másképp, csak meg kell írni hozzá az NSA320S-t támogató Device Tree  fájlt, esetleg néhány drivert és egyebet. Ahogy az időm engedi, előbb-utóbb elkészül majd minden.

Folytatás következik…

Hivatkozások:

http://www.madadmin.com/zyxel-nsa320s-es-debian-linux-1-resz/
http://www.madadmin.com/zyxel-nsa320s-es-debian-linux-3-resz/
http://www.madadmin.com/zyxel-nsa320s-es-debian-linux-4-resz/
http://www.madadmin.com/zyxel-nsa320s-es-debian-linux-5-resz/
https://github.com/pkirchhofer/nsa325-kernel
http://forum.doozan.com/
http://forum.nas-central.org/
https://www.kernel.org/
http://www.marvell.com/embedded-processors/kirkwood/

17 hozzászólás “Zyxel NSA320S és a Debian Linux – 2. rész” bejegyzéshez

  1. A szabadidőm függvényében haladgatok. Most a 3.18-as kernelt foltozom hozzá. Egyelőre ott tartok, hogy képes bebootolni az NSA320S vason egy 3.18. Nagyjából van egy alap Debian rendszerem, de a kernel még nagyon kiegészítésre szorul. Az Ethernet inicializálása még nincs teljesen rendben, de sejtem mi a gond. Az alaplapon használt RTC IC-hez nincs támogatás a Linux kernelben, a Zyxel meg nem adta ki a forrást, kicsit keresgélek még, de szerintem az lesz a legegyszerűbb, ha megírom a drivert hozzá. A hűtőventi vezérlése sincs még meg. A watchdog is belővésre vár. A WOL-t meg sem néztem még. A GPIO portra kötött előlapi ledek és kapcsolókat a végére hagyom, mert abban nem sok kihívás van.

    Röviden? Sok van még, de haladok. 🙂

  2. how can i fix this 😕

    [ 1.612276] usb 1-1: new high-speed USB device number 2 using orion-ehci
    [ 1.662262] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl F300)
    [ 1.702294] ata1.00: ATA-8: ST3500413AS, JC4B, max UDMA/133
    [ 1.707840] ata1.00: 976773168 sectors, multi 0: LBA48 NCQ (depth 31/32)
    [ 1.763746] usb 1-1: New USB device found, idVendor=05e3, idProduct=0608
    [ 1.770432] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
    [ 1.777569] usb 1-1: Product: USB2.0 Hub
    [ 1.781954] ata1.00: configured for UDMA/133
    [ 1.786600] scsi 0:0:0:0: Direct-Access ATA ST3500413AS JC4B PQ: 0 ANSI: 5
    [ 1.794925] hub 1-1:1.0: USB hub found
    [ 1.799478] hub 1-1:1.0: 4 ports detected
    [ 1.803774] sd 0:0:0:0: [sda] 976773168 512-byte logical blocks: (500 GB/465 GiB)
    [ 1.811332] sd 0:0:0:0: Attached scsi generic sg0 type 0
    [ 1.817072] sd 0:0:0:0: [sda] Write Protect is off
    [ 1.822325] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn’t support DPO or FUA
    [ 1.848272] sda: sda1 sda2
    [ 1.852540] sd 0:0:0:0: [sda] Attached SCSI disk
    [ 2.112625] usb 1-1.2: new high-speed USB device number 3 using orion-ehci
    [ 2.162255] ata2: SATA link down (SStatus 0 SControl F300)
    [ 2.167791] md: Waiting for all devices to be available before autodetect
    [ 2.174576] md: If you don’t use raid, use raid=noautodetect
    [ 2.180963] md: Autodetecting RAID arrays.
    [ 2.185065] md: Scanned 0 and added 0 devices.
    [ 2.189488] md: autorun …
    [ 2.192280] md: … autorun DONE.
    [ 2.195660] Root-NFS: no NFS server address
    [ 2.199823] VFS: Unable to mount root fs via NFS, trying floppy.
    [ 2.206277] VFS: Cannot open root device „nfs” or unknown-block(2,0): error -6
    [ 2.213500] Please append a correct „root=” boot option; here are the available partitions:
    [ 2.221837] 1f00 1024 mtdblock0 (driver?)
    [ 2.226889] 1f01 512 mtdblock1 (driver?)
    [ 2.231934] 1f02 512 mtdblock2 (driver?)
    [ 2.236989] 1f03 512 mtdblock3 (driver?)
    [ 2.242024] 1f04 10240 mtdblock4 (driver?)
    [ 2.247071] 1f05 10240 mtdblock5 (driver?)
    [ 2.252108] 1f06 48896 mtdblock6 (driver?)
    [ 2.257163] 1f07 10240 mtdblock7 (driver?)
    [ 2.262199] 1f08 48896 mtdblock8 (driver?)
    [ 2.267254] 0800 488386584 sda driver: sd
    [ 2.271859] 0801 514048 sda1 d5b9d0ea-01
    [ 2.276740] 0802 487869952 sda2 d5b9d0ea-02
    [ 2.281605] Kernel panic – not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
    [ 2.289830] CPU: 0 PID: 1 Comm: swapper Not tainted 3.19.0-nsa320s-1 #1
    [ 2.296409] Hardware name: Marvell Kirkwood (Flattened Device Tree)
    [ 2.302667] [] (unwind_backtrace) from [] (show_stack+0x10/0x14)
    [ 2.310385] [] (show_stack) from [] (panic+0x78/0x1fc)
    [ 2.317242] [] (panic) from [] (mount_block_root+0x1fc/0x244)
    [ 2.324700] [] (mount_block_root) from [] (mount_root+0xec/0x110)
    [ 2.332501] [] (mount_root) from [] (prepare_namespace+0x160/0x1c0)
    [ 2.340476] [] (prepare_namespace) from [] (kernel_init_freeable+0x1c0/0x208)
    [ 2.349314] [] (kernel_init_freeable) from [] (kernel_init+0x8/0xe4)
    [ 2.357373] [] (kernel_init) from [] (ret_from_fork+0x14/0x3c)
    [ 2.364905] —[ end Kernel panic – not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
    [ 70.332251] random: nonblocking pool is initialized

  3. Dear slider,

    Probably, the bootargs or bootcmd values are wrong. Please show your U-Boot variables. (The full output of the printenv command.)

    MadAdmin

  4. Dear BIG 🙂 MadAdmin

    i fix boot but debian not see the interface (eth0 or egiga0)…

    can you give me your all files to usb stick ? (uimage, initrd.gz, uinitrd …)

    ┤ [!] Configure the network ├─────────────────────┐
    │ │
    │ No network interfaces detected │
    │ No network interfaces were found. The installation system was unable │
    │ to find a network device. │
    │ │
    │ You may need to load a specific module for your network card, if you │
    │ have one. For this, go back to the network hardware detection step. │
    │ │
    │ │

  5. printenv
    bootargs=console=ttyS0,115200 mtdparts=nand_mtd:0x100000(uboot),0x80000(uboot_env),0x80000(key_store),0x80000(info),0xA00000(etc),0xA00000(kernel_1),0x2FC0000(rootfs1),0xA00000(kernel_2),0x2FC0000(rootfs2) root=/dev/nfs rw init=/init
    bootdelay=2
    baudrate=115200
    loads_echo=0
    rootpath=/srv/ubuntu
    nandEcc=1bit
    MODEL_ID=AF03
    PRODUCT_NAME=STG-326
    FEATURE_BIT=00
    CONTRY_TYPE=FF
    VENDOR_NAME=MitraStar Technology Corp.
    run_diag=yes
    ethaddr=5C:F4:AB:47:8A:85
    console=console=ttyS0,115200 mtdparts=nand_mtd:0xc0000@0(uboot)ro,0x7f00000@0x100000(root)
    ethprime=egiga0
    bootargs_root=root=/dev/nfs rw
    bootargs_end=:::DB88FXX81:eth0:none
    image_name=uImage
    standalone=fsload 0x2000000 $(image_name);setenv bootargs $(console) root=/dev/mtdblock0 rw ip=$(ipaddr):$(serverip)$(bootargs_end) $(mvPhoneConfig); bootm 0x2000000;
    ethmtu=1500
    mvPhoneConfig=mv_phone_config=dev[0]:fxs,dev[1]:fxo
    mvNetConfig=mv_net_config=(00:11:88:0f:62:81,0:1:2:3),mtu=1500
    usb0Mode=host
    yuk_ethaddr=00:00:00:EE:51:81
    netretry=no
    rcvrip=169.254.100.100
    loadaddr=0x02000000
    autoload=no
    image_multi=yes
    ethact=egiga0
    serverip=192.168.10.101
    ipaddr=192.168.10.20
    netmask=255.255.255.0
    arcNumber=3339
    bootargs_console=console=ttyS0,115200
    bootargs_mtdpartitions=mtdparts=nand_mtd:0x100000(uboot),0x80000(uboot_env),0x80000(key_store),0x80000(info),0xA00000(etc),0xA00000(kernel_1),0x2FC0000(rootfs1),0xA00000(kernel_2),0x2FC0000(rootfs2)
    init_usb=mw.l f1010100 1361c000;usb reset
    init_sata=mw.l f1010104 c70e0ffd;ide reset
    bootcmd_sata=setenv bootargs ${bootargs_console} ${bootargs_mtdpartitions} netconsole=6665@${ipaddr}/eth0,6666@${serverip}/ root=/dev/md0 ro;ext2load ide 0:1 0x800000 /uimage;bootm 0x800000
    bootcmd_usb=setenv bootargs ${bootargs_console} ${bootargs_mtdpartitions} netconsole=6665@${ipaddr}/eth0,6666@${serverip}/;fatload usb 0 0x800000 /uimage;fatload usb 0 0xf00000 /uinitrd;bootm 0x800000 0xf00000
    bootcmd_nand=setenv bootargs ${bootargs_console} ${bootargs_mtdpartitions} root=/dev/nfs rw init=/init;nand read.e 0x2000000 ${kernel_addr} 0xa00000; bootm 0x2000000
    IP_serwera=192.168.10.1
    init_eth=phyWrite 1 0x16 0x3;phyWrite 1 0x10 0x1017;phyWrite 1 0x11 0x4408;phyWrite 1 0x16 0;phyWrite 1 0x4 0x1e1;phyWrite 1 0x9 0x300;phyWrite 1 0x10 0x3860;phyWrite 1 0x0 0x9140
    init_egiga=phyWrite 1 0x16 0x3;phyWrite 1 0x10 0x1017;phyWrite 1 0x11 0x4408;phyWrite 1 0x16 0;phyWrite 1 0x4 0x1e1;phyWrite 1 0x9 0x300;phyWrite 1 0x10 0x3860;phyWrite 1 0x0 0x9140
    bootcmd=run init_egiga;run init_usb;run init_sata;run bootcmd_usb;run bootcmd_sata;run bootcmd_nand
    stdin=serial
    stdout=serial
    stderr=serial
    mainlineLinux=yes
    enaMonExt=no
    enaCpuStream=no
    enaWrAllo=no
    pexMode=RC
    disL2Cache=no
    setL2CacheWT=yes
    disL2Prefetch=yes
    enaICPref=yes
    enaDCPref=yes
    sata_dma_mode=yes
    netbsd_en=no
    vxworks_en=no
    disaMvPnp=no
    enaAutoRecovery=yes
    kernel_addr=0xc80000
    pcieTune=no

  6. gatewayip=192.168.10.1
    netmask=255.255.255.0
    ipaddr=192.168.10.101
    serverip=192.168.10.101
    dnsip=192.168.10.1

    Environment size: 2878/131068 bytes
    Marvell>> ping
    Marvell>> ping wp.pl
    Usage:
    ping – send ICMP ECHO_REQUEST to network host

    Marvell>> ping 192.168.10.1
    Using egiga0 device
    host 192.168.10.1 is alive
    Marvell>> ping 212.77.100.101
    Using egiga0 device
    host 212.77.100.101 is alive
    Marvell>>

  7. Hi again 🙂

    [    2.352133] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(9,0)
    [    2.360358] CPU: 0 PID: 1 Comm: swapper Not tainted 3.19.0-nsa320s-1 #1
    [    2.366936] Hardware name: Marvell Kirkwood (Flattened Device Tree)
    [    2.373193] [<c000e5fc>] (unwind_backtrace) from [<c000bc74>] (show_stack+0x10/0x14)
    [    2.380912] [<c000bc74>] (show_stack) from [<c0694cf8>] (panic+0x78/0x1fc)
    [    2.387768] [<c0694cf8>] (panic) from [<c093b204>] (mount_block_root+0x1fc/0x244)
    [    2.395227] [<c093b204>] (mount_block_root) from [<c093b430>] (mount_root+0xec/0x110)
    [    2.403029] [<c093b430>] (mount_root) from [<c093b5b4>] (prepare_namespace+0x160/0x1c0)
    [    2.411004] [<c093b5b4>] (prepare_namespace) from [<c093ae34>] (kernel_init_freeable+0x1c0/0x208)
    [    2.419841] [<c093ae34>] (kernel_init_freeable) from [<c0693ecc>] (kernel_init+0x8/0xe4)
    [    2.427901] [<c0693ecc>] (kernel_init) from [<c00094d8>] (ret_from_fork+0x14/0x3c)
    [    2.435440] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(9,0)
    

    You will need to boot manually with the kernel on partition │
    │ /dev/sda1 and root=/dev/sda2 passed as a kernel argument.

    so i do this :

    chroot /target /bin/bash
    cd /boot
    wget http://www.madadmin.com/wp-content/uploads/2015/02/uimage

    exit finish installing debian & reboot

    then
    setenv bootargs ‘console=ttyS0,115200 root=/dev/sda2’

    boot

    and i have k.panic

    something wrong ?

    Marvell>> printenv
    bootdelay=2
    baudrate=115200
    loads_echo=0
    rootpath=/srv/ubuntu
    nandEcc=1bit
    MODEL_ID=AF03
    PRODUCT_NAME=STG-326
    FEATURE_BIT=00
    CONTRY_TYPE=FF
    VENDOR_NAME=MitraStar Technology Corp.
    run_diag=yes
    ethaddr=5C:F4:AB:47:8A:85
    console=console=ttyS0,115200 mtdparts=nand_mtd:0xc0000@0(uboot)ro,0x7f00000@0x100000(root)
    ethprime=egiga0
    bootargs_root=root=/dev/nfs rw
    bootargs_end=:::DB88FXX81:eth0:none
    image_name=uImage
    standalone=fsload 0x2000000 $(image_name);setenv bootargs $(console) root=/dev/mtdblock0 rw ip=$(ipaddr):$(serverip)$(bootargs_end) $(mvPhoneConfig); bootm 0x2000000;
    ethmtu=1500
    mvPhoneConfig=mv_phone_config=dev[0]:fxs,dev[1]:fxo
    mvNetConfig=mv_net_config=(00:11:88:0f:62:81,0:1:2:3),mtu=1500
    usb0Mode=host
    yuk_ethaddr=00:00:00:EE:51:81
    netretry=no
    rcvrip=169.254.100.100
    loadaddr=0x02000000
    autoload=no
    image_multi=yes
    ethact=egiga0
    arcNumber=3339
    bootargs_console=console=ttyS0,115200
    bootargs_mtdpartitions=mtdparts=nand_mtd:0x100000(uboot),0x80000(uboot_env),0x80000(key_store),0x80000(info),0xA00000(etc),0xA00000(kernel_1),0x2FC0000(rootfs1),0xA00000(kernel_2),0x2FC0000(rootfs2)
    init_usb=mw.l f1010100 1361c000;usb reset
    init_sata=mw.l f1010104 c70e0ffd;ide reset
    bootcmd_sata=setenv bootargs ${bootargs_console} ${bootargs_mtdpartitions} netconsole=6665@${ipaddr}/eth0,6666@${serverip}/ root=/dev/md0 ro;ext2load ide 0:1 0x800000 /uimage;bootm 0x800000
    bootcmd_usb=setenv bootargs ${bootargs_console} ${bootargs_mtdpartitions} netconsole=6665@${ipaddr}/eth0,6666@${serverip}/;fatload usb 0 0x800000 /uimage;fatload usb 0 0xf00000 /uinitrd;bootm 0x800000 0xf00000
    bootcmd_nand=setenv bootargs ${bootargs_console} ${bootargs_mtdpartitions} root=/dev/nfs rw init=/init;nand read.e 0x2000000 ${kernel_addr} 0xa00000; bootm 0x2000000
    IP_serwera=192.168.10.1
    init_eth=phyWrite 1 0x16 0x3;phyWrite 1 0x10 0x1017;phyWrite 1 0x11 0x4408;phyWrite 1 0x16 0;phyWrite 1 0x4 0x1e1;phyWrite 1 0x9 0x300;phyWrite 1 0x10 0x3860;phyWrite 1 0x0 0x9140
    init_egiga=phyWrite 1 0x16 0x3;phyWrite 1 0x10 0x1017;phyWrite 1 0x11 0x4408;phyWrite 1 0x16 0;phyWrite 1 0x4 0x1e1;phyWrite 1 0x9 0x300;phyWrite 1 0x10 0x3860;phyWrite 1 0x0 0x9140
    bootcmd=run init_egiga;run init_usb;run init_sata;run bootcmd_usb;run bootcmd_sata;run bootcmd_nand
    gatewayip=192.168.10.1
    netmask=255.255.255.0
    serverip=192.168.10.101
    dnsip=192.168.10.1
    ipaddr=dhcp
    bootargs=console=ttyS0,115200 root=/dev/sda2

    stdin=serial
    stdout=serial
    stderr=serial
    mainlineLinux=yes
    enaMonExt=no
    enaCpuStream=no
    enaWrAllo=no
    pexMode=RC
    disL2Cache=no
    setL2CacheWT=yes
    disL2Prefetch=yes
    enaICPref=yes
    enaDCPref=yes
    sata_dma_mode=yes
    netbsd_en=no
    vxworks_en=no
    disaMvPnp=no
    enaAutoRecovery=yes
    kernel_addr=0xc80000
    pcieTune=no

    Environment size: 2679/131068 bytes
    Marvell>>

  8. Hi slider,

    The options specified in this variable overwrite the values of the bootargs:

    bootcmd_sata=setenv bootargs ${bootargs_console} ${bootargs_mtdpartitions} netconsole=6665@${ipaddr}/eth0,6666@${serverip}/ root=/dev/md0 ro;ext2load ide 0:1 0x800000 /uimage;bootm 0x800000

  9. 🙂 ok i have

    setenv bootcmd_sata 'setenv bootargs ${bootargs_console} ${bootargs_mtdpartitions} netconsole=6665@${ipaddr}/eth0,6666@${serverip}/ root=/dev/sda2 ro;ext2load ide 0:1 0x800000 /uimage;bootm 0x800000'
    

    THX MadAdmin

  10. and maybe to the kernel : firmware-realtek, firmware-atheros

    apt-get install -t squeeze-backports firmware-realtek
    apt-get install -t squeeze-backports firmware-atheros

A hozzászólások jelenleg nem engedélyezettek ezen a részen.