Login op Live-cd Ubuntu

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Gegroet sjamen,

Mijn eerste post op tweakers.net en onmiddellijk al een vraag. Ik ben naar deze site doorverwezen door collega's in de hoop dat iemand van jullie op het volgende een antwoord weet: Hoe krijg ik een loginscherm op een aangepaste (geen x) feistyfawn live-cd?

Ik heb zelf al gezien dat ubuntu feisty met upstart werkt en niet met /etc/inittab. Volgens de informatie die ik op internet vind, zou dit alles nu onder /etc/event.d staan. Wanneer ik met een chroot mijn cd bekijk zie ik voor bvb /etc/event.d/tty1 het volgende:

# tty1 - getty
#
# This service maintains a getty on tty1 from the point the system is
# started until it is shut down again.

start on runlevel 2
start on runlevel 3
start on runlevel 4
start on runlevel 5

stop on runlevel 0
stop on runlevel 1
stop on runlevel 6

respawn
exec /sbin/getty 38400 tty1

Mijns inziens zou dit een loginprompt moeten oproepen voor mijn livecd. -> Ik krijg die niet
Als ik echter de cd opstart en ik bekijk dan de file, zie ik dat deze verandert is qua inhoud. Ipv exec /sbin/getty staat er nu exec /bin/login -f -> Die -f zorgt ervoor dat er niet dient ingelogd te worden. Ik versta echter absoluut niet vanwaar dit kan komen. upstart bezorgt mij werkelijk kopzorgen en het vervelende is dat ik met de ubuntu feisty desktop livecd zit opgezadelt omwille van andere redenen. (HP compaq dc 7700 verdraagt blijkbaar gn knoppix, slackware of eerdere versies van ubuntu)

Weet één van jullie wat ik moet doen? -> Op ubuntu nl en org fora hebben ze momenteel toch nog geen antwoord gestuurd. Ik heb zelf natuurlijk ook al wat gezocht op de cd, maar geen nuttige informatie met mijn 'find' bekomen.

Acties:
  • 0 Henk 'm!

  • moto-moi
  • Registratie: Juli 2001
  • Laatst online: 09-06-2011

moto-moi

Ja, ik haat jou ook :w

He tloginscherm is waarschijnlijk uitgeschakeld doordat ze in /etc/gdm/gdm.conf AutomaticLoginEnable en AutomaticLogin hebben aangepast, daar zou je het volgende van kunnen maken:
code:
1
2
AutomaticLoginEnable=false
AutomaticLogin=

God, root, what is difference? | Talga Vassternich | IBM zuigt


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Sorry dat ik het zo klein had weggestopt in mijn vorige post, moto-moi. Ik maak geen gebruik meer van de x-omgeving en dus als ik bij /etc/gdm/gdm.conf iets aanpas ... wel, ik wil het gerust proberen, maar ik vermoed dat het slechts een keline kans op slagen zal hebben.

Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 04:30
Hmm, als ik het goed begrijp ben je zelf een livecd aan het maken op basis van Ubuntu? Zo ja, hoe maak je die dan? En hoe kun je nu precies bestanden bekijken, als je geen grafische omgeving hebt én niet inlogt?

Los van het wijzigen van scripts: kun je niet gewoon in single user mode booten ofzoiets?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Soultaker schreef op maandag 30 juli 2007 @ 18:29:
Hmm, als ik het goed begrijp ben je zelf een livecd aan het maken op basis van Ubuntu? Zo ja, hoe maak je die dan? En hoe kun je nu precies bestanden bekijken, als je geen grafische omgeving hebt én niet inlogt?

Los van het wijzigen van scripts: kun je niet gewoon in single user mode booten ofzoiets?
Ik maak gebruik van reconstructor voor het wijzigen van de livecd -> op die manier heb ik de x-omgeving verwijderd en nog een hoop andere zaken. Ja, ik weet het, dit klinkt als de server versie van ubuntu. Nu is het echter zo dat ik bijna volledig klaar ben met deze opdracht, buiten dat laatste wapenfeit: het loginscherm.
Als ik /etc/inittab had kunnen wijzigen, was het gemakkelijk. Even goed als de uitleg die ik vond op de website van upstart volledig toepasbaar was op de livecd. Ik geef toe dat het niet bepaald evident is om op een live cd een paswoord prompt te laten verschijnen, maar ik ben er zeker van dat toch iemand moet weten hoe dit gegenereerd wordt.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb een oplossing gevonden, alhoewel ik vermoed dat dit niet bepaald de meest orthodoxe is. Ik heb al gezegd dat ik reconstructor gebruik om zo een chroot te krijgen, maar ik heb nu ook eens gaan zien in de folders die reconstructor genereert om dit te verwezenlijken. Bij mij is de bewerkingsfolder onder /hom/%username%/reconstructor/ en daaronder drie folders genaamd root, initrd en remaster. Met een find op login -f (dit is het commando dat voor een automatische loginprompt zorgt) heb ik een bepaald bestand gevonden:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
root@edp191:~# cat /home/%username%/reconstructor/initrd/scripts/casper-bottom/25configure_init


#!/bin/sh


PREREQ=""


DESCRIPTION="Setting up init..."


. /scripts/casper-functions


prereqs()


{


       echo "$PREREQ"


}


case $1 in


# get pre-requisites


prereqs)


       prereqs


       exit 0


       ;;


esac


log_begin_msg "$DESCRIPTION"


# Arrange for shells on virtual consoles, rather than login prompts


if [ -n "$USERNAME" ]; then


    if [ -f /root/etc/inittab ]; then


        sed -i -e "s|^\([^:]*:[^:]*:[^:]*\):.*getty.*\<\(tty[0-9]*\).*$|\1:/bin/login -f $USERNAME </dev/\2 >/dev/\2 2>\&1|" /root/etc/inittab


    fi


    if [ "/root/etc/event.d/tty*" != "$(echo /root/etc/event.d/tty*)" ]; then


        for f in /root/etc/event.d/tty*; do


            sed -i -e "s|^exec.*|exec /bin/login -f $USERNAME </dev/$(basename $f) > /dev/$(basename $f) 2>\&1|" $f


        done


    fi


fi


# This has the nice side effect of the cron.{daily,weekly,monthly} jobs in


# /etc/crontab remaining disabled, yet also not run by anacron


if [ -x /root/etc/init.d/anacron ]; then


    for f in /root/etc/rc?.d/S??anacron; do


        mv ${f} ${f%/*}/K00anacron


    done


fi


# No point, really


rm -f /root/etc/rc?.d/[SK]??postfix


# Avoid clobbering the user's clock


rm -f /root/etc/rc?.d/K??hwclock.sh


# Disable readahead since it doesn't play well with squashfs + unionfs


# use chmod instead of mv to not trigger unionfs bugs.


if [ -e /root/sbin/readahead-list ]; then


    chmod -x /root/sbin/readahead-list


fi


log_end_msg


exit 0

Ik heb hier de -f na elke login verwijderd en nu is 'alles' ok.(ik moet nog wel een beetje van mijn probeersels onder /etc/rc2.d/ scriptjes opkuisen)

Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 04:30
Zet die code even tussen [code][/] tags wil je ;)

Verder lijkt het erop dat dat linuxrc script niet zozeer het inloggen tegenhoudt, maar juist op alle tty's een shell start voor een bepaalde gebruiker. Waar haalt 'ie de waarde van $USERNAME vandaan? Als je die gewoon op "root" zet (of op een andere gedefinieerde gebruiker) dan lijkt me dat het ook moet werken (en je dus niet eens meer hoeft in te loggen).

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Soultaker schreef op dinsdag 31 juli 2007 @ 14:57:
Zet die code even tussen [code][/] tags wil je ;)
done
Verder lijkt het erop dat dat linuxrc script niet zozeer het inloggen tegenhoudt, maar juist op alle tty's een shell start voor een bepaalde gebruiker. Waar haalt 'ie de waarde van $USERNAME vandaan? Als je die gewoon op "root" zet (of op een andere gedefinieerde gebruiker) dan lijkt me dat het ook moet werken (en je dus niet eens meer hoeft in te loggen).
Het houdt het inloggen niet tegen, maar zorgt ervoor dat je automatisch inlogt -> hetgeen normaal is voor de livecd van ubuntu (aangezien dit tevens een installatiecd is) Wanneer ik de -f bij login weglaat, zorg ik ervoor dat dit niet meer gebeurd en ik dus een loginprompt krijg. Ik ga wel nog effe verderzoeken om te weten hoe ik dit zou moeten doen zonder reconstructor.
Pagina: 1