个人工具

“UbuntuHelp:UbuntuLTSP/AtomIon”的版本间的差异

来自Ubuntu中文

跳转至: 导航, 搜索
(创建新页面为 '{{From|https://help.ubuntu.com/community/UbuntuLTSP/AtomIon}} {{Languages|UbuntuHelp:UbuntuLTSP/AtomIon}} {|border="1" cellspacing="0" |This page is specific to Ubuntu versions ...')
 
 
第2行: 第2行:
 
{{Languages|UbuntuHelp:UbuntuLTSP/AtomIon}}
 
{{Languages|UbuntuHelp:UbuntuLTSP/AtomIon}}
 
{|border="1" cellspacing="0"
 
{|border="1" cellspacing="0"
|This page is specific to Ubuntu versions 9.04
+
|This page is specific to Ubuntu versions 9.04, 9.10 and 10.04  
 
|}
 
|}
 
''If you find this information applicable to additional versions/releases, '''''please''''' edit this page and modify this header to reflect that. Please also include any necessary modifications for this information to apply to the additional versions.''
 
''If you find this information applicable to additional versions/releases, '''''please''''' edit this page and modify this header to reflect that. Please also include any necessary modifications for this information to apply to the additional versions.''
第21行: 第21行:
 
</nowiki></pre>
 
</nowiki></pre>
 
=== Install NVidia in chroot ===
 
=== Install NVidia in chroot ===
Install package 'nvidia-glx-180' in chroot.
+
Install the latest 'nvidia-glx-xxx' package for your Ubuntu version in chroot.
 
<pre><nowiki>
 
<pre><nowiki>
 
sudo su
 
sudo su
第30行: 第30行:
 
<pre><nowiki>
 
<pre><nowiki>
 
chroot /opt/ltsp/i386
 
chroot /opt/ltsp/i386
 +
</nowiki></pre>
 +
<pre><nowiki>
 +
mount -t proc proc /proc
 
</nowiki></pre>
 
</nowiki></pre>
 
Check for NVidia.
 
Check for NVidia.
第35行: 第38行:
 
apt-cache search nvidia
 
apt-cache search nvidia
 
[--]
 
[--]
nvidia-glx-180 - NVIDIA binary Xorg driver
+
nvidia-glx-180 - NVIDIA binary Xorg driver (Ubuntu 9.04)
 +
nvidia-glx-185 - NVIDIA binary Xorg driver (Ubuntu 9.10 and 10.04)
 
[--]
 
[--]
 
</nowiki></pre>
 
</nowiki></pre>
 
<pre><nowiki>
 
<pre><nowiki>
apt-get install nvidia-glx-180
+
apt-get install nvidia-glx-180 (Ubuntu 9.04)
 +
apt-get install nvidia-glx-185 (Ubuntu 9.10 and 10.04)
 
[--]
 
[--]
 
Setting up nvidia-180-kernel-source (180.44-0ubuntu1) ...
 
Setting up nvidia-180-kernel-source (180.44-0ubuntu1) ...
第61行: 第66行:
 
</nowiki></pre>
 
</nowiki></pre>
 
Exit from chroot.
 
Exit from chroot.
 +
<pre><nowiki>
 +
umount /proc
 +
</nowiki></pre>
 
<pre><nowiki>
 
<pre><nowiki>
 
exit
 
exit
第85行: 第93行:
 
mv ion-xorg.conf xorg.conf
 
mv ion-xorg.conf xorg.conf
 
</nowiki></pre>
 
</nowiki></pre>
Update lts.conf file for new xorg.conf file.
+
Update lts.conf file for new xorg.conf file. '''- This is not necessary for Ubuntu 9.10 and 10.04!!'''
 
<pre><nowiki>
 
<pre><nowiki>
 
cat /var/lib/tftpboot/ltsp/i386/lts.conf
 
cat /var/lib/tftpboot/ltsp/i386/lts.conf
第120行: 第128行:
 
<pre><nowiki>
 
<pre><nowiki>
 
chroot /opt/ltsp/i386
 
chroot /opt/ltsp/i386
 +
</nowiki></pre>
 +
<pre><nowiki>
 +
mount -t proc proc /proc
 
</nowiki></pre>
 
</nowiki></pre>
 
<pre><nowiki>
 
<pre><nowiki>
 
apt-get update && apt-get dist-upgrade
 
apt-get update && apt-get dist-upgrade
 +
</nowiki></pre>
 +
<pre><nowiki>
 +
umount /proc
 
</nowiki></pre>
 
</nowiki></pre>
 
<pre><nowiki>
 
<pre><nowiki>
第129行: 第143行:
 
<pre><nowiki>
 
<pre><nowiki>
 
sudo ltsp-update-kernels
 
sudo ltsp-update-kernels
</nowiki></pre>
 
<pre><nowiki>
 
sudo umount /opt/ltsp/i386/proc
 
 
</nowiki></pre>
 
</nowiki></pre>
 
<pre><nowiki>
 
<pre><nowiki>
第150行: 第161行:
 
<pre><nowiki>
 
<pre><nowiki>
 
chroot /opt/ltsp/i386-ion
 
chroot /opt/ltsp/i386-ion
 +
</nowiki></pre>
 +
<pre><nowiki>
 +
mount -t proc proc /proc
 
</nowiki></pre>
 
</nowiki></pre>
 
<pre><nowiki>
 
<pre><nowiki>
第155行: 第169行:
 
</nowiki></pre>
 
</nowiki></pre>
 
<pre><nowiki>
 
<pre><nowiki>
exit
+
umount /proc
 
</nowiki></pre>
 
</nowiki></pre>
 
<pre><nowiki>
 
<pre><nowiki>
sudo ltsp-update-kernels
+
exit
 
</nowiki></pre>
 
</nowiki></pre>
 
<pre><nowiki>
 
<pre><nowiki>
sudo umount /opt/ltsp/i386/proc
+
sudo ltsp-update-kernels
 
</nowiki></pre>
 
</nowiki></pre>
 
<pre><nowiki>
 
<pre><nowiki>
 
sudo ltsp-update-image -a i386-ion
 
sudo ltsp-update-image -a i386-ion
 
</nowiki></pre>
 
</nowiki></pre>
Install 'nvidia-glx-180' into that chroot.
+
Install the current 'nvidia-glx-xxx' for your Ubuntu version into that chroot.
 
<pre><nowiki>
 
<pre><nowiki>
 
chroot /opt/ltsp/i386-ion
 
chroot /opt/ltsp/i386-ion
 
</nowiki></pre>
 
</nowiki></pre>
 
<pre><nowiki>
 
<pre><nowiki>
apt-get install nvidia-glx-180
+
mount -t proc proc /proc
 +
</nowiki></pre>
 +
<pre><nowiki>
 +
apt-get install nvidia-glx-180 (Ubuntu 9.04)
 +
apt-get install nvidia-glx-185 (Ubuntu 9.10 and 10.04)
 
{--]
 
{--]
 
Setting up nvidia-180-kernel-source (180.44-0ubuntu1) ...
 
Setting up nvidia-180-kernel-source (180.44-0ubuntu1) ...
第191行: 第209行:
 
Processing triggers for libc6 ...
 
Processing triggers for libc6 ...
 
ldconfig deferred processing now taking place
 
ldconfig deferred processing now taking place
 +
</nowiki></pre>
 +
<pre><nowiki>
 +
umount /proc
 
</nowiki></pre>
 
</nowiki></pre>
 
<pre><nowiki>
 
<pre><nowiki>
第296行: 第317行:
 
mv ion-xorg.conf xorg.conf
 
mv ion-xorg.conf xorg.conf
 
</nowiki></pre>
 
</nowiki></pre>
Update the lts.conf file for new xorg.conf file.
+
Update the lts.conf file for new xorg.conf file.'''- This is not necessary for Ubuntu 9.10 and 10.04!!'''
 
<pre><nowiki>
 
<pre><nowiki>
 
cat /var/lib/tftpboot/ltsp/i386-ion/lts.conf
 
cat /var/lib/tftpboot/ltsp/i386-ion/lts.conf

2010年5月20日 (四) 00:28的最新版本

This page is specific to Ubuntu versions 9.04, 9.10 and 10.04

If you find this information applicable to additional versions/releases, please edit this page and modify this header to reflect that. Please also include any necessary modifications for this information to apply to the additional versions.


Intel Atom/NVidia ION

Intel Atom and NVIdia ION based motherboards are a cheap and powerful combination for a DIY thin client. In this case we need to get it working with the correct resolution (LCD 1680x1050). Here are two cases. In the first case all thin clients are NVidia ION based. The second case is for when there is only one NVidia ION based thin client (others can be Intel, ATI or VIA based).

Case 1 - All thin clients are NVidia ION based

First unlock root access and upgrade chroot. Here are howtos for that. https://help.ubuntu.com/community/UbuntuLTSP/UnlockChrootRootAcct https://help.ubuntu.com/community/UbuntuLTSP/UpdatingChroot After that we have latest kernel in chroot.

ssh [email protected] 

uname -a
Linux ltsp201 2.6.28-15-generic #49-Ubuntu SMP Tue Aug 18 18:40:08 UTC 2009 i686 GNU/Linux

Install NVidia in chroot

Install the latest 'nvidia-glx-xxx' package for your Ubuntu version in chroot.

sudo su
export LTSP_HANDLE_DAEMONS=false
chroot /opt/ltsp/i386
mount -t proc proc /proc

Check for NVidia.

apt-cache search nvidia
[--]
nvidia-glx-180 - NVIDIA binary Xorg driver (Ubuntu 9.04)
nvidia-glx-185 - NVIDIA binary Xorg driver (Ubuntu 9.10 and 10.04)
[--]
apt-get install nvidia-glx-180 (Ubuntu 9.04)
apt-get install nvidia-glx-185 (Ubuntu 9.10 and 10.04)
[--]
Setting up nvidia-180-kernel-source (180.44-0ubuntu1) ...
Removing all DKMS Modules
Done.
Adding Module to DKMS build system
driver version= 180.44
Doing initial module build
Installing initial module
Done.

Setting up nvidia-180-libvdpau (180.44-0ubuntu1) ...

Setting up nvidia-glx-180 (180.44-0ubuntu1) ...

Setting up nvidia-settings (180.25-0ubuntu1) ...

Setting up patch (2.5.9-5) ...
Processing triggers for libc6 ...
ldconfig deferred processing now taking place

Exit from chroot.

umount /proc
exit

Rebuild image.

ltsp-update-kernels
ltsp-update-image

Add xorg.conf for NVidia Ion

We have produced the correct xorg.conf file for NVidia Ion in the chroot. Now we can use it.

sudo su
cd /opt/ltsp/i386/etc/X11/
wget http://www.arkki.info/howto/Wiki/LTSP5/ion-xorg.conf
mv ion-xorg.conf xorg.conf

Update lts.conf file for new xorg.conf file. - This is not necessary for Ubuntu 9.10 and 10.04!!

cat /var/lib/tftpboot/ltsp/i386/lts.conf

[Default]
CONFIGURE_X = True
X_CONF = /etc/X11/xorg.conf

Update image.

ltsp-update-image

We have now the correct NVidia driver for our kernel and the right xorg.conf.

Case 2 - one thin client is NVidia ION based

Remove chroot.

sudo su
rm -rf /opt/ltsp

Make a chroot for all the thin clients

First make a chroot for all the non-ION based thin clients.

ltsp-build-client --base /opt/ltsp --chroot i386

Upgrade that chroot.

sudo cp /etc/apt/sources.list /opt/ltsp/i386/etc/apt/sources.list
export LTSP_HANDLE_DAEMONS=false
chroot /opt/ltsp/i386
mount -t proc proc /proc
apt-get update && apt-get dist-upgrade
umount /proc
exit
sudo ltsp-update-kernels
sudo ltsp-update-image -a i386

Make chroot for NVidia ION based thin client

First make a chroot for Nvidia ION based thin client.

ltsp-build-client --base /opt/ltsp --chroot i386-ion

Upgrade that chroot.

sudo cp /etc/apt/sources.list /opt/ltsp/i386-ion/etc/apt/sources.list
export LTSP_HANDLE_DAEMONS=false
chroot /opt/ltsp/i386-ion
mount -t proc proc /proc
apt-get update && apt-get dist-upgrade
umount /proc
exit
sudo ltsp-update-kernels
sudo ltsp-update-image -a i386-ion

Install the current 'nvidia-glx-xxx' for your Ubuntu version into that chroot.

chroot /opt/ltsp/i386-ion
mount -t proc proc /proc
apt-get install nvidia-glx-180 (Ubuntu 9.04)
apt-get install nvidia-glx-185 (Ubuntu 9.10 and 10.04)
{--]
Setting up nvidia-180-kernel-source (180.44-0ubuntu1) ...
Removing all DKMS Modules
Done.
Adding Module to DKMS build system
driver version= 180.44
Doing initial module build
Installing initial module
Done.

Setting up nvidia-180-libvdpau (180.44-0ubuntu1) ...

Setting up nvidia-glx-180 (180.44-0ubuntu1) ...

Setting up nvidia-settings (180.25-0ubuntu1) ...

Setting up patch (2.5.9-5) ...
Processing triggers for libc6 ...
ldconfig deferred processing now taking place
umount /proc
exit
ltsp-update-image -a i386-ion

Setup for two chroots

We have two chroots and two directories for tftpd. The image for i386-ion is bigger because it includes drivers for NVidia.

root@ubuntu-ltsp5:/opt/ltsp# ls -al
yhteensä 20
drwxr-xr-x  5 root root 4096 2009-09-19 22:04 .
drwxr-xr-x  4 root root 4096 2009-09-19 21:51 ..
drwxr-xr-x 20 root root 4096 2009-09-19 22:08 i386
drwxr-xr-x 20 root root 4096 2009-09-19 21:55 i386-ion
drwxr-xr-x  2 root root 4096 2009-09-19 23:46 images
root@ubuntu-ltsp5:/opt/ltsp# ls -al images/
yhteensä 635064
drwxr-xr-x 2 root root      4096 2009-09-19 23:46 .
drwxr-xr-x 5 root root      4096 2009-09-19 22:04 ..
-rwxr--r-- 1 root root 290832384 2009-09-19 23:46 i386.img
-rwxr--r-- 1 root root 358817792 2009-09-19 23:39 i386-ion.img
root@ubuntu-ltsp5:/opt/ltsp#
root@ubuntu-ltsp5:/var/lib/tftpboot/ltsp# ls -al
yhteensä 16
drwxr-xr-x 4 root root 4096 2009-09-19 22:12 .
drwxr-xr-x 3 root root 4096 2009-09-16 17:24 ..
drwxr-xr-x 3 root root 4096 2009-09-19 22:20 i386
drwxr-xr-x 3 root root 4096 2009-09-19 23:32 i386-ion
root@ubuntu-ltsp5:/var/lib/tftpboot/ltsp#

Here is i386's default file for pxe. This way you are able to see boot processes (no splash). The port is default port (=2000)

admin-ltsp5@ubuntu-ltsp5:~$ cat /var/lib/tftpboot/ltsp/i386/pxelinux.cfg/default
DEFAULT vmlinuz ro initrd=initrd.img

Here is i396-ion's default file for pxe. This way you are able to see boot processes (no splash). The port is different from the regular i386 port.

admin-ltsp5@ubuntu-ltsp5:~$ cat /var/lib/tftpboot/ltsp/i386-ion/pxelinux.cfg/default
DEFAULT vmlinuz ro initrd=initrd.img nbdport=2001

We have in this case only one NVidia ION based thin client. We have a fixed ip number for that, all other thin clients have dynamic ip numbers. Here is an example dhcpd.conf file.

authoritative;
subnet 192.168.1.0 netmask 255.255.255.0 {

        # COMMON

        option domain-name "ubuntu-ltsp5";
        option domain-name-servers 192.168.1.1;
        option broadcast-address 192.168.1.255;
        option routers 192.168.1.1;
        option subnet-mask 255.255.255.0;
        option log-servers 192.168.1.1;

        # ION ONLY

        group   {
                use-host-decl-names       on;
 
                host ltsp200 {
                hardware ethernet     00:26:18:6E:B4:E0;
                fixed-address         192.168.1.200;
 
                if substring( option vendor-class-identifier, 0, 9 ) = "PXEClient" {
                filename "/ltsp/i386-ion/pxelinux.0";
                         }
                         else{
                         filename "/ltsp/i386/nbi.img";
                         }
                         option root-path "/opt/ltsp-ion/i386";
                }
 
        }

        # ALL OTHERS

        range 192.168.1.201 192.168.1.254;
        if substring( option vendor-class-identifier, 0, 9 ) = "PXEClient" {
        filename "/ltsp/i386/pxelinux.0";
        }
        else{
        filename "/ltsp/i386/nbi.img";
        }
        option root-path "/opt/ltsp/i386";
 }

We also need the right xorg.conf file, just like in first case.

sudo su
cd /opt/ltsp/i386-ion/etc/X11/
wget http://www.arkki.info/howto/Wiki/LTSP5/ion-xorg.conf
mv ion-xorg.conf xorg.conf

Update the lts.conf file for new xorg.conf file.- This is not necessary for Ubuntu 9.10 and 10.04!!

cat /var/lib/tftpboot/ltsp/i386-ion/lts.conf

[Default]
CONFIGURE_X = True
X_CONF = /etc/X11/xorg.conf

Update the image.

ltsp-update-image -a i386-ion

After these steps the NVidia ION based thin client will play nicely with all others thin clients. Here are some lines from daemon.log.

Sep 20 01:28:03 ubuntu-ltsp5 dhcpd: DHCPDISCOVER from 00:26:18:6e:b4:e0 via eth0
Sep 20 01:28:03 ubuntu-ltsp5 dhcpd: DHCPOFFER on 192.168.1.200 to 00:26:18:6e:b4:e0 via eth0
Sep 20 01:28:03 ubuntu-ltsp5 dhcpd: DHCPREQUEST for 192.168.1.200 (192.168.1.125) from 00:26:18:6e:b4:e0 via eth0
Sep 20 01:28:03 ubuntu-ltsp5 dhcpd: DHCPACK on 192.168.1.200 to 00:26:18:6e:b4:e0 via eth0

Sep 20 01:28:04 ubuntu-ltsp5 nbdrootd[2841]: connect from 192.168.1.200 (192.168.1.200)
Sep 20 01:28:04 ubuntu-ltsp5 nbd_server[2842]: connect from 192.168.1.200, assigned file is /opt/ltsp/images/i386-ion.img
Sep 20 01:28:04 ubuntu-ltsp5 nbd_server[2842]: Size of exported file/device is 358817792
Sep 20 01:28:33 ubuntu-ltsp5 dhcpd: DHCPDISCOVER from 00:a0:d1:a3:81:55 via eth0
Sep 20 01:28:33 ubuntu-ltsp5 dhcpd: DHCPOFFER on 192.168.1.203 to 00:a0:d1:a3:81:55 via eth0
Sep 20 01:28:33 ubuntu-ltsp5 dhcpd: DHCPREQUEST for 192.168.1.203 (192.168.1.125) from 00:a0:d1:a3:81:55 via eth0
Sep 20 01:28:33 ubuntu-ltsp5 dhcpd: DHCPACK on 192.168.1.203 to 00:a0:d1:a3:81:55 via eth0

Sep 20 01:28:37 ubuntu-ltsp5 nbdrootd[2995]: connect from 192.168.1.203 (192.168.1.203)
Sep 20 01:28:37 ubuntu-ltsp5 nbd_server[2996]: connect from 192.168.1.203, assigned file is /opt/ltsp/images/i386.img
Sep 20 01:28:37 ubuntu-ltsp5 nbd_server[2996]: Size of exported file/device is 290832384