summaryrefslogtreecommitdiffstats
path: root/doc/install/pc.mdwn
blob: c308ca697a404319d49de80adac4de7f55147c1f (plain)
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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
[[!meta title="PC Installation Instructions"]]

This guide explains how to use the interactive installer program distributed
with miniprokit to install ProteanOS on a PC platform.


Preparation
===========

Make sure you have a computer supported by ProteanOS.  Currently, the Acer
Aspire One AO751h and Dell Dimension 2400 are supported.  If your computer is
not supported, you can [[port_ProteanOS_to_run_on_it|doc/plat/porting]].

Determine the devices from which your computer can boot.  For example, the Acer
Aspire One AO751h can boot from an internal PATA (a.k.a. IDE or ATA) drive or
from a storage device connected over USB (e.g. a flash drive), while the Dell
Dimension 2400 can only boot ProteanOS from an internal PATA drive.

Pick a storage device on which you want to install ProteanOS and connect it to
the computer on which you plan to run the installer.  You can either connect the
device to a different computer (easiest in the case of a USB flash drive) or run
a live GNU/Linux system on the computer on which you plan to install ProteanOS.

Install Git if you don't already have it and clone the [miniprokit
repository][miniprokit-git]:

    git clone git://git.proteanos.com/miniprokit/miniprokit.git

If you already have a copy of miniprokit, make sure it is up to date:

    git pull origin master

Note that you need the full repository, and not just the miniprokit.sh file.


Installation
============

Run the `installers/pc.sh` script as the superuser to begin the installation.

Answer the installer's questions and it will install and configure ProteanOS for
you.

Sample Installation
-------------------

Following is an installation of ProteanOS for the Dell Dimension 2400 to a hard
disk drive connected to a laptop by a SATA to USB adapter:

    $ sudo installers/pc.sh
    
    Select a platorm
    ================
    
    Select a platform:
    1) Acer Aspire One AO751h
    2) Dell Dimension 2400
    #? 2
    
    Select a block device
    =====================
    
    Select a block device:
    1) SD32G (mmcblk0) - 31.49 GB (29.32 GiB)
    2) ATA      WDC WD3200BEKT-6 (sda) - 320.07 GB (298.09 GiB)
    3) ST316021 5ACE             (sdd) - 160.04 GB (149.05 GiB)
    #? 3
    
    Making partition table and file system
    ======================================
    
    1+0 records in
    1+0 records out
    512 bytes (512 B) copied, 0.00984386 s, 52.0 kB/s
    Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
    Building a new DOS disklabel with disk identifier 0x8a39a80e.
    Changes will remain in memory only, until you decide to write them.
    After that, of course, the previous content won't be recoverable.
    
    Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
    
    Command (m for help): Partition type:
       p   primary (0 primary, 0 extended, 4 free)
       e   extended
    Select (default p): Partition number (1-4, default 1): First sector (2048-312581807, default 2048): Using default value 2048
    Last sector, +sectors or +size{K,M,G} (2048-312581807, default 312581807): Using default value 312581807
    
    Command (m for help): Selected partition 1
    Hex code (type L to list codes): 
    Command (m for help): Partition number (1-4): 
    Command (m for help): The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    Syncing disks.
    mke2fs 1.42.9 (28-Dec-2013)
    Filesystem label=
    OS type: Linux
    Block size=4096 (log=2)
    Fragment size=4096 (log=2)
    Stride=0 blocks, Stripe width=0 blocks
    9773056 inodes, 39072470 blocks
    1953623 blocks (5.00%) reserved for the super user
    First data block=0
    Maximum filesystem blocks=4294967296
    1193 block groups
    32768 blocks per group, 32768 fragments per group
    8192 inodes per group
    Superblock backups stored on blocks: 
            32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
            4096000, 7962624, 11239424, 20480000, 23887872
    
    Allocating group tables: done                            
    Writing inode tables: done                            
    Creating journal (32768 blocks): done
    Writing superblocks and filesystem accounting information: done     
    
    
    Installing base system
    ======================
    
    Using architecture i686-linux-glibc
    Using platform dimension2400
    Using mirror http://mirror.gnu.dk/pub/proteanos
    Setting up root...
    Configuring opkg and retrieving Packages...
    Downloading proteanos-branding...
    Unpacking proteanos-branding...
    Downloading libc-bin...
    Unpacking libc-bin...
    Downloading libc.6...
    Unpacking libc.6...
    Downloading libopkg.1...
    Unpacking libopkg.1...
    Downloading opkg...
    Unpacking opkg...
    Downloading base-files...
    Unpacking base-files...
    Downloading busybox...
    Unpacking busybox...
    Downloading linux-image...
    Unpacking linux-image...
    Configuring packages...
    Package base-files (1.0.2) installed in root is up to date.
    Package busybox (1.21.1-8) installed in root is up to date.
    Package libc-bin (2.19~r25243+sip1-3) installed in root is up to date.
    Package libc.6 (2.19~r25243+sip1-3) installed in root is up to date.
    Package libopkg.1 (0.2.2-1) installed in root is up to date.
    Package linux-image (3.10.48~gnu-1) installed in root is up to date.
    Package opkg (0.2.2-1) installed in root is up to date.
    Package proteanos-branding (0.1) installed in root is up to date.
    Configuring libopkg.1.
    Configuring opkg.
    Configuring busybox.
    update-alternatives: Linking //usr/bin/awk to /usr/bin/awk.busybox
    update-alternatives: Linking //usr/bin/dc to /usr/bin/dc.busybox
    update-alternatives: Linking //usr/bin/bzip2 to /usr/bin/bzip2.busybox
    update-alternatives: Linking //usr/bin/bunzip2 to /usr/bin/bunzip2.busybox
    update-alternatives: Linking //usr/bin/bzcat to /usr/bin/bzcat.busybox
    update-alternatives: Linking //usr/bin/xz to /usr/bin/xz.busybox
    update-alternatives: Linking //usr/bin/unxz to /usr/bin/unxz.busybox
    update-alternatives: Linking //usr/bin/xzcat to /usr/bin/xzcat.busybox
    update-alternatives: Linking //usr/bin/lzma to /usr/bin/lzma.busybox
    update-alternatives: Linking //usr/bin/unlzma to /usr/bin/unlzma.busybox
    update-alternatives: Linking //usr/bin/lzcat to /usr/bin/lzcat.busybox
    update-alternatives: Linking //usr/bin/ar to /usr/bin/ar.busybox
    update-alternatives: Linking //usr/bin/strings to /usr/bin/strings.busybox
    update-alternatives: Linking //usr/bin/clear to /usr/bin/clear.busybox
    update-alternatives: Linking //usr/bin/reset to /usr/bin/reset.busybox
    update-alternatives: Linking //usr/bin/mkpasswd to /usr/bin/mkpasswd.busybox
    Configuring base-files.
    Configuring libc.6.
    Configuring linux-image.
    Configuring proteanos-branding.
    Configuring libc-bin.
    
    Configure the network
    =====================
    
    Network configuration method:
    1) Static
    2) DHCP
    #? 2
    
    Set up users and passwords
    ==========================
    
    Changing password for root
    New password: 
    Bad password: too short
    Retype password: 
    Password for root changed by root
    
    Installing tzcode (2014c-1) on root.
    Downloading http://mirror.gnu.dk/pub/proteanos/feeds/dev/trunk/i686-linux-glibc/all/base/../../../../../../pool/t/tzcode/tzcode_2014c-1_i686-linux-glibc_all.opk.
    Installing tzdata (2014c-1) on root.
    Downloading http://mirror.gnu.dk/pub/proteanos/feeds/dev/trunk/all/all/base/../../../../../../pool/t/tzdata/tzdata_2014c-1_all_all.opk.
    Package tzdata (2014c-1) installed in root is up to date.
    Installing tzdata-factory (2014c-1) on root.
    Downloading http://mirror.gnu.dk/pub/proteanos/feeds/dev/trunk/all/all/base/../../../../../../pool/t/tzdata/tzdata-factory_2014c-1_all_all.opk.
    Installing tzdata-northamerica (2014c-1) on root.
    Downloading http://mirror.gnu.dk/pub/proteanos/feeds/dev/trunk/all/all/base/../../../../../../pool/t/tzdata/tzdata-northamerica_2014c-1_all_all.opk.
    Installing tzdata-africa (2014c-1) on root.
    Downloading http://mirror.gnu.dk/pub/proteanos/feeds/dev/trunk/all/all/base/../../../../../../pool/t/tzdata/tzdata-africa_2014c-1_all_all.opk.
    Installing tzdata-etcetera (2014c-1) on root.
    Downloading http://mirror.gnu.dk/pub/proteanos/feeds/dev/trunk/all/all/base/../../../../../../pool/t/tzdata/tzdata-etcetera_2014c-1_all_all.opk.
    Installing tzdata-australasia (2014c-1) on root.
    Downloading http://mirror.gnu.dk/pub/proteanos/feeds/dev/trunk/all/all/base/../../../../../../pool/t/tzdata/tzdata-australasia_2014c-1_all_all.opk.
    Installing tzdata-europe (2014c-1) on root.
    Downloading http://mirror.gnu.dk/pub/proteanos/feeds/dev/trunk/all/all/base/../../../../../../pool/t/tzdata/tzdata-europe_2014c-1_all_all.opk.
    Installing tzdata-southamerica (2014c-1) on root.
    Downloading http://mirror.gnu.dk/pub/proteanos/feeds/dev/trunk/all/all/base/../../../../../../pool/t/tzdata/tzdata-southamerica_2014c-1_all_all.opk.
    Installing tzdata-antarctica (2014c-1) on root.
    Downloading http://mirror.gnu.dk/pub/proteanos/feeds/dev/trunk/all/all/base/../../../../../../pool/t/tzdata/tzdata-antarctica_2014c-1_all_all.opk.
    Installing tzdata-asia (2014c-1) on root.
    Downloading http://mirror.gnu.dk/pub/proteanos/feeds/dev/trunk/all/all/base/../../../../../../pool/t/tzdata/tzdata-asia_2014c-1_all_all.opk.
    Configuring tzdata.
    Configuring tzdata-factory.
    Configuring tzdata-northamerica.
    Configuring tzdata-africa.
    Configuring tzcode.
    Configuring tzdata-etcetera.
    Configuring tzdata-australasia.
    Configuring tzdata-europe.
    Configuring tzdata-southamerica.
    Configuring tzdata-antarctica.
    Configuring tzdata-asia.
    
    Configure the time zone
    =======================
    
    Please identify a location so that time zone rules can be set correctly.
    Please select a continent, ocean, "coord", or "TZ".
     1) Africa
     2) Americas
     3) Antarctica
     4) Arctic Ocean
     5) Asia
     6) Atlantic Ocean
     7) Australia
     8) Europe
     9) Indian Ocean
    10) Pacific Ocean
    11) coord - I want to use geographical coordinates.
    12) TZ - I want to specify the time zone using the Posix TZ format.
    #? 2
    Please select a country whose clocks agree with yours.
     1) Anguilla
     2) Antigua & Barbuda
     3) Argentina
     4) Aruba
     5) Bahamas
     6) Barbados
     7) Belize
     8) Bolivia
     9) Brazil
    10) Canada
    11) Caribbean Netherlands
    12) Cayman Islands
    13) Chile
    14) Colombia
    15) Costa Rica
    16) Cuba
    17) Curacao
    18) Dominica
    19) Dominican Republic
    20) Ecuador
    21) El Salvador
    22) French Guiana
    23) Greenland
    24) Grenada
    25) Guadeloupe
    26) Guatemala
    27) Guyana
    28) Haiti
    29) Honduras
    30) Jamaica
    31) Martinique
    32) Mexico
    33) Montserrat
    34) Nicaragua
    35) Panama
    36) Paraguay
    37) Peru
    38) Puerto Rico
    39) St Barthelemy
    40) St Kitts & Nevis
    41) St Lucia
    42) St Maarten (Dutch part)
    43) St Martin (French part)
    44) St Pierre & Miquelon
    45) St Vincent
    46) Suriname
    47) Trinidad & Tobago
    48) Turks & Caicos Is
    49) United States
    50) Uruguay
    51) Venezuela
    52) Virgin Islands (UK)
    53) Virgin Islands (US)
    #? 49
    Please select one of the following time zone regions.
     1) Eastern Time
     2) Eastern Time - Michigan - most locations
     3) Eastern Time - Kentucky - Louisville area
     4) Eastern Time - Kentucky - Wayne County
     5) Eastern Time - Indiana - most locations
     6) Eastern Time - Indiana - Daviess, Dubois, Knox & Martin Counties
     7) Eastern Time - Indiana - Pulaski County
     8) Eastern Time - Indiana - Crawford County
     9) Eastern Time - Indiana - Pike County
    10) Eastern Time - Indiana - Switzerland County
    11) Central Time
    12) Central Time - Indiana - Perry County
    13) Central Time - Indiana - Starke County
    14) Central Time - Michigan - Dickinson, Gogebic, Iron & Menominee Counties
    15) Central Time - North Dakota - Oliver County
    16) Central Time - North Dakota - Morton County (except Mandan area)
    17) Central Time - North Dakota - Mercer County
    18) Mountain Time
    19) Mountain Time - south Idaho & east Oregon
    20) Mountain Standard Time - Arizona (except Navajo)
    21) Pacific Time
    22) Alaska Time
    23) Alaska Time - Alaska panhandle
    24) Alaska Time - southeast Alaska panhandle
    25) Alaska Time - Alaska panhandle neck
    26) Alaska Time - west Alaska
    27) Aleutian Islands
    28) Metlakatla Time - Annette Island
    29) Hawaii
    #? 1
    
    The following information has been given:
    
            United States
            Eastern Time
    
    Therefore TZ='America/New_York' will be used.
    Local time is now:      Wed Jul 23 12:42:06 EDT 2014.
    Universal Time is now:  Wed Jul 23 16:42:06 UTC 2014.
    Is the above information OK?
    1) Yes
    2) No
    #? 1
    
    You can make this change permanent for yourself by appending the line
            TZ='America/New_York'; export TZ
    to the file '.profile' in your home directory; then log out and log in again.
    
    Here is that TZ value again, this time on standard output so that you
    can use the /usr/sbin/tzselect command in shell scripts:
    
    Removing package tzcode from root...
    Removing package tzdata-factory from root...
    Removing package tzdata-africa from root...
    Removing package tzdata-etcetera from root...
    Removing package tzdata-australasia from root...
    Removing package tzdata-europe from root...
    Removing package tzdata-southamerica from root...
    Removing package tzdata-antarctica from root...
    Removing package tzdata-asia from root...
    Installing lilo (24.0-2) on root.
    Downloading http://mirror.gnu.dk/pub/proteanos/feeds/dev/trunk/i686-linux-glibc/all/base/../../../../../../pool/l/lilo/lilo_24.0-2_i686-linux-glibc_all.opk.
    Installing config-lilo (1.2) on root.
    Downloading http://mirror.gnu.dk/pub/proteanos/feeds/dev/trunk/all/dimension2400/base/../../../../../../pool/c/config-dimension2400/config-lilo_1.2_all_dimension2400.opk.
    Installing config-dimension2400-common (1.2) on root.
    Downloading http://mirror.gnu.dk/pub/proteanos/feeds/dev/trunk/all/all/base/../../../../../../pool/c/config-dimension2400/config-dimension2400-common_1.2_all_all.opk.
    Configuring config-dimension2400-common.
    Configuring config-lilo.
    Configuring lilo.
    
    Install the boot loader
    =======================
    
    Name of root partition on running system (e.g. "sda1"): sda1
    
    Reading boot sector from /dev/sdd
    Warning: /dev/sdd is not on the first disk
    Warning: Unable to determine video adapter in use in the present system.
    Using BITMAP secondary loader
    Calling map_insert_data
    Mapping bitmap file /boot/tuxlogo.bmp
    Warning: Video adapter does not support VESA BIOS extensions needed for
      display of 256 colors.  Boot loader will fall back to TEXT only operation.
    Calling map_insert_file
    
    Boot image: /boot/vmlinuz
    Added ProteanOS_1.0  *
    
    Boot image: /boot/vmlinuz.old
    Added ProteanOS_1.0_~
    
    Boot image: /boot/vmlinuz
    Added ProteanOS_1.0_+
    
    Writing boot sector.
    Backup copy of boot sector in /boot/boot.0830
    3 warnings were issued.
    
    Installation complete!
    
    Exiting...

[miniprokit-git]: http://git.proteanos.com/miniprokit/miniprokit.git/