tommy_vercetti
Skilled
Help! Screwed up trying to install Archlinux on Segate GoFlex Net
#varkey #dinjo #dheerajjotwani
I followed this guide http://archlinuxarm....gate-goflex-net, the things that I did differently are highlighted, currently the device is happily blinking away(green)
Unplug all disk drives.
Take a note of the MAC address (usually it is on a label on the underside of the device, in the form uu:vv:ww:xx:yy:zz).
With only the drive you intend to install Arch Linux ARM to plugged in (all data will be erased), switch on the power.
If using a SATA hard drive, put the hard drive in right slot (if you're looking from the front.)
Log in to Seagate GoFlex Net over SSH.
Stop the Pogoplug software so it doesn't interfere with the install process:killall hbwd
Start fdisk to partition the USB or SATA drive:
/sbin/fdisk /dev/sda
At the fdisk prompt, delete old partitions and create a new one:
Type o. This will clear out any partitions on the drive.
Type p to list partitions. There should be no partitions left.
Now type n, then p for primary, 1 for the first partition on the drive, and then press ENTER, accepting default values.
Exit by typing w.
Create the ext3 filesystem:
cd /tmp
wget http://archlinuxarm....pogoplug/mke2fs
chmod 755 mke2fs
./mke2fs -j /dev/sda1
mkdir alarm
mount /dev/sda1 alarm
Download and install Arch Linux ARM:
cd alarm
wget http://archlinuxarm....e-latest.tar.gz
tar -xzvf ArchLinuxARM-armv5te-latest.tar.gz # This will take a long time # I think I skipped this step
rm ArchLinuxARM-armv5te-latest.tar.gz # I think I skipped this step :-(
sync # Takes a while if you are using a flash drive
Unmount the drive:
cd ..
umount alarm
Download the U-Boot Install Toolkit (UBIT) environment
cd /tmp
wget http://jeff.doozan.c...ex/v0.6/uInitrd
wget http://jeff.doozan.c...v0.6/ubit_start
chmod +x ubit_start
Start the UBIT environment where the prompt will read: ubit0-6:~#
./ubit_start
Update the U-Boot bootloader and move a copy of the OE U-Boot into unused NAND memory:
chain_install goflexnet
chain_revert
uboot_uptodate
You need to set your MAC address to the value you noted earlier
ethaddr uu:vv:ww:xx:yy:zz
Install the rescue system
on /dev/sda1 ubit_write # Gave error, still the hero I'm I proceeded to the next command
Mark the partition with the special label "rootfs":
tune
2fs -L "rootfs" /dev/sda1
Leave the UBIT shell, and reboot into Arch Linux ARM
exit
/sbin/reboot
Console Log
login as: root
password:
-bash-3.2# killall hbwd
-bash-3.2# /sbin/fdisk /dev/sda
Command (m for help): o
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that the previous content
won't be recoverable.
Warning: invalid flag 0x00,0x00 of partition table 4 will be corrected by w(rite)
Command (m for help): p
Disk /dev/sda: 8076 MB, 8076132352 bytes
255 heads, 63 sectors/track, 981 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-981, default 1): Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-981, default 981): Using default value 981
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table
-bash-3.2# cd /tmp
-bash-3.2# wget http://archlinuxarm.org/os/pogoplug/mke2fs
Connecting to archlinuxarm.org (206.217.130.189:80)
mke2fs 100% |*******************************| 799k 00:00:00 ETA
-bash-3.2# chmod 755 mke2fs
-bash-3.2# ./mke2fs -j /dev/sda1
mke2fs 1.41.9 (22-Aug-2009)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
492880 inodes, 1969962 blocks
98498 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2017460224
61 block groups
32768 blocks per group, 32768 fragments per group
8080 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 25 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
-bash-3.2# mkdir alarm
-bash-3.2# mount /dev/sda1 alarm
-bash-3.2# cd alarm
-bash-3.2# wget http://archlinuxarm.org/os/ArchLinuxARM-armv5te-latest.tar.gz
Connecting to archlinuxarm.org (206.217.130.189:80)
ArchLinuxARM-armv5te 100% |*******************************| 149M 00:00:00 ETA
-bash-3.2# sync
-bash-3.2# cd..
-bash: cd..: command not found
-bash-3.2# cd ..
-bash-3.2# unmount alarm
-bash: unmount: command not found
-bash-3.2# umount alarm
-bash-3.2# cd /tmp
-bash-3.2# wget http://jeff.doozan.com/debian/goflex/v0.6/uInitrd
Connecting to jeff.doozan.com (69.163.187.226:80)
uInitrd 100% |*******************************| 3911k 00:00:00 ETA
-bash-3.2# wget http://jeff.doozan.com/debian/goflex/v0.6/ubit_start
Connecting to jeff.doozan.com (50.116.34.13:80)
ubit_start 100% |*******************************| 2238 --:--:-- ETA
-bash-3.2# chmod +x ubit_start
-bash-3.2# ./unit_start
-bash: ./unit_start: No such file or directory
-bash-3.2# ./ubit_start
17220 blocks
Entering UBIT environment
No valid U-Boot environment exists.
You need to reboot once to let U-Boot set its default environment
before the ethaddr setting can be updated, either directly or
with a cached value.
To cache a value, run:
ethaddr uu:vv:ww:xx:yy:zz
UBIT v0.6 by peaslaker 2010.11-00125-ga21bcca
ubit0-6:~# chain_install goflexnet
UBIT.CHAIN:goflexnet
UBIT.CHAIN:/usr/share/ubit/original/goflexnet.kwb writing to 0x380000 of /dev/mtd1
1+0 records in
1+0 records out
UBIT:bl: /usr/share/ubit/original/goflexnet.kwb checksum 5cbbbca7693c5939836349bbd7f270e8 -
Erase Total 4 Units
Performing Flash Erase of length 131072 at offset 0x3e0000 done
Writing data to block 28 at offset 0x380000
Writing data to block 29 at offset 0x3a0000
Writing data to block 30 at offset 0x3c0000
Writing data to block 31 at offset 0x3e0000
1+0 records in
1+0 records out
UBIT:bl: u-boot checksum match OK.
ubit0-6:~# chain_revert
/usr/share/ubit/original/goflexnet.kwb.md5
1+0 records in
1+0 records out
UBIT:bl: u-boot.5cbbbca7693c5939836349bbd7f270e8.kwb checksum 5cbbbca7693c5939836349bbd7f270e8 -
Erase Total 4 Units
Performing Flash Erase of length 131072 at offset 0x60000 done
Writing data to block 0 at offset 0x0
Writing data to block 1 at offset 0x20000
Writing data to block 2 at offset 0x40000
Writing data to block 3 at offset 0x60000
1+0 records in
1+0 records out
Writing data to block 4 at offset 0x80000
UBIT:bl: u-boot checksum match OK.
ubit0-6:~# uboot_uptodate
Existing firmware identified as matching: /usr/share/ubit/original/goflexnet.kwb.md5
UBIT:bl: u-boot checksum did not match.
Writing latest goflexnet firmware to /dev/mtd0
0+1 records in
1+0 records out
UBIT:bl: /usr/share/ubit/firmware/goflexnet.kwb checksum b43339faeb1d3924fa09aae0d0723065 -
Erase Total 4 Units
Performing Flash Erase of length 131072 at offset 0x60000 done
Writing data to block 0 at offset 0x0
Writing data to block 1 at offset 0x20000
Writing data to block 2 at offset 0x40000
Writing data to block 3 at offset 0x60000
0+1 records in
1+0 records out
Writing data to block 4 at offset 0x80000
UBIT:bl: u-boot checksum match OK.
ubit0-6:~# ethaddr 00:10:75:26:8E:AA
No valid U-Boot environment exists.
You need to reboot once to let U-Boot set its default environment
before the ethaddr setting can be updated, either directly or
with a cached value.
Cached ethaddr value set to: 00:10:75:26:8E:AA
ubit0-6:~# on /dev/sda1 ubit_write
UBITperating on /dev/sda1
Output directory '/tmp/7caae93163da50f03ac46f598ec13f7a/boot' does not exist
ubit0-6:~# on /dev/sda1 ubit_write
UBITperating on /dev/sda1
Output directory '/tmp/7caae93163da50f03ac46f598ec13f7a/boot' does not exist
ubit0-6:~# on /dev/sda1 ubit_write
UBITperating on /dev/sda1
Output directory '/tmp/7caae93163da50f03ac46f598ec13f7a/boot' does not exist
ubit0-6:~#
The device gets detected on http://goflexnet.pog...g.com/view.html but no SSH option, cannot connect to it using SSH, it is still happily blinking
#varkey #dinjo #dheerajjotwani
I followed this guide http://archlinuxarm....gate-goflex-net, the things that I did differently are highlighted, currently the device is happily blinking away(green)
Unplug all disk drives.
Take a note of the MAC address (usually it is on a label on the underside of the device, in the form uu:vv:ww:xx:yy:zz).
With only the drive you intend to install Arch Linux ARM to plugged in (all data will be erased), switch on the power.
If using a SATA hard drive, put the hard drive in right slot (if you're looking from the front.)
Log in to Seagate GoFlex Net over SSH.
Stop the Pogoplug software so it doesn't interfere with the install process:killall hbwd
Start fdisk to partition the USB or SATA drive:
/sbin/fdisk /dev/sda
At the fdisk prompt, delete old partitions and create a new one:
Type o. This will clear out any partitions on the drive.
Type p to list partitions. There should be no partitions left.
Now type n, then p for primary, 1 for the first partition on the drive, and then press ENTER, accepting default values.
Exit by typing w.
Create the ext3 filesystem:
cd /tmp
wget http://archlinuxarm....pogoplug/mke2fs
chmod 755 mke2fs
./mke2fs -j /dev/sda1
mkdir alarm
mount /dev/sda1 alarm
Download and install Arch Linux ARM:
cd alarm
wget http://archlinuxarm....e-latest.tar.gz
tar -xzvf ArchLinuxARM-armv5te-latest.tar.gz # This will take a long time # I think I skipped this step
rm ArchLinuxARM-armv5te-latest.tar.gz # I think I skipped this step :-(
sync # Takes a while if you are using a flash drive
Unmount the drive:
cd ..
umount alarm
Download the U-Boot Install Toolkit (UBIT) environment
cd /tmp
wget http://jeff.doozan.c...ex/v0.6/uInitrd
wget http://jeff.doozan.c...v0.6/ubit_start
chmod +x ubit_start
Start the UBIT environment where the prompt will read: ubit0-6:~#
./ubit_start
Update the U-Boot bootloader and move a copy of the OE U-Boot into unused NAND memory:
chain_install goflexnet
chain_revert
uboot_uptodate
You need to set your MAC address to the value you noted earlier
ethaddr uu:vv:ww:xx:yy:zz
Install the rescue system
on /dev/sda1 ubit_write # Gave error, still the hero I'm I proceeded to the next command
Mark the partition with the special label "rootfs":
tune
2fs -L "rootfs" /dev/sda1
Leave the UBIT shell, and reboot into Arch Linux ARM
exit
/sbin/reboot
Console Log
login as: root
password:
-bash-3.2# killall hbwd
-bash-3.2# /sbin/fdisk /dev/sda
Command (m for help): o
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that the previous content
won't be recoverable.
Warning: invalid flag 0x00,0x00 of partition table 4 will be corrected by w(rite)
Command (m for help): p
Disk /dev/sda: 8076 MB, 8076132352 bytes
255 heads, 63 sectors/track, 981 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-981, default 1): Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-981, default 981): Using default value 981
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table
-bash-3.2# cd /tmp
-bash-3.2# wget http://archlinuxarm.org/os/pogoplug/mke2fs
Connecting to archlinuxarm.org (206.217.130.189:80)
mke2fs 100% |*******************************| 799k 00:00:00 ETA
-bash-3.2# chmod 755 mke2fs
-bash-3.2# ./mke2fs -j /dev/sda1
mke2fs 1.41.9 (22-Aug-2009)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
492880 inodes, 1969962 blocks
98498 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2017460224
61 block groups
32768 blocks per group, 32768 fragments per group
8080 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 25 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
-bash-3.2# mkdir alarm
-bash-3.2# mount /dev/sda1 alarm
-bash-3.2# cd alarm
-bash-3.2# wget http://archlinuxarm.org/os/ArchLinuxARM-armv5te-latest.tar.gz
Connecting to archlinuxarm.org (206.217.130.189:80)
ArchLinuxARM-armv5te 100% |*******************************| 149M 00:00:00 ETA
-bash-3.2# sync
-bash-3.2# cd..
-bash: cd..: command not found
-bash-3.2# cd ..
-bash-3.2# unmount alarm
-bash: unmount: command not found
-bash-3.2# umount alarm
-bash-3.2# cd /tmp
-bash-3.2# wget http://jeff.doozan.com/debian/goflex/v0.6/uInitrd
Connecting to jeff.doozan.com (69.163.187.226:80)
uInitrd 100% |*******************************| 3911k 00:00:00 ETA
-bash-3.2# wget http://jeff.doozan.com/debian/goflex/v0.6/ubit_start
Connecting to jeff.doozan.com (50.116.34.13:80)
ubit_start 100% |*******************************| 2238 --:--:-- ETA
-bash-3.2# chmod +x ubit_start
-bash-3.2# ./unit_start
-bash: ./unit_start: No such file or directory
-bash-3.2# ./ubit_start
17220 blocks
Entering UBIT environment
No valid U-Boot environment exists.
You need to reboot once to let U-Boot set its default environment
before the ethaddr setting can be updated, either directly or
with a cached value.
To cache a value, run:
ethaddr uu:vv:ww:xx:yy:zz
UBIT v0.6 by peaslaker 2010.11-00125-ga21bcca
ubit0-6:~# chain_install goflexnet
UBIT.CHAIN:goflexnet
UBIT.CHAIN:/usr/share/ubit/original/goflexnet.kwb writing to 0x380000 of /dev/mtd1
1+0 records in
1+0 records out
UBIT:bl: /usr/share/ubit/original/goflexnet.kwb checksum 5cbbbca7693c5939836349bbd7f270e8 -
Erase Total 4 Units
Performing Flash Erase of length 131072 at offset 0x3e0000 done
Writing data to block 28 at offset 0x380000
Writing data to block 29 at offset 0x3a0000
Writing data to block 30 at offset 0x3c0000
Writing data to block 31 at offset 0x3e0000
1+0 records in
1+0 records out
UBIT:bl: u-boot checksum match OK.
ubit0-6:~# chain_revert
/usr/share/ubit/original/goflexnet.kwb.md5
1+0 records in
1+0 records out
UBIT:bl: u-boot.5cbbbca7693c5939836349bbd7f270e8.kwb checksum 5cbbbca7693c5939836349bbd7f270e8 -
Erase Total 4 Units
Performing Flash Erase of length 131072 at offset 0x60000 done
Writing data to block 0 at offset 0x0
Writing data to block 1 at offset 0x20000
Writing data to block 2 at offset 0x40000
Writing data to block 3 at offset 0x60000
1+0 records in
1+0 records out
Writing data to block 4 at offset 0x80000
UBIT:bl: u-boot checksum match OK.
ubit0-6:~# uboot_uptodate
Existing firmware identified as matching: /usr/share/ubit/original/goflexnet.kwb.md5
UBIT:bl: u-boot checksum did not match.
Writing latest goflexnet firmware to /dev/mtd0
0+1 records in
1+0 records out
UBIT:bl: /usr/share/ubit/firmware/goflexnet.kwb checksum b43339faeb1d3924fa09aae0d0723065 -
Erase Total 4 Units
Performing Flash Erase of length 131072 at offset 0x60000 done
Writing data to block 0 at offset 0x0
Writing data to block 1 at offset 0x20000
Writing data to block 2 at offset 0x40000
Writing data to block 3 at offset 0x60000
0+1 records in
1+0 records out
Writing data to block 4 at offset 0x80000
UBIT:bl: u-boot checksum match OK.
ubit0-6:~# ethaddr 00:10:75:26:8E:AA
No valid U-Boot environment exists.
You need to reboot once to let U-Boot set its default environment
before the ethaddr setting can be updated, either directly or
with a cached value.
Cached ethaddr value set to: 00:10:75:26:8E:AA
ubit0-6:~# on /dev/sda1 ubit_write
UBITperating on /dev/sda1
Output directory '/tmp/7caae93163da50f03ac46f598ec13f7a/boot' does not exist
ubit0-6:~# on /dev/sda1 ubit_write
UBITperating on /dev/sda1
Output directory '/tmp/7caae93163da50f03ac46f598ec13f7a/boot' does not exist
ubit0-6:~# on /dev/sda1 ubit_write
UBITperating on /dev/sda1
Output directory '/tmp/7caae93163da50f03ac46f598ec13f7a/boot' does not exist
ubit0-6:~#
The device gets detected on http://goflexnet.pog...g.com/view.html but no SSH option, cannot connect to it using SSH, it is still happily blinking