Xv6移植到vf2

能启动到sh。
1735965775788

两个问题:
1、显示不对齐。显示时必须用回车换行代替换行。
2、写到sd卡的fs.img只能运行一次,重启就会报错,原因是再次读出的根目录是错的,不知道是不是启动后运行会写sd卡,导致根目录问题,有时间再看代码,调试。
源码放在github.com:ahczgy/xv6vf1.git。希望各位不惜指点。

1 Like

已将user目录下的所有用户程序printf函数里的’\n’改为’\r\n’,效果好多了:

      .              1 1 1024
..             1 1 1024
test           1 2 32
cat            2 3 32744
echo           2 4 31632
forktest       2 5 15664
grep           2 6 36080
init           2 7 32216
kill           2 8 31616
ln             2 9 31424
ls             2 10 34632
mkdir          2 11 31688
rm             2 12 31680
sh             2 13 53864
stressfs       2 14 32400
usertests      2 15 181696
grind          2 16 47600
wc             2 17 33736
zombie         2 18 31072
console        3 19 0
$ ls
    .              1 1 1024
..             1 1 1024
test           1 2 32
cat            2 3 32744
echo           2 4 31632
forktest       2 5 15664
grep           2 6 36080
init           2 7 32216
kill           2 8 31616
ln             2 9 31424
ls             2 10 34632
mkdir          2 11 31688
rm             2 12 31680
sh             2 13 53864
stressfs       2 14 32400
usertests      2 15 181696
grind          2 16 47600
wc             2 17 33736
zombie         2 18 31072
console        3 19 0
$ pwd
     exec pwd failed
                    $ ls
                        .              1 1 1024
..             1 1 1024
test           1 2 32
cat            2 3 32744
echo           2 4 31632
forktest       2 5 15664
grep           2 6 36080
init           2 7 32216
kill           2 8 31616
ln             2 9 31424
ls             2 10 34632
mkdir          2 11 31688
rm             2 12 31680
sh             2 13 53864
stressfs       2 14 32400
usertests      2 15 181696
grind          2 16 47600
wc             2 17 33736
zombie         2 18 31072
console        3 19 0
$ ln ls ll
          $ ll
              .              1 1 1024
..             1 1 1024
test           1 2 32
cat            2 3 32744
echo           2 4 31632
forktest       2 5 15664
grep           2 6 36080
init           2 7 32216
kill           2 8 31616
ln             2 9 31424
ls             2 10 34632
mkdir          2 11 31688
rm             2 12 31680
sh             2 13 53864
stressfs       2 14 32400
usertests      2 15 181696
grind          2 16 47600
wc             2 17 33736
zombie         2 18 31072
console        3 19 0
ll             2 10 34632
$ ll
    .              1 1 1024
..             1 1 1024
test           1 2 32
cat            2 3 32744
echo           2 4 31632
forktest       2 5 15664
grep           2 6 36080
init           2 7 32216
kill           2 8 31616
ln             2 9 31424
ls             2 10 34632
mkdir          2 11 31688
rm             2 12 31680
sh             2 13 53864
stressfs       2 14 32400
usertests      2 15 181696
grind          2 16 47600
wc             2 17 33736
zombie         2 18 31072
console        3 19 0
ll             2 10 34632
$ ls
    .              1 1 1024
..             1 1 1024
test           1 2 32
cat            2 3 32744
echo           2 4 31632
forktest       2 5 15664
grep           2 6 36080
init           2 7 32216
kill           2 8 31616
ln             2 9 31424
ls             2 10 34632
mkdir          2 11 31688
rm             2 12 31680
sh             2 13 53864
stressfs       2 14 32400
usertests      2 15 181696
grind          2 16 47600
wc             2 17 33736
zombie         2 18 31072
console        3 19 0
ll             2 10 34632
$ ll
    .              1 1 1024
..             1 1 1024
test           1 2 32
cat            2 3 32744
echo           2 4 31632
forktest       2 5 15664
grep           2 6 36080
init           2 7 32216
kill           2 8 31616
ln             2 9 31424
ls             2 10 34632
mkdir          2 11 31688
rm             2 12 31680
sh             2 13 53864
stressfs       2 14 32400
usertests      2 15 181696
grind          2 16 47600
wc             2 17 33736
zombie         2 18 31072
console        3 19 0
ll             2 10 34632
$