• Home
  • Help
  • Search
  • Login
  • Register
Pages: 1 2 3 [4] 5 6 ... 16
Author Topic: Sheevaplug installer - version 1.0  (Read 105061 times)
Reedy
Newbie
*

Karma: 0
Posts: 40


View Profile
« Reply #45 on: September 23, 2009, 12:56:18 PM »

Yup, did notice a permission error on openocd (i replaced with your statically built one), and chmodding it then gives some different errors
Code:
[20700.340137] usb 1-2: new full speed USB device using uhci_hcd and address 3
[20700.546677] usb 1-2: configuration #1 chosen from 1 choice
[20707.383701] ===>rt_ioctl_giwscan. 3(3) BSS returned, data->length = 333
[20747.387655] ===>rt_ioctl_giwscan. 3(3) BSS returned, data->length = 333
[20781.080196] usb 1-2: USB disconnect, address 3
[20807.388337] ===>rt_ioctl_giwscan. 2(2) BSS returned, data->length = 243
[20825.494020] USB Serial support registered for FTDI USB Serial Device
[20825.496159] usbcore: registered new interface driver ftdi_sio
[20825.496168] ftdi_sio: v1.4.3:USB FTDI Serial Converters Driver
[20840.648139] usb 1-2: new full speed USB device using uhci_hcd and address 4
[20840.853686] usb 1-2: configuration #1 chosen from 1 choice
[20840.862771] ftdi_sio 1-2:1.0: FTDI USB Serial Device converter detected
[20840.862895] usb 1-2: Detected FT2232C
[20840.863096] usb 1-2: FTDI USB Serial Device converter now attached to ttyUSB0
[20840.869888] ftdi_sio 1-2:1.1: FTDI USB Serial Device converter detected
[20840.870026] usb 1-2: Detected FT2232C
[20840.870242] usb 1-2: FTDI USB Serial Device converter now attached to ttyUSB1
reedy@reedy-laptop:~$

reedy@reedy-laptop:~$ cd /media/disk
reedy@reedy-laptop:/media/disk$ ls
autowikibrowser  PVDataTools-9.2.1.42.1-setup.exe
downloads        sheevaplug-installer-v1.0
lost+found       sheevaplug-installer-v1.0.tar.gz
reedy@reedy-laptop:/media/disk$ cd sheevaplug-installer-v1.0/
reedy@reedy-laptop:/media/disk/sheevaplug-installer-v1.0$ ls
HOWTO_BUILD.txt  installer  README.txt  runme.exe  runme.php  src  uboot  win32
reedy@reedy-laptop:/media/disk/sheevaplug-installer-v1.0$ sudo php runme.php nand

 **** exec(modprobe ftdi_sio vendor=0x9e88 product=0x9e8f)WARNING: All config files need .conf: /etc/modprobe.d/local-fdti, it will be ignored in a future release.

 **** Preparing environment variables file ...
reading uboot/uboot-env/uboot-dflt.txt
uboot/uboot-env/fw_setenv baudrate 115200
CRC read error on uboot-env.bin: Success
uboot/uboot-env/fw_setenv loads_echo 0
uboot/uboot-env/fw_setenv ipaddr 10.4.50.165
uboot/uboot-env/fw_setenv serverip 10.4.50.5
uboot/uboot-env/fw_setenv rootpath /mnt/ARM_FS/
uboot/uboot-env/fw_setenv netmask 255.255.255.0
uboot/uboot-env/fw_setenv stdin serial
uboot/uboot-env/fw_setenv stdout serial
uboot/uboot-env/fw_setenv stderr serial
uboot/uboot-env/fw_setenv console console=ttyS0,115200 mtdparts=nand_mtd:0xc0000@0\(uboot\)ro,0x1ff00000@0x100000\(root\)
uboot/uboot-env/fw_setenv mainlineLinux no
uboot/uboot-env/fw_setenv CASset min
uboot/uboot-env/fw_setenv enaMonExt no
uboot/uboot-env/fw_setenv enaCpuStream no
uboot/uboot-env/fw_setenv enaWrAllo no
uboot/uboot-env/fw_setenv pexMode RC
uboot/uboot-env/fw_setenv disL2Cache no
uboot/uboot-env/fw_setenv setL2CacheWT yes
uboot/uboot-env/fw_setenv disL2Prefetch yes
uboot/uboot-env/fw_setenv enaICPref yes
uboot/uboot-env/fw_setenv enaDCPref yes
uboot/uboot-env/fw_setenv sata_dma_mode yes
uboot/uboot-env/fw_setenv MALLOC_len 1
uboot/uboot-env/fw_setenv ethprime egiga0
uboot/uboot-env/fw_setenv netbsd_en no
uboot/uboot-env/fw_setenv vxworks_en no
uboot/uboot-env/fw_setenv bootargs_root root=/dev/nfs rw
uboot/uboot-env/fw_setenv bootargs_end :::DB88FXX81:eth0:none
uboot/uboot-env/fw_setenv image_name uImage
uboot/uboot-env/fw_setenv bootcmd tftpboot 0x2000000 \$\(image_name\)\;setenv bootargs \$\(console\) \$\(bootargs_root\) nfsroot=\$\(serverip\):\$\(rootpath\) ip=\$\(ipaddr\):\$\(serverip\)\$\(bootargs_end\) \$\(mvNetConfig\) \$\(mvPhoneConfig\)\;  bootm 0x2000000\;
uboot/uboot-env/fw_setenv standalone fsload 0x2000000 \$\(image_name\)\;setenv bootargs \$\(console\) root=/dev/mtdblock0 rw ip=\$\(ipaddr\):\$\(serverip\)\$\(bootargs_end\) \$\(mvPhoneConfig\)\; bootm 0x2000000\;
uboot/uboot-env/fw_setenv bootdelay 3
uboot/uboot-env/fw_setenv disaMvPnp no
uboot/uboot-env/fw_setenv ethaddr 00:50:43:01:CA:B0
uboot/uboot-env/fw_setenv ethmtu 1500
uboot/uboot-env/fw_setenv mvPhoneConfig mv_phone_config=dev0:fxs,dev1:fxs
uboot/uboot-env/fw_setenv mvNetConfig mv_net_config=\(00:11:88:0f:62:81,0:1:2:3\),mtu=1500
uboot/uboot-env/fw_setenv usb0Mode host
uboot/uboot-env/fw_setenv yuk_ethaddr 00:00:00:EE:51:81
uboot/uboot-env/fw_setenv nandEcc 1bit
uboot/uboot-env/fw_setenv netretry no
uboot/uboot-env/fw_setenv rcvrip 169.254.100.100
uboot/uboot-env/fw_setenv loadaddr 0x02000000
uboot/uboot-env/fw_setenv autoload no
uboot/uboot-env/fw_setenv enaAutoRecovery yes
uboot/uboot-env/fw_setenv ethact egiga0
reading uboot/uboot-env/uboot-nand-custom.txt
uboot/uboot-env/fw_setenv bootargs_root ubi.mtd=1 root=ubi0:rootfs rootfstype=ubifs
uboot/uboot-env/fw_setenv mtdpartitions mtdparts=orion_nand:0x400000@0x100000\(uImage\),0x1fb00000@0x500000\(rootfs\)
uboot/uboot-env/fw_setenv ethaddr 00:50:43:01:CA:B0
uboot/uboot-env/fw_setenv real_bootcmd setenv bootargs \$\(bootargs_console\) \$\(mtdpartitions\) \$\(bootargs_root\)\; nand read.e 0x00800000 0x00100000 0x00400000\; bootm 0x00800000
uboot/uboot-env/fw_setenv bootargs_console console=ttyS0,115200
uboot/uboot-env/fw_setenv bootcmd run recover1
uboot/uboot-env/fw_setenv recover1 setenv mainlineLinux yes\; setenv arcNumber 2097\; setenv bootcmd run recover2\; saveenv\; reset
uboot/uboot-env/fw_setenv recover2 run recover3\; setenv bootcmd \$\(real_bootcmd\)\; saveenv\; setenv bootargs \$\(bootargs_console\) \$\(mtdpartitions\) root=/dev/ram0 rw ramdisk=0x01100000,8M install_type=nand\; bootm 0x00800000 0x01100000
uboot/uboot-env/fw_setenv recover3 run recover4\; nand erase clean 0x00100000 0x00400000\; nand write.e 0x00800000 0x00100000 0x00400000
uboot/uboot-env/fw_setenv recover4 usb start\; fatload usb 0 0x00800000 uImage\; fatload usb 0 0x01100000 initrd

 **** Burning uboot and environment variables ... This will take few minutes ...
sh: openocd/openocd: Permission denied
 **** openocd FAILED
 **** Is the mini USB cable connected?
 **** Try powering down, then replugging the Sheevaplugreedy@reedy-laptop:/media/disk/sheevaplug-installer-v1.0$ find | grep openocd
./uboot/openocd
./uboot/openocd/openocd.exe
./uboot/openocd/config
./uboot/openocd/config/target
./uboot/openocd/config/target/feroceon.cfg
./uboot/openocd/config/board
./uboot/openocd/config/board/sheevaplug.cfg
./uboot/openocd/config/interface
./uboot/openocd/config/interface/sheevaplug.cfg
./uboot/openocd/openocd
reedy@reedy-laptop:/media/disk/sheevaplug-installer-v1.0$ ls -al uboot/openocd/openocd
-rw------- 1 reedy reedy 3587170 2009-09-20 11:45 uboot/openocd/openocd
reedy@reedy-laptop:/media/disk/sheevaplug-installer-v1.0$ chmod 775 uboot/openocd/openocd
Logged

Reedy
Newbie
*

Karma: 0
Posts: 40


View Profile
« Reply #46 on: September 23, 2009, 01:00:00 PM »

Code:
reedy@reedy-laptop:/media/disk/sheevaplug-installer-v1.0$ sudo php runme.php nand

 **** exec(modprobe ftdi_sio vendor=0x9e88 product=0x9e8f)WARNING: All config files need .conf: /etc/modprobe.d/local-fdti, it will be ignored in a future release.

 **** Preparing environment variables file ...
reading uboot/uboot-env/uboot-dflt.txt
uboot/uboot-env/fw_setenv baudrate 115200
CRC read error on uboot-env.bin: Success
uboot/uboot-env/fw_setenv loads_echo 0
uboot/uboot-env/fw_setenv ipaddr 10.4.50.165
uboot/uboot-env/fw_setenv serverip 10.4.50.5
uboot/uboot-env/fw_setenv rootpath /mnt/ARM_FS/
uboot/uboot-env/fw_setenv netmask 255.255.255.0
uboot/uboot-env/fw_setenv stdin serial
uboot/uboot-env/fw_setenv stdout serial
uboot/uboot-env/fw_setenv stderr serial
uboot/uboot-env/fw_setenv console console=ttyS0,115200 mtdparts=nand_mtd:0xc0000@0\(uboot\)ro,0x1ff00000@0x100000\(root\)
uboot/uboot-env/fw_setenv mainlineLinux no
uboot/uboot-env/fw_setenv CASset min
uboot/uboot-env/fw_setenv enaMonExt no
uboot/uboot-env/fw_setenv enaCpuStream no
uboot/uboot-env/fw_setenv enaWrAllo no
uboot/uboot-env/fw_setenv pexMode RC
uboot/uboot-env/fw_setenv disL2Cache no
uboot/uboot-env/fw_setenv setL2CacheWT yes
uboot/uboot-env/fw_setenv disL2Prefetch yes
uboot/uboot-env/fw_setenv enaICPref yes
uboot/uboot-env/fw_setenv enaDCPref yes
uboot/uboot-env/fw_setenv sata_dma_mode yes
uboot/uboot-env/fw_setenv MALLOC_len 1
uboot/uboot-env/fw_setenv ethprime egiga0
uboot/uboot-env/fw_setenv netbsd_en no
uboot/uboot-env/fw_setenv vxworks_en no
uboot/uboot-env/fw_setenv bootargs_root root=/dev/nfs rw
uboot/uboot-env/fw_setenv bootargs_end :::DB88FXX81:eth0:none
uboot/uboot-env/fw_setenv image_name uImage
uboot/uboot-env/fw_setenv bootcmd tftpboot 0x2000000 \$\(image_name\)\;setenv bootargs \$\(console\) \$\(bootargs_root\) nfsroot=\$\(serverip\):\$\(rootpath\) ip=\$\(ipaddr\):\$\(serverip\)\$\(bootargs_end\) \$\(mvNetConfig\) \$\(mvPhoneConfig\)\;  bootm 0x2000000\;
uboot/uboot-env/fw_setenv standalone fsload 0x2000000 \$\(image_name\)\;setenv bootargs \$\(console\) root=/dev/mtdblock0 rw ip=\$\(ipaddr\):\$\(serverip\)\$\(bootargs_end\) \$\(mvPhoneConfig\)\; bootm 0x2000000\;
uboot/uboot-env/fw_setenv bootdelay 3
uboot/uboot-env/fw_setenv disaMvPnp no
uboot/uboot-env/fw_setenv ethaddr 00:50:43:01:CA:B0
uboot/uboot-env/fw_setenv ethmtu 1500
uboot/uboot-env/fw_setenv mvPhoneConfig mv_phone_config=dev0:fxs,dev1:fxs
uboot/uboot-env/fw_setenv mvNetConfig mv_net_config=\(00:11:88:0f:62:81,0:1:2:3\),mtu=1500
uboot/uboot-env/fw_setenv usb0Mode host
uboot/uboot-env/fw_setenv yuk_ethaddr 00:00:00:EE:51:81
uboot/uboot-env/fw_setenv nandEcc 1bit
uboot/uboot-env/fw_setenv netretry no
uboot/uboot-env/fw_setenv rcvrip 169.254.100.100
uboot/uboot-env/fw_setenv loadaddr 0x02000000
uboot/uboot-env/fw_setenv autoload no
uboot/uboot-env/fw_setenv enaAutoRecovery yes
uboot/uboot-env/fw_setenv ethact egiga0
reading uboot/uboot-env/uboot-nand-custom.txt
uboot/uboot-env/fw_setenv bootargs_root ubi.mtd=1 root=ubi0:rootfs rootfstype=ubifs
uboot/uboot-env/fw_setenv mtdpartitions mtdparts=orion_nand:0x400000@0x100000\(uImage\),0x1fb00000@0x500000\(rootfs\)
uboot/uboot-env/fw_setenv ethaddr 00:50:43:01:CA:B0
uboot/uboot-env/fw_setenv real_bootcmd setenv bootargs \$\(bootargs_console\) \$\(mtdpartitions\) \$\(bootargs_root\)\; nand read.e 0x00800000 0x00100000 0x00400000\; bootm 0x00800000
uboot/uboot-env/fw_setenv bootargs_console console=ttyS0,115200
uboot/uboot-env/fw_setenv bootcmd run recover1
uboot/uboot-env/fw_setenv recover1 setenv mainlineLinux yes\; setenv arcNumber 2097\; setenv bootcmd run recover2\; saveenv\; reset
uboot/uboot-env/fw_setenv recover2 run recover3\; setenv bootcmd \$\(real_bootcmd\)\; saveenv\; setenv bootargs \$\(bootargs_console\) \$\(mtdpartitions\) root=/dev/ram0 rw ramdisk=0x01100000,8M install_type=nand\; bootm 0x00800000 0x01100000
uboot/uboot-env/fw_setenv recover3 run recover4\; nand erase clean 0x00100000 0x00400000\; nand write.e 0x00800000 0x00100000 0x00400000
uboot/uboot-env/fw_setenv recover4 usb start\; fatload usb 0 0x00800000 uImage\; fatload usb 0 0x01100000 initrd

 **** Burning uboot and environment variables ... This will take few minutes ...
Open On-Chip Debugger 0.2.0 (2009-09-16-09:13) Release
$URL: http://svn.berlios.de/svnroot/repos/openocd/tags/openocd-0.2.0/src/openocd.c $
For bug reports, read http://svn.berlios.de/svnroot/repos/openocd/trunk/BUGS
2000 kHz
jtag_nsrst_delay: 200
jtag_ntrst_delay: 200
dcc downloads are enabled
Error: JTAG communication failure: check connection, JTAG interface, target power etc.
Error: trying to validate configured JTAG chain anyway...
Error: Could not validate JTAG scan chain, IR mismatch, scan returned 0x00. tap=feroceon.cpu pos=0 expected 0x1 got 0
Warn : Could not validate JTAG chain, continuing anyway...
Error: unexpected Feroceon EICE version signature
Error: unexpected Feroceon EICE version signature
Error: timed out while waiting for target halted
Runtime error, file "openocd/config/board/sheevaplug.cfg", line 21:
     **** openocd FAILED
 **** Is the mini USB cable connected?
 **** Try powering down, then replugging the Sheevaplugreedy@reedy-laptop:/medreedy@reedy-laptop:/media/disk/sheevaplug-installer-v1.0$
reedy@reedy-laptop:/media/disk/sheevaplug-installer-v1.0$ lsusb
Bus 005 Device 004: ID 058f:6335 Alcor Micro Corp.
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 004: ID 9e88:9e8f 
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub


Thanks!
Logged

boerner
Jr. Member
**

Karma: 0
Posts: 54


View Profile
« Reply #47 on: September 23, 2009, 03:00:24 PM »

This may be a little redundant, but if you have a newer plug, would this section of the wiki be apropos?

http://plugcomputer.org/plugwiki/index.php/SheevaPlug_Installer#Important_Note_for_Newer_Plugs_.287.2F30.2F09ish.29
Logged

Reedy
Newbie
*

Karma: 0
Posts: 40


View Profile
« Reply #48 on: September 23, 2009, 04:03:47 PM »

Mines are "older"..

lsusb shows the same manufacturer/device id as the "old" ones.. No description though

Thanks anyway!
Logged

klauterbach
Newbie
*

Karma: 0
Posts: 4


View Profile
« Reply #49 on: September 23, 2009, 04:24:22 PM »

Hey Rooster,
Thanks for the tip. I was starting to suspect that it might be the U3 thing. I will try it with a different USB stick.

Is it possible to restart the uboot process after powering up the plug? My installation failed after the installation of uboot in NAND, so rather than start the whole installation over again I would like to jump to the point where it loads the files from USB storage. Saves having to erase the NAND again. How can I do this?

Thanks
Logged

rooster
Administrator
Sr. Member
*****

Karma: 8
Posts: 311


View Profile
« Reply #50 on: September 23, 2009, 11:23:41 PM »

Hi Reedy,

Well it looks like your Linux does see the two ttyUSB ports and there is no permission issue.
I occasionally get the same error from openocd, to recover I try the following:
* press the reset button with the paper clip
* unplug/plug the mini USB
* power cycle the plug
* rmmod and modprobe the device driver

One of the above gets the job done for me, now if it does not work for you then try:
* replacing the mini USB cable, users have complained that the mini USB socket can be loosy
* try the installer on a Linux machine
* try the installer on a XP machine (my last resort Wink)
Logged

Reedy
Newbie
*

Karma: 0
Posts: 40


View Profile
« Reply #51 on: September 24, 2009, 12:19:52 AM »

Haha. Although i use windows most of the time, i try to use linux for this sorta thing. It was a lot easier for upslug2 for my NSLU2

I'll give the reset bits a try later and see if we get any luck Cheesy

Thanks!

Its just a bit weird that it causes the sheeva to restart when it gets those errors. Ah well!

Will have another go tonight. Be nice to get them both updated and look at getting them into use... Cheesy
Logged

rooster
Administrator
Sr. Member
*****

Karma: 8
Posts: 311


View Profile
« Reply #52 on: September 24, 2009, 12:33:23 AM »

Quote
Its just a bit weird that it causes the sheeva to restart when it gets those errors
What do you mean by that?
when you run the runme.php and the console prints the openocd stuff the plug resets?
Logged

SuperRoach
Newbie
*

Karma: 0
Posts: 12


View Profile
« Reply #53 on: September 24, 2009, 09:57:39 AM »

Can I clarify on making a usb drive boot using the 1.0 installer?

I have a working openplug now, and don't want to accidently nuke it Smiley

What would be the instructions to make a flash boot? I am guessing on having a usb drive with the installer/* contents in it. Then running ./runme.php mmc     . That will then give me a bootable usb drive I can put into the sheeva?
Logged

Reedy
Newbie
*

Karma: 0
Posts: 40


View Profile
« Reply #54 on: September 24, 2009, 03:40:05 PM »

Hi Reedy,

Well it looks like your Linux does see the two ttyUSB ports and there is no permission issue.
I occasionally get the same error from openocd, to recover I try the following:
* press the reset button with the paper clip
* unplug/plug the mini USB
* power cycle the plug
* rmmod and modprobe the device driver

One of the above gets the job done for me, now if it does not work for you then try:
* replacing the mini USB cable, users have complained that the mini USB socket can be loosy
* try the installer on a Linux machine
* try the installer on a XP machine (my last resort Wink)

Resetting didnt make a different (using the reset button), but then plugging and unplugging the usb cable, it worked

Thanks!!

Much reduced startup time, ace!
« Last Edit: September 24, 2009, 03:42:54 PM by Reedy » Logged

rooster
Administrator
Sr. Member
*****

Karma: 8
Posts: 311


View Profile
« Reply #55 on: September 25, 2009, 01:54:07 AM »

Can I clarify on making a usb drive boot using the 1.0 installer?

I have a working openplug now, and don't want to accidently nuke it Smiley

What would be the instructions to make a flash boot? I am guessing on having a usb drive with the installer/* contents in it. Then running ./runme.php mmc     . That will then give me a bootable usb drive I can put into the sheeva?
Hi SuperRoach,

Running ./runme.php mmc will create two partitions on the SD card and will modify the uboot env to boot from the SD.
The USB DOK is used to trore the file system, kernel modules and uImage that is copied to the SD during the process of the installer (done by initrd loaded by uboot)
Logged

Reedy
Newbie
*

Karma: 0
Posts: 40


View Profile
« Reply #56 on: September 26, 2009, 07:23:28 AM »

Just tried reinstalling to a SDHC card, detected fine etc etc

It makes the partitions, then seems to have major problems mounting the partitions for use

Putty was being a PITA and wouldnt let me save the logs, so will try again and see if i get any luck from it
Logged

klauterbach
Newbie
*

Karma: 0
Posts: 4


View Profile
« Reply #57 on: September 27, 2009, 06:48:01 PM »

Hey Reedy,
I had the same/similar problems. Installation failed while trying to mount mmcblk0p2 (partition 2 of SDHC). I discovered that the device node for partition 2 was missing, so it couldn't mount it. The device node for partition 1 (/dev/mmcblk0p1) was there though. Anyone know what could be causing this??

Since I still had a command prompt I decided to complete the installation manually. Here's how I proceeded.

- Used fdisk to check if the SDHC card had been partitioned.
- Used mknod to create a device for partition 2.
- Formatted partition 1 using ext2
- Formatted partition 2 using ext3
- Mounted partition 2
- Copied rootfs and modules to partition 2 & un-tar-ed.
- Mounted partition 1
- Copied kernal image to partition1
- From memory, I think I just rebooted at this point.

Note: Currently my plug doesn't boot properly on initial power up. However if I press the reset switch after powering up the device boots correctly. Has anyone else experienced this problem?

Let me know if you get the installer working properly.
« Last Edit: September 28, 2009, 06:09:30 AM by klauterbach » Logged

birdman
Sr. Member
****

Karma: 4
Posts: 443


View Profile WWW
« Reply #58 on: September 28, 2009, 05:36:40 PM »

Note: Currently my plug doesn't boot properly on initial power up. However if I press the reset switch after powering up the device boots correctly. Has anyone else experienced this problem?
Of the top of my head I seem to recall others reporting this and it being a timing issue (device getting ready after power on)?  Solved by adding a sleep delay after mmcinit in the boot command, I think.
Logged

Billy
Newbie
*

Karma: 0
Posts: 12


View Profile
« Reply #59 on: September 28, 2009, 11:52:40 PM »

Quote from: klauterbach on September 27, 2009, 06:48:01 PM
Note: Currently my plug doesn't boot properly on initial power up. However if I press the reset switch after powering up the device boots correctly. Has anyone else experienced this problem?

I solved this problem by inserting a secound mmcinit in --> uboot-mmc-custom.txt

# Bootcmd to be used after all installation is done
real_bootcmd setenv bootargs $(bootargs_console) $(bootargs_root);  mmcinit; mmcinit; ext2load mmc 0:1 0x800000 /uImage; bootm 0x00800000
Logged

Pages: 1 2 3 [4] 5 6 ... 16
Print
Jump to: