Community

Prenumerera på innehåll
From ExcitoWiki
Uppdaterad: 49 minuter 13 sekunder sedan

The json information API

mån, 02/20/2012 - 13:15

Johannes:

There is a json-based information interface from where applications (such as the firefox "bubbamon" tool) can get information automatically. <br>This is valid from B3 version 2.4.1 and onwards.
<pre>http://b3/admin/ajax_status/?
..where&nbsp;? can be:
uptime
hardware
version
printers
disks (note: the 'size' field is in 512 Byte blocks)
vgs
mds
fstab
free_space (gives free space for home and system partitions, respectively, in bytes)
</pre>
All of these are available with user level authentication ('admin' not required).

Connect your B3 as a wireless device to an access point

lör, 02/18/2012 - 12:42

Johannes:

This howto is snitched from our forum, where [http://forum.excito.net/memberlist.php?mode=viewprofile&u=3294 kenned]&nbsp;was kind enough to post it:&nbsp;<br>

----

My ISP gave me a router with built-in DSL modem, so I can't use the B3 as a router. Also I don't care to have the B3 close to the router for several reasons. So I needed to use the B3 as a wireless client, serving files and webpages to the local network over wifi, and here's the recipe I followed. <br>I wanted to put it on the wiki, but couldn't be bothered to request a login.

= <br>B3 Wifi client =

Configure the B3 as a wifi client to make it connect to a wireless router or an access point.

= Prerequisites =

You need to have a user account with shell access for the B3.<br>You also need to be able to log into the root account, either by using "su -" with the root-password, or by using "sudo su -" (which then needs to be set up in advance).

= Disable B3 Access Point<br> =

Log in to the admin website on http://b3.local using the admin logon.<br>Click in to the Settings, Profile page and switch to the "Server only" profile.<br>Then enter the Settings, Network, Wireless page and turn off the wireless access point function of the B3.

= Log on to the root account<br> =

Using an ssh application, eg. putty, log on to the b3 via ssh and log on to the root account.
<pre>[user@MacBook: ~]$ ssh 192.168.1.11
Linux b3 2.6.35.4 #5 Tue Sep 7 16:06:15 CEST 2010 armv5tel

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu Mar 24 22:38:42 2011 from macbook.local
user@b3:~$ sudo su -
[sudo] password for user:
root@b3:~#


The following commands all need to be run under the root account.</pre>
= Install tools =

Install wireless-tools and wpasupplicant packages like this:
<pre>change_distribution elvin -u
apt-get update
apt-get install wireless-tools wpasupplicant
</pre>
= Configure wifi device =

Make the file /etc/network/interfaces readable only by root.
<pre>chmod 600 /etc/network/interfaces
</pre>
Enter the following section into this file (changing MyWifiNetwork and MySecretWifiKey with suitable values).
<pre>auto wlan0
iface wlan0 inet dhcp
wpa-ssid MyWifiNetwork
wpa-psk MySecretWifiKey
</pre>
This makes the wlan0 interface start at boot, connect to the network called "MyWifiNetwork" using the WPA PSK password "MySecretWifiKey" and request an IP address from the DHCP server.

Punch a big hole in the firewall for the wlan0 interface and restart the firewall to save the configuration.
<pre>iptables -A INPUT -i wlan0 -j ACCEPT
/etc/init.d/bubba-firewall restart
</pre>
Now start the wlan0 device to check the settings.<br>
<pre>ifup wlan0
</pre>
The console will show that the device has connected to your WLAN, has sent an DHCP request and shortly after received a reply with the IP address to use.

Now enjoy your wirelessly connected B3.<br>kenned<br>

TimeMachine2

sön, 01/22/2012 - 17:59

Ubi:

{{DISPLAYTITLE:Test 123 lala}}

__TOC__

== Introduction ==

This How-To describes turning the B3 into a time capsule, compatible with OSX lion. The steps are 1) updating netatalk, 2) create a special volume for Time Machine to fill, and 3) to create a mount point.

<br>

== Updating Netatalk ==

If your version of netatalk is too old, you may need to update from the unstable repositories. Add unstable repository by editing /etc/apt/sources.list.d/excito.list. just add at bottom of the file
<pre>deb http://b3.update.excito.org vincent main
</pre>
Then run
<pre>apt-get update
apt-get install netatalk
</pre>
Once it's done Lion's Time Machine will see your B3 box in "Select Disk" config and you can backup your Mac to public folder "out of the box".

== Creating a time capsule volume ==

While this step can be skipped, time machine is programmed to fill the entire volume (this means your whole drive!). To prevent this, it is best to create a special partition just for time machine.

=== 1. connect to the B3 ===

You must SSH into the B3 as root DIRECTLY (i.e. not as a regular user). This is because all other user have home dirs in /home and you cannot unmount /home if you log in as a regular user. To allow direct root login, you may need to set "PermitRootLogin yes" in /etc/ssh/sshd_config.

=== 2. Prepare ===

Check if the home partition is unlocked:
<pre>lsof | grep home
</pre>
This command should not give output.

=== 3. Resize the partition ===

Now, umount the home partition, and resize the ext3 partition. Here I change my 920GB home partition into an 800GB partition. '''BACKUP your stuff before doing this!!'''
<pre>umount /home
resize2fs /dev/mapper/bubba-storage 800G
</pre>
This may take a long time (&gt; 60 min). If your connection dies in the middle of the operation you are SOL. So maybe let the "at" daemon do it. First type "at now", then you get a prompt. Enter the resize command, enter, control-D to execute. Try this with a simple command first if you never used at.

=== 4. Resize the volume ===

Now reduce the LVM volume. Again, this example uses a 800G partition size.
<pre>lvreduce /dev/mapper/bubba-storage 800G
</pre>
=== 5. Create and activat the time-machine partition ===

Create and format the a new partition
<pre>lvcreate -l 100%FREE -n timemachine bubba
mke2fs -j /dev/bubba/timemachine
</pre>
Make the new mount point and add an entry in /etc/fstab. For this example I mount the partition in /timemachine. This of course is completely arbitrary&nbsp;
<pre>mkdir /timemachine cp /etc/fstab /etc/fstab.ori
echo "/dev/mapper/bubba-timemachine /timemachine ext3 defaults 0 2" &gt;&gt; /etc/fstab
mount -a
df -h
</pre>
This last command should now report the timemachine volume.

== Create a mount point ==

The mount points for AFP (Apple Filing Protocol) are defined in /etc/netatalk/AppleVolumes.default. You need to edit this file
<pre>nano /etc/netatalk/AppleVolumes.default
</pre>
At the bottom you will find two lines that describe the default shares that will be available, with the names "User Share" and "Public Share". After those, you can add your own shares. Like for example:
<pre>/timemachine/ "TimeMachine" cnidscheme:dbd dpath:/var/lib/netatalk fperm:0664 dperm:0775
</pre>
The only thing you then have to do, is restart netatalk and the new share will also appear in the TimeMachine configuration:
<pre>/etc/init.d/netatalk restart
</pre>
And do not forget to enable AFP in the B3 web interface, so it also works after you rebooted the B3...

Enjoy!

Allow Excito Support to log in to your B3

fre, 12/30/2011 - 13:15

Johannes: Created page with '&nbsp; 1. Go to administration -&gt; users 2. Add a temporary user. Note the user name and password, and make sure to check the box "Allow shell access".&nbsp; 3a.&nbsp;If you...'

&nbsp;

1. Go to administration -&gt; users

2. Add a temporary user. Note the user name and password, and make sure to check the box "Allow shell access".&nbsp;

3a.&nbsp;If your B3 is used as your router, go to administration -&gt; network -&gt; firewall and enable "SSH" (on the top). Press update.&nbsp;

3b. If your B3 is used as server only, open up port 22 (SSH) in your firewall/router, towards your B3. Please consult your routers users manual on this.&nbsp;

4. Email your easyfind adress, along with the user name and password, to excito support. If you don't use Easyfind, email yoru external IP instead (you can check at whatsmyip.org).&nbsp;

<br>



In Swedish (På Svenska):&nbsp;

1. Gå till administration -&gt; users

2. Lägg till en tillfällig användare. Anteckna användarnamn och lösenord och kryssa i rutan "Allow shell access"

3a. Om du använder B3 som router, gå till administartion -&gt; network -&gt; firewall och slå på "SSH". Uppdatera.&nbsp;

3b. Om du använder din B3 som server only, öppna port 22 (SSH) i din brandvägg/router, mot din B3. Vänligen se manualen till din brandvägg för att se hur det går till.&nbsp;

4. Maila oss ditt easyfindnamn, tillsammans med användarnamn och lösen. Använder du inte easyfind så skicka oss istället din externa IP-adress (kolla på whatsmyip.org).&nbsp;

Install Bubba on RAID-1 volumes

lör, 11/12/2011 - 00:49

Charles Leclerc:

<h1> Introduction </h1>
<p>As you may know, Bubba devices support RAID for home storage. However the install procedure does not offer the possibility to have your system partitions (root and swap) on raid. Besides the technical challenge, there are a few good reasons to raidify the system partitions. First it protects your fine-and-many-hours-spent tuned configuration of your device from hard drive failure. And second it gives your bubba a much better fault-tolerant design.
</p><p>The goal of this how-to is to perform a plain standard software system installation on your bubba. You will have however the possibility to copy the data from your home partition. So with a backup of your settings from the web interface, you should get everything back.
</p>
<h1> <span style="color:#FF0000">Big red warning</span> </h1>
<p>This procedures involves commands changing u-boot variables. U-boot is the bootloader of the bubba device, located on a flash chip of the board. Although everything explained here has been carefully tested (at least by myself), you might mess things up and not be able to boot your bubba without a serial console cable (USB rescue rescue system won't fix it). Don't worry though, you will have plenty of verifications before doing the sensible stuff, and the risk is quite low. Nevertheless, you've been warned&nbsp;!!
</p><p>In addition, <span style="color:#FF0000">these modifications prevent you from using the usb rescue disk</span>, because your system won't boot after a rescued installed software. The u-boot utils are not available in the rescue system, so you can't restore the modifications you've made to boot the raid array. I am currently working on a workaround, but as of today <u>it doesn't work</u>.
</p>
<h1> Prerequisites </h1>
<p>This how-to has been tested only on <b>Bubba Two</b>. It would probably work on a bubba 3, with a proper configuration of u-boot stuff. If anyone owns a B3 and have validated that part, you're welcome to add it to this page.
</p><p>This how-to applies to the bubba release 2.4RC1 for the bubba 2. I think it will probably work with future releases too. You will need&nbsp;:
</p>
<ul><li>A working bubba two with 2.4RC1 software
</li><li>An install/rescue USB stick with 2.4RC1 software on it
</li><li>An external esata hard drive, ideally the same model as your system disk (or at least the same size)
</li><li>Screwdrivers to open the bubba and the external disk box (we will need to swap them).
</li></ul>
<h1> Principles </h1>
<p>The procedure is divided in several parts&nbsp;:
</p>
<ul><li>Preparing the new disk to receive the raid volumes, create them and copy the software and data on it.
</li></ul>
<p>In this step, from the running bubba system, we will partition the new hard drive with 4 partitions (/boot (50Mo), / (10Go), swap (1Go) and /home with the rest). We need to make a separate and small /boot raid partition because for an unknown reason u-boot refuses to boot on a 10Go root raid partition. Then we will create the four RAID-1 arrays with the newly created partitions&nbsp;; these arrays will be in a degraded state because we will add the other disk later. We won't change the kernel or the initrd, so the arrays will need to be configured to allow the kernel to detect them directly during its boot sequence.
</p><p>After creating the LVM volume for the data, we will format the arrays and extract the bubba filesystem from the install USB key on them. All these steps are greatly inspired by the standard install script from excito (apart from the raid part).
</p><p>Then we will need to adjust <tt>/etc/fstab</tt> to reflect the disk configuration
</p>
<ul><li>Modifying the boot behavior of the device
</li></ul>
<p>The boot modification is quite simple&nbsp;: we just need to change the kernel boot parameter <tt>root=/dev/sda1</tt> to <tt>root=/dev/md0</tt>. It is stored in the u-boot environnment as the <tt>diskdev</tt> parameter.
</p>
<ul><li>Powering off, physically swapping the disks and reboot
</li></ul>
<p>I didn't manage to get u-boot to boot from a differend disk than the one plugged inside the bubba. So we need to place our newly configured disk inside the device. The old disk will go inside the external disk box. After everyhing is closed and plugged, we restart the bubba which should boot on the newly created RAID arrays.
</p>
<ul><li>Reconfiguring the old system disk and add it to the RAID arrays.
</li></ul>
<p>The final step is to repartition the old disk and add the partitions to the RAID arrays. The system will then automatically sync the drives, which concludes the setup.
</p>
<h1> Tasks </h1>
<p>All the commands below need to be run in a ssh session as root.
</p>
<h2> Preparing the new disk </h2>
<h3> Partitions and raid arrays </h3>
<ul><li>Plug/turn on the external disk. We assume from now that it has been detected as <tt>/dev/sdb</tt>.
</li><li>Create the partitions with the following command&nbsp;:
</li></ul>
<pre class="_fck_mw_lspace">root@b2:~# sfdisk -uM /dev/sdb &lt;&lt; EOF
,50,fd
,10240,fd
,1024,fd
,,fd
EOF
</pre>
<ul><li>Create the four arrays with the previously created partition&nbsp;:
</li></ul>
<pre class="_fck_mw_lspace">root@b2:~# mdadm --create --metadata=0.9 --level=1 --raid-devices=2 /dev/md0 /dev/sdb1 missing
mdadm: array /dev/md0 started.
root@b2:~# mdadm --create --metadata=0.9 --level=1 --raid-devices=2 /dev/md1 /dev/sdb2 missing
mdadm: array /dev/md1 started.
root@b2:~# mdadm --create --metadata=0.9 --level=1 --raid-devices=2 /dev/md2 /dev/sdb3 missing
mdadm: array /dev/md2 started.
root@b2:~# mdadm --create --metadata=0.9 --level=1 --raid-devices=2 /dev/md3 /dev/sdb4 missing
mdadm: array /dev/md3 started.
</pre>
<ul><li>Create the LVM data volume&nbsp;:
</li></ul>
<pre class="_fck_mw_lspace">root@b2:~# pvcreate /dev/md3
Physical volume "/dev/md3" successfully created
root@b2:~# vgcreate bubba2 /dev/md3
Volume group "bubba2" successfully created
root@b2:~# lvcreate -l 100%FREE --name storage bubba2
Logical volume "storage" created
</pre>
<h3> Filesystem and data </h3>
<ul><li>Format the swap array&nbsp;:
</li></ul>
<pre class="_fck_mw_lspace">root@b2:~# mkswap /dev/md2
</pre>
<ul><li>Format and mount the system array:
</li></ul>
<pre class="_fck_mw_lspace">root@b2:~# mkfs.ext3 -q -L "Bubba root" /dev/md1
root@b2:~# tune2fs -c0 -i0 /dev/md1
root@b2:~# mkdir /mnt/bubba
root@b2:~# mount /dev/md1 /mnt/bubba
</pre>
<ul><li>Format and mount the /boot array:
</li></ul>
<pre class="_fck_mw_lspace">root@b2:~# mkfs.ext2 -q -L "Bubba boot" /dev/md0
root@b2:~# tune2fs -c0 -i0 /dev/md0
root@b2:~# mkdir /mnt/bubba/boot
root@b2:~# mount /dev/md0 /mnt/bubba/boot
</pre>
<ul><li>Format and mount the data array:
</li></ul>
<pre class="_fck_mw_lspace">root@b2:~# mkfs.ext3 -q -L "Bubba home" /dev/mapper/bubba2-storage
root@b2:~# tune2fs -c0 -i0 /dev/mapper/bubba2-storage
root@b2:~# mkdir /mnt/bubba/home
root@b2:~# mount /dev/mapper/bubba2-storage /mnt/bubba/home
</pre>
<ul><li>Plug in the USB install/rescue key. Assuming it is <tt>/dev/sdc</tt>, mount it and extract the OS&nbsp;:
</li></ul>
<pre class="_fck_mw_lspace">root@b2:~# mkdir /mnt/usb
root@b2:~# mount /dev/sdc1 /mnt/usb
root@b2:~# tar zxf /mnt/usb/install/payload/*.tar.gz -C /mnt/bubba
</pre>
<ul><li>[Optional]&nbsp;: copy your data from home to the new disk&nbsp;:
</li></ul>
<pre class="_fck_mw_lspace">root@b2:~# cp -a /home /mnt/bubba
</pre>
<h3> Adjusting configuration </h3>
<ul><li>Edit <tt>/mnt/bubba/etc/fstab</tt> with your favorite editor so it contains&nbsp;:
</li></ul>
<pre class="_fck_mw_lspace">/dev/md1 / ext3 noatime,defaults 0 1
/dev/md0 /boot ext2 noatime,defaults 0 2
/dev/mapper/bubba2-storage /home ext3 defaults 0 2
/dev/md2 none swap sw 0 0
usbfs /proc/bus/usb usbfs defaults 0 0
/proc /proc proc defaults 0 0
</pre>
<ul><li>Create a soft link in /boot&nbsp;:
</li></ul>
<pre class="_fck_mw_lspace">ln -s . /mnt/bubba/boot/boot
</pre>
<h2> Changing u-boot variables </h2>
<ul><li>Install the uboot-envtools package&nbsp;:
</li></ul>
<pre class="_fck_mw_lspace">root@b2:~# aptitude install uboot-envtools
</pre>
<ul><li>Create the configuration file for the uboot env tools&nbsp;:
</li></ul>
<pre class="_fck_mw_lspace">root@b2:~# cat &gt; /etc/fw_env.config &lt;&lt; EOF
# MTD definition for Bubba|2
# MTD device name Device offset Env. size Flash sector size
/dev/mtd0 0x050000 0x002000 0x010000
/dev/mtd0 0x060000 0x002000 0x010000
EOF
</pre>
<ul><li>Test the uboot configuration&nbsp;; The command should output something like&nbsp;:
</li></ul>
<pre class="_fck_mw_lspace">root@b2:~# fw_printenv
baudrate=115200
loads_echo=1
......
</pre>
<p><span style="color:#FF0000"><b>WARNING&nbsp;: </b></span> You must not see the following output&nbsp;:
</p>
<pre class="_fck_mw_lspace">root@b2:~# fw_printenv
Warning: Bad CRC, using default environment
bootcmd=bootp; setenv bootargs root=/dev/nfs nfsroot=${serverip}:${rootpath} ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off; bootm
bootdelay=5
baudrate=115200
</pre>
<p>If you do go check <tt>/etc/fw_env.config</tt>, with the content above. If it looks OK, then your system is different for a non obvious reason, and you cannot continue before fixing this issue.
</p>
<ul><li>Modify the <tt>diskdev</tt> variable&nbsp;:
</li></ul>
<pre class="_fck_mw_lspace">root@b2:~# fw_setenv diskdev /dev/md1
</pre>
<p>If the above command fails, read carefully the error. Do not turn off or reboot your device before being sure that your bootloader will still work (if <tt>/etc/fw_env.config</tt> is correct with the above , there are no reasons that <tt>fw_setenv</tt> would break anything. Worst case scenario the environment will be reset on the next reboot). If in doubt ask on the forum&nbsp;!
</p>
<ul><li>Check that the environment is correct&nbsp;:
</li></ul>
<pre class="_fck_mw_lspace">root@b2:~# fw_printenv diskdev
diskdev=/dev/md1
</pre>
<ul><li>If everything looks OK, turn off the bubba&nbsp;:
</li></ul>
<pre class="_fck_mw_lspace">root@b2:~# /usr/lib/web-admin/backend.pl power_off
</pre>
<ul><li>Once the bubba is off, you can turn off the external drive.
</li></ul>
<h2> Swapping disks and first boot </h2>
<ul><li>Open the bubba and the external drive box, and swap the disks.
</li><li>Turn on the bubba first
</li><li>If everything works, you should be able to configure your bubba as usual after a reinstall
</li></ul>
<p>You'll notice that the LED flashes quickly after the boot&nbsp;: that's because of the degraded RAID arrays.
</p>
<h2> Reconfiguring old system disk </h2>
<ul><li>Turn on the external drive&nbsp;; we'll assume it to be on <tt>/dev/sdc</tt>.
</li><li>Partition the hard drive:
<ul><li>If the disks models differs&nbsp;:
</li></ul>
</li></ul>
<pre class="_fck_mw_lspace">root@b2:~# sfdisk -uM /dev/sdb &lt;&lt; EOF
,50,fd
,10240,fd
,1024,fd
,,fd
EOF
</pre>
<ul><li><ul><li>Or, if the models are identical
</li></ul>
</li></ul>
<pre class="_fck_mw_lspace">root@b2:~# sfdisk -d /dev/sda | sfdisk /dev/sdb
</pre>
<ul><li>Add the newly created partitions to the raid arrays&nbsp;:
</li></ul>
<pre class="_fck_mw_lspace">root@b2:~# mdadm -a /dev/md0 /dev/sdb1
root@b2:~# mdadm -a /dev/md1 /dev/sdb2
root@b2:~# mdadm -a /dev/md2 /dev/sdb3
root@b2:~# mdadm -a /dev/md3 /dev/sdb4
</pre>
<p>The arrays will begin to sync right away&nbsp;; you can watch th progress in <tt>/proc/mdstat</tt>&nbsp;:
</p>
<pre class="_fck_mw_lspace">root@b2:~# cat /proc/mdstat
Personalities&nbsp;: [raid0] [raid1]
md1&nbsp;: active raid1 sdb2[2] sda2[0]
10490368 blocks [2/1] [U_]
[====&gt;................] recovery = 24.0% (2518400/10490368) finish=3.3min speed=40208K/sec

md2&nbsp;: active raid1 sdb3[2] sda3[0]
1052160 blocks [2/1] [U_]
resync=DELAYED

md3&nbsp;: active raid1 sdb4[2] sda4[0]
476785024 blocks [2/1] [U_]
resync=DELAYED

md0&nbsp;: active raid1 sdb1[1] sda1[0]
56128 blocks [2/2] [UU]

unused devices: &lt;none&gt;
</pre>
<h1> Conclusion and what's left to do </h1>
<p>If you've got that far, you owns a complete RAID-1 protected bubba, which is great (at least that's what I think)&nbsp;!
</p><p>There are still some work to do&nbsp;:
</p>
<ul><li>Understand why u-boot needs a small ext2 boot partition insteadof the default big root ext3 partition<br />
</li><li>Make uboot-envtools available from the USB rescue system to allow to restore u-boot environment to classic behavior<br />
</li></ul>