[OmniOS-discuss] best guide to tftp ?

Michael Mounteney gate03 at landcroft.co.uk
Sat Nov 8 02:45:24 UTC 2014


On Sat, 25 Oct 2014 09:51:13 +0200
Natxo Asenjo <natxo.asenjo at gmail.com> wrote:

> So you should just install the tftp package in the omnios publisher
> and then activate the tftp service by editing inetd.conf and adding
> the line:
> 
> tftp    dgram   udp6    wait    root    /usr/sbin/in.tftpd
> in.tftpd -s /tftpboot
> 
> and then running the "inetconv" command. This will create an SMF
> service, network/tftp/udp6.

I did this and:

root at diener:~# svcs -xv tftp/udp6
svc:/network/tftp/udp6:default (tftp)
 State: online since Sat Nov  8 00:58:54 2014
Impact: None.

which looks alright but:

root at diener:~# ps -ef|grep ftp
    root 19727 19582   0 02:26:18 pts/4       0:00 grep ftp

and tftp put/get requests just time out.  Here's the general manifest;
any ideas?

root at world:/support/Solaris# cat zone/diener/tftp-udp6.xml | grep -v '^$'
<?xml version='1.0'?>
<!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'>
<!--
    Service manifest for the tftp service.
    Generated by inetconv(1M) from inetd.conf(4).
-->
<service_bundle type='manifest' name='inetconv:tftp'>
<service
        name='network/tftp/udp6'
        type='service'
        version='1'>
        <create_default_instance enabled='true'/>
        <restarter>
                <service_fmri value='svc:/network/inetd:default' />
        </restarter>
        <!--
            Set a timeout of 0 to signify to inetd that we don't want to
            timeout this service, since the forked process is the one that
            does the service's work. This is the case for most/all legacy
            inetd services; for services written to take advantage of SMF
            capabilities, the start method should fork off a process to
            handle the request and return a success code.
        -->
        <exec_method
                type='method'
                name='inetd_start'
                exec='/usr/sbin/in.tftpd -s /tftpboot'
                timeout_seconds='0'>
                <method_context>
                        <method_credential user='root' group='root' />
                </method_context>
        </exec_method>
        <!--
            Use inetd's built-in kill support to disable services.
        -->
        <exec_method
                type='method'
                name='inetd_disable'
                exec=':kill'
                timeout_seconds='0'>
        </exec_method>
        <!--
            Use inetd's built-in process kill support to offline wait type
            services.
        -->
        <exec_method
                type='method'
                name='inetd_offline'
                exec=':kill_process'
                timeout_seconds='0'>
        </exec_method>
        <!--
            This property group is used to record information about
            how this manifest was created.  It is an implementation
            detail which should not be modified or deleted.
        -->
        <property_group name='inetconv' type='framework'>
                <propval name='converted' type='boolean' value='true' />
                <propval name='version' type='integer' value='1' />
                <propval name='source_line' type='astring' value='tftp dgram udp6 wait root /usr/sbin/in.tftpd in.tftpd  -s      /tftpboot'
                />
        </property_group>
        <property_group name='inetd' type='framework'>
                <propval name='name' type='astring' value='tftp' />
                <propval name='endpoint_type' type='astring' value='dgram' />
                <propval name='proto' type='astring' value='udp6' />
                <propval name='wait' type='boolean' value='true' />
                <propval name='isrpc' type='boolean' value='false' />
        </property_group>
        <stability value='External' />
        <template>
                <common_name>
                        <loctext xml:lang='C'>
tftp
                        </loctext>
                </common_name>
        </template>
</service>
</service_bundle>


More information about the OmniOS-discuss mailing list