linux su ntfs

Forum dedicato agli studenti del corso linux e a tutti gli amanti del pinguino!

Moderatore: matteo

linux su ntfs

Messaggioda matteo » mer ott 17, 2007 5:44 pm

ok.
sono riuscito ad installare, come promesso, slackware su partizione XP. Mi è rimasto solo un problemino (un fatal, purtroppo) da risolvere.
Ora ho poco tempo, per cui vi copio i passi con poca spiegazione; poi li spiegherò.
E se avete un po' di pazienza poi vi installo anche ubuntu.

Le operazioni da fare sono un po', nessuna complicata in se stessa; complicato è solo metterle insieme, per cui cercate di non perdervi troppo.

I passi a grande linee sono:
1) creare il file su cui installare linux
2) installare linux dentro quel file
3) installare il bootloader all'interno di un altro file
4) inserire il bootloader in boot.ini di windows
5) rebootare
6) (quasi facoltativo) a. creare il file di swap, b. configurare la swap
7) (facoltativo) a. creare nuovi file/filesystem, b. formattarli e montarli

I passi 1, 4, 6a e 7a andranno fatti da windows
Il passo 2 va fatto, ovviamente, dall'installer di slackware
Il passo 3 va fatto da knoppix

Tenete tutto l'occorrente a disposizione.

Passo UNO, creare il file su cui installare linux:
- avviare windows
- Start->Esegui-> cmd
1#C:> cd \
2#C:> mkdir LINUX
3#C:> cd LINUX
4#C:> mkdir boot
5#C:> fsutil file createnew rootlinux.img 1000000000
Il file C:\LINUX\rootlinux.img è stato creato
6#C:> dir
17/10/2007 11.06 1.000.000.000 rootlinux.img
- inserire il cd di slackware e rebootare
- al prompt dell'installazione:
1#/> mkdir /xp
2#/> mount /dev/hda1 /xp
3#/> dmesg|tail
NTFS-fs error (device hda1): load_system_files(): Volume has unsupported flags set. Mounting read-only. Run chkdsk and mount in Windows.
4#/> reboot
- avviare in windows
- è probabile che parta il chkdsk; se non parte:
- Start -> Esegui -> cmd
11#C:> chkdsk C: /f /l /x
- verrà schedulato il chkdsk per il prossimo reboot
- riavviare. Partirà il chkdsk; il sistema sarà riavviato automaticamente
- entrare dentro windows e riavviare
- rieseguire l'installer di slackware
1#/> mkdir /xp
2#/> mount /dev/hda1 /xp
3#/> dmesg|tail
NTFS volume version 3.1.
4#/> losetup /dev/loop0 /xp/LINUX/rootlinux.img
5#/> mke2fs -j /dev/loop0
6#/> mount /dev/loop0 /mnt
7#/> setup
NO LINUX PARTITION FOUND (ignoriamo il messaggio)
- continuare con la configurazione normale
- saltare TARGET e non configurare NTFS or FAT partitions
- all'INSTALL darà
CANNOT INSTALL SOFTWARE YET (non gli abbiamo detto dove)
- lo inganniamo: premere ALT+F2
8#/> touch /tmp/SeTnative
- ALT+F1 e riscegliamo INSTALL
- continuiamo la configurazione in modo classico
- a lilo scegliamo SIMPLE e ROOT come device
ovviamente fallirà, però almeno ci ha creato un lilo.conf di base
9#/> chroot /mnt
10#/$ cd /usr/share/mkinitrd
11#mkinitrd/$ mkdir initrd
12#mkinitrd/$ cd initrd
13#initrd/$ tar zxf ../initrd-tree.tar.gz
14#initrd/$ vi init
- dopo "# Switch to real root partition:" aggiungere
mount -t ntfs /dev/hda1 /xp
losetup $ROOTDEV /xp/LINUX/rootlinux.img
- sia in fondo, sia prima di "exit 1" aggiungere, per debug:
/bin/sh
15#initrd/$ mkdir xp
16#initrd/$ cp /sbin/losetup bin/
17#initrd/$ cp /lib/ld-linux.so.2 /lib/libc.so.6 lib/
18#initrd/$ mknod dev/loop0 b 7 0
19#initrd/$ mknod dev/loop0 b 3 0
20#initrd/$ mknod dev/loop0 b 3 1
21#initrd/$ mv ../initrd-tree.tar.gz ../initrd-tree.tar.gz-orig
22#initrd/$ tar czf ../initrd-tree.tar.gz .
23#initrd/$ cd /etc
24#/etc/$ vi lilo.conf
boot = /xp/bootsect.b
prompt
timeout = 1200
change-rules
reset
vga = normal
image = /boot/vmlinuz
label = linux
root = /dev/loop0
read-only
initrd=/boot/initrd.gz
25#/etc/$ exit
26#/> umount /mnt
27#/> umount /xp
28#/> reboot
- avviare con knoppix. Consiglio la modalità testo (knoppix 2 lang=it al prompt)
1#> mkdir /xp
2#> mkdir /slak
3#> mount -t ntfs-3g /dev/hda /xp
Volume is scheduled for check.
Please boot into Windows TWICE, or use the 'force' mount option.
4#> mount -t ntfs-3g -o force /dev/hda1 /xp
5#> mount -o loop /xp/LINUX/rootlinux.img /slak
6#> mkdir /xp/LINUX/boot
7#> rm /boot
8#> ln -s /slak/boot /
9#> chroot /slak
10#> cd /boot
11#> mkinitrd -c -f ext2 -r /dev/loop0
12#> exit
13#> cp /slak/boot/{vmlinuz,initrd.gz} /boot
14#> dd if=/dev/zero of=/xp/bootsect.b count=1
15#> lilo -C /slak/etc/lilo.conf
Added linux *
16#> vi /slak/etc/fstab
/dev/loop0 / ext3 defaults 1 0
17#> vi /xp/boot.ini
C:\bootsect.b="Linux"
17#> umount /slak
18#> umount /xp
19#> reboot
- riavviate in windows come prima, per forzare un check (poco fa a me l'ha chiesto)
- al boot vi verrà chiesto se caricare Windows o Linux. Scegliendo linux verrà caricato lilo. Premete ancora invio per caricare linux e pregate.

In teoria dovrebbe funzionare ora.
In pratica c'è ancora un grosso problema da risolvere, cioè che al boot sembrerebbe che initrd non riesca a montare in read-write l'ntfs:
NTFS-fs error (device hda1): load_system_files(): Volume has unsupported flags set. Mounting read-only. Run chkdsk and mount in Windows.

e sembra non se ne voglia andare nemmeno con il chkdsk e riavvio in windows.
io ho una teoria, e cioè che windows monti C: in read-write già da quando carica il boot.ini; quando lilo lancia il kernel, questo rimane in stato montato.
Sto cercando un workaround... vi terrò aggiornati.

Comunque è partito e correttamente finchè non prova a rimontare read-write il rootfs, allorchè si arrabbia, ovviamente, perchè l'ntfs è montata read-only
matteo
 
Messaggi: 327
Iscritto il: ven mar 17, 2006 10:22 am

Messaggioda matteo » mer ott 17, 2007 6:20 pm

In verità un work-around c'è, ma non mi piace.
Basta mettere il bootsector nel floppy. (l'ho provato e funziona)
I passi sono gli stessi solo che ci vuole 'boot=/dev/fd0'
però i portatili non hanno il floppy

magari si può fare su pendrive

ciao,
matteo
 
Messaggi: 327
Iscritto il: ven mar 17, 2006 10:22 am

Messaggioda matteo » gio ott 18, 2007 10:04 am

Questo tutorial lo stò portando avanti anche su slacky.eu
http://www.slacky.eu/forum/viewtopic.php?t=21286
matteo
 
Messaggi: 327
Iscritto il: ven mar 17, 2006 10:22 am

Messaggioda matteo » gio ott 18, 2007 11:39 pm

L'ho messo sul nostro wiki

http://wiki.frattocchie.it/Slackware_su_ntfs

Ciao, Matteo
matteo
 
Messaggi: 327
Iscritto il: ven mar 17, 2006 10:22 am

Messaggioda matteo » dom ott 28, 2007 12:11 pm

Per ubuntu invece c'è già fatto Wubi.
Wubi installa una delle *ubuntu 7.04

La sto installando... appena ho finito vi faccio sapere.

Blog italiani su Wubi

Riporto l'articolo

Wubi is an unofficial Ubuntu installer for Windows users that will bring you into the Linux world with a single click. Wubi allows you to install and uninstall Ubuntu as any other application. If you heard about Linux and Ubuntu, if you wanted to try them but you were afraid, this is for you.



Wubi is Safe

It does not require you to modify the partitions of your PC, or to use a different bootloader.

Wubi is Simple

Just run the installer, no need to burn a CD.

Wubi is Discrete

Wubi keeps most of the files in one folder, and If you do not like, you can simply uninstall it.

Wubi is Free

Wubi (like Ubuntu) is free as in beer and as in freedom. You will get this part later on, the important thing now is that it cost absolutely nothing, it is our gift to you...
matteo
 
Messaggi: 327
Iscritto il: ven mar 17, 2006 10:22 am


Torna a Unix, Linux & reti

Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti

cron