summaryrefslogtreecommitdiffstats
path: root/doc/install/pc.mdwn
blob: 5906ed9c727a3f1fbf5e600be54b5035d0d06782 (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
[[!meta title="PC Installation"]]

[[←_Back_to_Installing_ProteanOS|doc/install]]

**NOTE:** These instructions use a feature in an unreleased version of the
ProteanOS Development Kit.  You'll need to have built prokit from its Git
repository to use the PC installer.  The installer interface is also subject to
change.

This guide explains how to use the interactive installer program distributed
with prokit, the ProteanOS Development Kit, to install ProteanOS on a PC
platform.

It is assumed that you have already
[[built_and_optionally_installed_prokit|doc/install/prokit]].


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

Make sure you have a computer supported by ProteanOS.  Currently, the Acer
Aspire One AO751h, Dell Dimension 2400, and Lenovo ThinkPad X60/X60s/X60t 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 2.5" SATA drive or from a storage
device connected over USB (e.g. a flash drive), while the Dell Dimension 2400
can only boot 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.


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

From your prokit build directory, run the `installers/pc` script as the
superuser to begin the installation.

Answer the installer's questions ("Select a platform:" and "Select a block
device:") and it will install and configure ProteanOS and a boot loader 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/PATA to USB adapter:

    $ sudo installers/pc
    
    Select a platorm
    ================
    
    Select a platform:
    1) Acer Aspire One AO751h
    2) Dell Dimension 2400
    3) Lenovo ThinkPad X60/X60s/X60t
    #? 2
    
    Select a block device
    =====================
    
    Select a block device:
    1) ATA      WDC WD3200BEKT-6 (sda) - 320.07 GB (298.09 GiB)
    2) ST316021 5ACE             (sdb) - 160.04 GB (149.05 GiB)
    #? 2
    
    Making partition table and file system
    ======================================
    
    1+0 records in
    1+0 records out
    512 bytes (512 B) copied, 0.00334818 s, 153 kB/s
    Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
    Building a new DOS disklabel with disk identifier 0x51011a81.
    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
    ======================
    
    prokit: Using architecture i686-linux-glibc
    prokit: Using platform dimension2400
    prokit: Using mirror http://us.mirror.gnu.dk/pub/proteanos
    prokit: Setting up root...
    prokit: Configuring opkg and retrieving Packages files...
    prokit: Downloading base-files...
    prokit: Unpacking base-files...
    prokit: Downloading busybox...
    prokit: Unpacking busybox...
    prokit: Downloading config-base...
    prokit: Unpacking config-base...
    prokit: Downloading config-dimension2400-common...
    prokit: Unpacking config-dimension2400-common...
    prokit: Downloading libc.6...
    prokit: Unpacking libc.6...
    prokit: Downloading libopkg.1...
    prokit: Unpacking libopkg.1...
    prokit: Downloading linux-common...
    prokit: Unpacking linux-common...
    prokit: Downloading linux-image...
    prokit: Unpacking linux-image...
    prokit: Downloading opkg...
    prokit: Unpacking opkg...
    prokit: Downloading proteanos-branding...
    prokit: Unpacking proteanos-branding...
    prokit: Configuring packages...
    Package base-files (1.0.3) installed in root is up to date.
    Package busybox (1.21.1-12) installed in root is up to date.
    Package config-base (1.5) installed in root is up to date.
    Package config-dimension2400-common (1.5) 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-common (3.10.55~gnu-1) installed in root is up to date.
    Package linux-image (3.10.55~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.2) installed in root is up to date.
    Configuring linux-common.
    Configuring libopkg.1.
    Configuring opkg.
    Configuring libc.6.
    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
    update-alternatives: Linking //usr/bin/patch to /usr/bin/patch.busybox
    Configuring base-files.
    Configuring config-dimension2400-common.
    Configuring proteanos-branding.
    Configuring config-base.
    Configuring linux-image.
    
    Installing boot loader
    ======================
    
    Installing lilo (24.0-2) on root.
    Downloading http://us.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.5) on root.
    Downloading http://us.mirror.gnu.dk/pub/proteanos/feeds/dev/trunk/all/dimension2400/base/../../../../../../pool/c/config-dimension2400/config-lilo_1.5_all_dimension2400.opk.
    Configuring config-lilo.
    Configuring lilo.
    Reading boot sector from /dev/sdb
    Warning: /dev/sdb 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.0810
    3 warnings were issued.