setting hostname with liveCD?


Forum: Networking
Topic: setting hostname with liveCD?
started by: vinoloco

Posted by vinoloco on Mar. 21 2005,03:38
Anyone know how to set the hostname on a live CD "toram" and have it and have it backed up?  Manual modifications work fine but files like /etc/hosts and /etc/init.d/knoppix-autoconfig can't be modified and saved through "backup" because they are linked.  Any ideas?

  -- vino

Posted by cbagger01 on Mar. 21 2005,17:07
You can create a short shell script that is located in /etc/init.d that will autorun.

This script can delete the symlinks and either

replace them with a new hostname OR

prompt the user to enter a hostname and then replace the file with the new hostname.

Then you can tar this script up into a *.tar.gz or a *.dsl file.

Posted by vinoloco on Mar. 22 2005,03:52
OK Cbagger01.  Thanks for the tip.  I'll try this out and see if it works.

  -- vino

Posted by henk.1955 on Mar. 22 2005,09:20
*.tar.gz, *.dsl and *.uci are loaded at boottime with the /etc/rcS.d/S01dsl-config. this is a link to /KNOPPIX/etc/init.d/dsl-config.
So if you want a script to run at boottime: you can put it in in /etc/init.d and have links in /etc/rc2.d/,
/etc/rc3.d/,/etc/rc4.d/,/etc/rc5.d/ to the script.
then tar.gz the script and the links. ( does not have to be a *.dsl, /etc is writeable as it in minirt24 which is the root).
put the script where mydsl= finds it.

example:
/etc/init.d/echo_hostname
Code Sample
#!/bin/bash

. /etc/init.d/dsl-functions

CMDLINE="$(cat /proc/cmdline)"

# get hostname from bootparams

HOSTNAME="$(getbootparam hostname 2>/dev/null)"

echo "hostname=$HOSTNAME."

ln -sf /etc/init.d/echo_hostname /etc/rc2.d/S01echo_hostname
ln -sf /etc/init.d/echo_hostname /etc/rc3.d/S01echo_hostname
ln -sf /etc/init.d/echo_hostname /etc/rc4.d/S01echo_hostname
ln -sf /etc/init.d/echo_hostname /etc/rc5.d/S01echo_hostname

The links in the /etc/rc2.d .. /etc/rc5.d make sure the script is run no matter what runlevel you choise.
the S01 in the linkname defines the order in which the scripts are run S01 first S99 last

Now if you look in /etc/rc2.d to etc/rc5.d you see they have:
S49dsl-restore ( this untars the backup.tar.gz)
S99bootlocal   ( this runs the /opt/bootlocal.sh)

i think it is much easier add:
Code Sample
. /etc/init.d/dsl-functions

CMDLINE="$(cat /proc/cmdline)"

# Set hostname
HOSTNAME="$(getbootparam hostname 2>/dev/null)"

echo "hostname=$HOSTNAME."

[ -n "$HOSTNAME" ] || HOSTNAME="box"
rm -f /etc/hostname
echo $HOSTNAME >/etc/hostname
/etc/init.d/hostname.sh
rm -f /etc/hosts
cat >/etc/hosts <<EOT
127.0.0.1 $HOSTNAME localhost

# The following lines are desirable for IPv6 capable hosts
# (added automatically by netbase upgrade)

::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

EOT

echo "hostname set"

to /opt/bootlocal.sh
or put this code in a script, call the script from bootlocal.sh
then add them to filetool.lst to have them backedup

Posted by vinoloco on Mar. 26 2005,07:14
Henk.1955:

Thanks for the input.  With a little bit of tweaking for my setup this worked fine.  Maybe we should put this in the "how to" section since this question comes up a lot?

    -- vino

Posted by educ on April 18 2005,18:08
Quote (henk.1955 @ Mar. 22 2005,04:20)
*.tar.gz, *.dsl and *.uci are loaded at boottime with the /etc/rcS.d/S01dsl-config. this is a link to /KNOPPIX/etc/init.d/dsl-config.
So if you want a script to run at boottime: you can put it in in /etc/init.d and have links in /etc/rc2.d/,
/etc/rc3.d/,/etc/rc4.d/,/etc/rc5.d/ to the script.
then tar.gz the script and the links. ( does not have to be a *.dsl, /etc is writeable as it in minirt24 which is the root).
put the script where mydsl= finds it.

example:
/etc/init.d/echo_hostname
Code Sample
#!/bin/bash

. /etc/init.d/dsl-functions

CMDLINE="$(cat /proc/cmdline)"

# get hostname from bootparams

HOSTNAME="$(getbootparam hostname 2>/dev/null)"

echo "hostname=$HOSTNAME."

ln -sf /etc/init.d/echo_hostname /etc/rc2.d/S01echo_hostname
ln -sf /etc/init.d/echo_hostname /etc/rc3.d/S01echo_hostname
ln -sf /etc/init.d/echo_hostname /etc/rc4.d/S01echo_hostname
ln -sf /etc/init.d/echo_hostname /etc/rc5.d/S01echo_hostname

The links in the /etc/rc2.d .. /etc/rc5.d make sure the script is run no matter what runlevel you choise.
the S01 in the linkname defines the order in which the scripts are run S01 first S99 last

Now if you look in /etc/rc2.d to etc/rc5.d you see they have:
S49dsl-restore ( this untars the backup.tar.gz)
S99bootlocal   ( this runs the /opt/bootlocal.sh)

i think it is much easier add:
Code Sample
. /etc/init.d/dsl-functions

CMDLINE="$(cat /proc/cmdline)"

# Set hostname
HOSTNAME="$(getbootparam hostname 2>/dev/null)"

echo "hostname=$HOSTNAME."

[ -n "$HOSTNAME" ] || HOSTNAME="box"
rm -f /etc/hostname
echo $HOSTNAME >/etc/hostname
/etc/init.d/hostname.sh
rm -f /etc/hosts
cat >/etc/hosts <<EOT
127.0.0.1 $HOSTNAME localhost

# The following lines are desirable for IPv6 capable hosts
# (added automatically by netbase upgrade)

::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

EOT

echo "hostname set"

to /opt/bootlocal.sh
or put this code in a script, call the script from bootlocal.sh
then add them to filetool.lst to have them backedup

henk.1955 henk.1955 henk.1955

:p  may i kiss you?
i mean deep throat DAAAAAMMMMNNN
this man and all the DSL team rules!!!

i learn so much about Linux with you men!!!


i was tweaking and searching the forum to know how you set this "hostname" boot time option...

and here i am ( after 2 month trying!!!!)
still a newbie error


but now i can choose the name of my DSL box!!


if it can help newbie like me
better put the script at the start of bootlocal.sh
and issue your others command AFTER

. /etc/init.d/dsl-functions this part is needed to call the function getbootparam


then you just have to add this boot time option:
"hostname=henk55rocks" in your root syslinux.cfg

and your done...

now you can network all your computers with USB-key DSL charged!!!!!

Posted by roberts on April 18 2005,21:45
henk's mod is going into the next release, this should make it easier for everyone with multiple DSL boxes.
Posted by clivesay on April 18 2005,21:52
Thanks, Robert.

DSL is so good that more and more of us have multiple DSL boxes running.   :cool:

Posted by educ on April 19 2005,11:07
one word to say:
DAMN!!!

every time i show up this usb-key power :same reaction..

they will soon change my computer with one without:CDROM,USBport,SCSI,FLOPPY,NETwork...I/O  access

this help you learning linux, cause i really dont know what you cant do with this distro....
just ask it might be someone already got your solution.

Forum Search is your friend!!!

it may be a bit Techhie,*NIX GuRu .. sometimes but  after each step you really feel you ve learn something...





next step replace my main computer OS(yes you know it)
still got problem to solve (USB printing) and then i will invent others :)



did i mention that i love you all in here????

Powered by Ikonboard 3.1.2a
Ikonboard © 2001 Jarvis Entertainment Group, Inc.