Thinstation / thinstation

A framework for making thin and light Linux based images for x86 based machines and thinclients.
https://www.thinstation.net/
819 stars 188 forks source link

Thinstation 6.2.14 - boot pxe network stops working. #837

Closed clodoaldosimon closed 2 months ago

clodoaldosimon commented 5 months ago

Hello, Using Thinstation 6.2.14 to build pxe with vmwiew, after initialization the network stops working, can you tell me what it could be??

Thinstation commented 5 months ago

I'll need more information to help with that.

clodoaldosimon commented 5 months ago

Right, I will put here the files that I am using to create the pxe image. Below are the text of the files, "build.conf" and "thinstation.conf.buildtime.

After creating the image with devstation, the pxe gets the IP, downloads the tftp files, but when the system boots, I see that the ping for the IP stops, and when I try to access the vdi horizon client, it gives the error that "couldn't resolve server address".

Can you help me with this information? Perhaps some parameter or network driver is missing.

file 1: ################################################

--- Thinstation Build Config ---

################################################ # #

This is Thinstation s basic setup file. In this file you decide which

hardware, programs and features to be included in the Thinstation

boot image generated by running "./build".

#

You can customize/limit the possibilities in the thinstation.conf

files later.

#

Anything after a "#" is a comment. You activate "things" by removing

the "#" and remove "things" by putting a "#" in front of them.

#

First we define which modules to include. Modules are hardware

drivers. NEVER include more than necessary - the more modules, the

longer boot time.

########################################################

--- Machine Modules to include in boot image ---

########################################################

A machine profile is a set of modules for a specific set of hardware

components like a thinclient with adapters. It does not include any

filesystem modules, those need to be selected individualy. Making a

a machine profile is a two step process. First you will need to make

an allmodules build like "./build --allmodules" with the extensions-x

package included. Once the client machine is booted with that image

you can open and xterm or telnet in and run "hwlister.sh". hwlister.sh

will compile some lists and attempt to post them to the pxe server assigned

to the client. If the pxe server is this workstation and you are hosting

files directly out of this build env, you can then run

"./mkmachine SOME-MODEL" and the files will be put into the machine folder

under that model name. Now all you have to do is add a line to this file

like "machine SOME-MODEL" and you will no longer have to make

allmodules builds. If this is not the pxe server, you will have to

move stuff around on your own, but the most important files are

modules.list and firmware.list.

################################################

--- Modules to include in boot image ---

################################################

Any modules may be added as "module" or "module_pkg".

If defined as a "module", the driver is included in the boot image.

If defined as a "module_pkg", the driver is added from outside the

image, such as from a tftp server. See note below for more details.

#

Normally you should use "module". Only use "module_pkg" if you want

to dynamically load modules.

Note: If you create a module_pkg network driver, and decide to load it

from a tftp server, it won t work. This is because the image

won t have a network driver to get the module_pkg in the first

place.

!Hardware

!!Machine module list

machine NT-A3500 # Foxconn AMD E-350 Barebone

machine NT-535 # Foxconn Intel D525 Barebone

machine Dell-FX170 # Dell FX170 D525 Atom Machine

machine VMWare # A good set of modules for a VmWare Virtual Machine

machine Virtualbox-4.1 # A good set of modules for a Virtualbox Virtual Machine

machine classic_generic # Big list of modules that you can choose by unremarking them

machine foxconn-nT-330i # Foxconn nT 330i Barebone

machine foxconn-nT-435 # Foxconn nT 435 Barebone

machine foxconn-nT-535 # Foxconn nT 535 Barebone

machine foxconn-nT-A3800 # Foxconn nT A3800 Barebone

machine foxconn-nT-i2847 # Foxconn nT i2847 Barebone

machine foxconn-nT-iBT18 # Foxconn nT iBT18 Barebone

machine foxconn-nT-n270 # Foxconn nT n270 Barebone

!!Wireless Stuff

package wpa_supplicant

package wireless

package wifi-connect

!!!Misc Modules

!!Filesystem Support

Every mounted device needs a filesystem, so choose which ones you need.

module usb-storage

module autofs4 # Automount and autofs support

module isofs # ISO9960 file system support for CDRoms module udf # CDRom UDF file system support module vfat # Fat and VFat file system support

module ntfs # NTFS file system support

module ext2 # Ext2 file system support

module ext4 # Ext4 file system support

module nfs # NFS file system support

module cifs # CIFS support (use either this or smbfs - not both)

#################################################

--- Packages to include in boot image ---

#################################################

A package is a program or utility.

Any packages may be added as "package" or "pkg".

If defined as a "package", the program is included in the boot image.

If defined as a "pkg", the program is added from outside the image.

Normally, you should use "package". Only use "pkg" if you want to

dynamically load programs.

--- Packages to include in boot image

--- Packages below may be "package" or "pkg"

!!Miscellaneous

package ts-classic # The classic ts logic for network/netfiles/hostname/mounting/telnetd/telnet/playcd package automount package networkmanager

package udisks-glue

package ntp # Utility to obtain date & time from network

package sound-esd # Enable sound-esd or sound-nasd if you want to be able to control

package sound-nasd # sound on your thin client from another computer or

                        #  your remote session.

package alsa

package gnome-core

package kismet

package gst-plugins-base

package gst-plugins-good

package crystalhd

package libva

package iptables # IP Tables support

package cpufreq

package cpuspeed

package wine # Windows Application Execution Platform

!!X related

--- XOrg 7.7

package xorg7-v4l

package xorg7-vesa package xorg7-vmware package xorg7-qxl package xorg7-ati

package xorg7-openchrome

package xorg7-intel package xorg7-sis

!!Locale or localization files for keyboard and fonts. (Language/Country)

package locale-cs_CZ # Czech

package locale-da_DK # Danish

package locale-de_DE # German

package locale-en_GB # English-Great Britain

package locale-en_US # English-US

package locale-es_ES # Spanish

package locale-fi_FI # Finnish

package locale-fr_BE # French Belgium

package locale-fr_CA # French Canadian

package locale-fr_CH # French Switzerland

package locale-fr_FR # French

package locale-hr_HR # Croation

package locale-hu_HU # Hungarian

package locale-it_IT # Italian

package locale-ja_JP # Japanese

package locale-nb_NO # Norwegian (bokmål)

package locale-pl_PL # Polish

package locale-pt_PT # Portuguese

package locale-pt_BR # Portuguese-Brazil

package locale-ru_RU # Russian

package locale-sv_SE # Swedish

package locale-tr_TR # Turkish

!Applications

!!Connection Package types. Choose at least one!

package freerdp # X RDP Client - fork of rdesktop

package rdesktop # X RDP client for Windows Terminal Services (ver 1.7)

package vncviewer # VNC client (vncviewer)

package xorg7vnc # Remote Control Client Workstation

package ica # Citrix ICA client support

package tarantella # Tarantella client support

package xnest # XDM in a window client

package urxvt # Light Xterm Client (vt102)

package xterm # Xterm Client (vt220)

package terminal # Terminal emulator for xfwm4 -- Pulls in xfwm4

package thunar # File Manager for xfwm4 -- Pulls in xfwm4

package ssh # Secure Shell client

package tn5250 # 5250 terminal emulator

package dillo # Dillo light web browser

package thinlinc # Cendio ThinLinc client support

package nx # No Machine NX client

package 2x # 2X client

package java # Java runtime

package firefox_lowmem # Firefox 3 for low resource machines

package firefox # Firefox current Web Browser

package chrome # Google Chrome Web Browser

package kiosk # Rkiosk Plugin for Firefox

package flash_lowmem # Flash 9 browser plugin for firefox and low resource machines

package flash # Flash Current

package filezilla # FileZilla FTP Client for X

package git # GIT Version Control System

package gparted # Gnome Partition Manager

package open-vm-tools

package medit # Notepad

package mplayer # DVD and video player

package vmview # VMware Open-View Client, PCOIP

package xbmc # XBMC Media Center for X

package xpdf # X PDF Viewer

!!Window Managers. Choose no more than 1 window manager.

Not needed if you don t want to manage windows.

package openbox # A spartin clean/fast window manager.

package xdesktop-kiosk # A locked down desktop kiosk using the openbox wm (See packages/xdesktop-kiosk/build/conf for

            # more help.

package icewm # "ICEWM" window manager. Makes TS a light workstation.

package icewm-theme-xp

package icewm-themes # Extra IceWM themes

package icewm-theme-bernstein

package icewm-theme-bluecrux

package icewm-theme-liquid

package xfwm4

package xfwm4-extra

!!Window Manager Utils

package idle-shutdown # Package that lets you specify automatic shutdown settings and logic.

package wbar # Adds icons to desktop

package idesk

!!Other services

package www # Web access to client. From a browser: "http://"

                        #  The standard page is for general user settings, administrative access
                        #  is on port 6800.

package lp_server # Remote printing daemon (JetDirect compatible)

package lpr # LPR Print Server, for use with samba-server package

package lprng # LPRng Print Server, supports network based printing

package sshd # Dropbear secure shell server

package tftpd # Built in tftpd server. Useful for making a tftpserver

            #  for thinstation on a WAN over a slow link.

package samba-server # Samba server FS Support, allows you to share

                        #  local floppy/cdrom/hd/printer to other Windows
            #  PCs. Needs supermount for removeable media.

package samba-client # Samba smbclient, gives a shell like environment to access an samba server

package hdupdate # Package for updating TS images on a hardisk over a network connection

package scp # Add ability to download files over internet using scp. This package

                        #  adds some networking based options for downloading configuration files or
                        #  in using hdupdate package.

package openvpn # OpenVPN Client Support

!!PCSCD Card Readers

package ccidreader # Generic USB card reader

!!Miscellaneous

package gtk-2.0 # Full gtk-2.0 plus clearlooks theme package gtk-3.0 package icons-cursor # Anti Aliased Mouse Cursor Theme package gtk-theme-adwaita package icons-adwaita

package icons-hicolor # Hi-Color icons for some applications and themes. Does not really contain any icons.

package icons-gnome # gnome Hi-Color icons theme. Needed by most other icon themes.

package icons-tango # tango Hi-Color icons theme

package icons-neu # neu Hi-Color icons theme

package fonts-misc

package fonts-TTF-liberation

package fonts-jis-misc # Japanese Industrial

package fonts-util

package fonts-cyrillic

package fonts-Speedo-Bitstream

package fonts-TTF-BH # This one works nicely most of the time and is small. package fonts-TTF-vera package fonts-TTF-noto

package fonts-TTF-liberation

package fonts-75dpi-Adobe

package fonts-75dpi-Adobe-Utopia

package fonts-75dpi-BH

package fonts-75dpi-BH-Typewriter

package fonts-75dpi-Bitstream

package fonts-100dpi-Adobe

package fonts-100dpi-Adobe-Utopia

package fonts-100dpi-BH

package fonts-100dpi-BH-Typewriter

package fonts-100dpi-Bitstream

package fonts-Type1-Adobe-Utopia

package fonts-Type1-BH

package fonts-Type1-Bitstream

package fonts-Type1-IBM

package fonts-Type1-xfree86

package lshw # list hardware

package e3 # Basic vi like Editor

package rox # Basic File Manager

package debug # metapackage to include other debugging packages and stop during bootup to check things.

package extensions # Adds various shell commands, will increase image size.

package extensions-x # Adds various utility s for the X Environment !!!! INCLUDES hwlister.sh !!!!

package eGalax # eGalax TouchKit Drivers/Utility for serial and usb touchscreens by EETI.

package installer # Wipes a drive, makes partitions and downloads thinstation from a pxe server

package devstation # Starts a tftp server that hosts files from the boot-images/pxe folder

Parameters

########################################

--- Miscellaneous Parameters ---

########################################

!!Basic

param fastboot false # Mangles the filesystem a special way as to improve boot speed and reduce

memory utilization. Cool/Dangerous . Harder to dubug other packages. (Finishing Touch)

                        # Set to 'true' to enable or 'lotsofmem' for slightly slower booting but no squash lag on app launch.

param tsuser tsuser # Name of the user that thinstation will run as.

param tsuserpasswd pleasechangeme # Do Change! Console/telnet password for non-root

param rootpasswd pleasechangeme # Do Change! Console/telnet password for root

If this is enabled, Telnetd will be enabled.

param xorgvncpasswd pleasechangeme # VNC Access Password param storagepasswd pleasechangeme # Password for storage server param dialuppasswd pleasechangeme # Password for dialin account param sambapasswd pleasechangeme # Password for samba shares when using user mode security

param kernelcmdline "radeon.modeset=0" # Add additional kernel command lines. e.g. disable radeon framebuffer

param stripelf yes # Strip extraneous information from elf binaries (Maybe not Safe)

param acpisupport disable # Tells the kernel not to load acpi modules. (Breaks some Intel Chipsets if disabled)

param uvesafb disable # Disable uvesafb (legacy option like modesetfb)

param extra_vid LVDS-1:d # Add an extra video= parameter to kernel cmd line (good for disabling outputs on video cards)

param bootlogo true # Enable or Disable the use of the Boot splash. param boottheme default # Backgound picture during boot

param splash verbose # kernel splash setting (0=off, silent or verbose (default=silent)

param splash silent param fbmtrr 0 # MTRR value for uvesafb (default = 0, 4 is the best) grep your log to make sure you have not set it to high

param fbnocrtc true # This is usually a good thing.

param fbsm ywrap # Window scrolling method (redraw, ypan, ywrap) ywrap is best, but may not work correctly for allpeople

param fbvtotal 16 # Override Video Bios Reported Memory in MB

param fbmaxhf 67 # Override Video Negotiated Max Horizontal Frequency

param fbmaxvf 61 # Override Video Negotiated Max Vertical Frequency

param fbmaxclk 155 # Override Video Negotiated Max Clock Frequency

param fbnoedid true # Don t do video edid

param bootresolution 1024x600-32 # Resolution used during Thinstation boot.

param bootresolution 1024x768-32 # You can wright your own resolution mode here, if you know it.

param bootresolution 1152x864-32

param bootresolution 1280x768-32

param bootresolution 1366x768-32 # Otherwise, you may want to refer to the vbe_modes.list you created with hwlister.sh

param bootresolution 1280x1024-32 # for modes that your card supports.

param bootresolution 1400x900-32 # It is also used by xrandr if no xrandr options are specified.

param bootresolution 1680x1050-32

param bootresolution 1920x1080-32

param bootresolution 1400x1050-32

param desktop file:./backgrounds/Hive_Lite.jpg # Custom image to load as desktop background param defaultconfig thinstation.conf.buildtime # The file with default setup. No other config file is found

during boot.

param basename thinstation # Used for all config/tftp/scp file names param basepath ts6.2 # Used to determine path to tftp/scp files param baseurl http://www.doncuppjr.net # Used to determine url to wget files

param keyfile ./id_rsa # Path for private key file used for ssh/scp

param knownhosts ./known_hosts # Path for ssh known_hosts file for ssh/scp

param localpkgs false # to determine is PKG files are to be loaded locally

param fulllocales true # Use full locale support for packages

param icaencryption false # Use ica encryption support, add 290k to image

param haltonerror false # Will halt on error, default is true param hardlinkfs true param sametimestmp true # When enabled, the timestamps for all files and folders will be set to 00:00 of todays date in your timezone param initrdcmd "gzip" # Compression mode and level of initrd file. none, gzip -9, lzma -9 ,bzip2 -9 param bootverbosity 3 # Increased vebosity when booting TS

0 no verbose messages

                                        #   1 boot
                                        #   2 network
                                        #   4 init
                                        #   8 kernel
                                        #  16 modules
                                        #  32 packages
                                        #  64 email bootlog file to SMTP server & user set in
                                        #     thinstation.conf file.  This will only work
                                        #     if networking is working.
                                        #
                                        #  Combinations can be used (e.g.12 does Kernel and Module Messages)

!!Advanced

Leave this alone unless you can t download (wget required on your Linux box):

param downloads /downloads

param bootprefix "test/" # Add a prefix directory to /boot for PXE based launch, used to allow multiple builds on same PXE server

                      # Value will be inserted as follows: /${bootprefix}boot
                      # Note: This is incompatible with non-network grub based boot images

param syslinuxtheme "default"

param httpproxy http://192.168.1.2:8080

param bootfssize 50% # Modify the size of the tmpfs filesystem

param livecd true # Adds a multi-resolution boot menu to cd images.

package alltimezone param allres true # Includes a lot of resolution splash images for live-cd s param allfirmware true # Includes a lot of firmwares for live-cd s param blacklist "snd-pcsp.ko pcspkr.ko"

=============================================================================

file 2: ################################################

--- Thinstation Conf Build Time ---

################################################

SESSION_0_TYPE=icewm SESSION_0_AUTOSTART=on NET_USE=BOTH NET_USE_DHCP=on NET_DNS1=10.40.48.10 NET_DNS2=10.40.48.11 NET_DNS_SEARCH=10.40.48.182 NET_HOSTNAME=teste-pxe TIME_ZONE=America/Sao_Paulo BIND_MOUNT0="home:/root" BIND_MOUNT1="boot:/boot" NET_TIME_SERVER=ntp.example.br HIDE_CONTROLS=on SESSION_1_TYPE=vmview SESSION_1_AUTOSTART=on SESSION_1_VMVIEW_SERVERURL=vdi.example.br SESSION_1_VMVIEW_FULLSCREEN=true SESSION_1_VMVIEW_NONINTERACTIVE=true SESSION_1_VMVIEW_DOMAINNAME=portoalegre

Thinstation commented 5 months ago

If you are just starting an VMView kiosk over ethernet, maybe use autonet instead of networkmanager. It's not obvious why your config wouldn't work though.

clodoaldosimon commented 4 months ago

Hello friend, I changed the parameter leaving only autonet and still, the same thing happens, after downloading the files from the tftp server, it stops pinging.

I also tested an isolated network, using the default configuration files, directory /thinstallation/build/conf/vmview-micro/ and the same problem still occurs.

Do you have any other tips or versions that I can use?

Thinstation commented 4 months ago

Could try an allmodules build.

clodoaldosimon commented 4 months ago

thanks I'll try.

Brave727 commented 4 months ago

Good day. Tell me please. I want to set up clients to boot via PXE boot. How do I set up the config correctly for this purpose? I have attached a screenshot below. Thanks!

Снимок экрана 2024-07-03 085951

Thinstation commented 4 months ago

You don't need to change any paths there. You can, if you want multiple builds to be hosted by the same PXE boot server, but otherwise the defaults should be fine. The real changes that need to be made are regarding the network stack. Usually autonet is the best option for PXE booting, but networkmanager might work if you don't enable fastboot.